util: NetworkMonitor: fine-grained signals on interface/address changes
Change-Id: I60d4cc6d673b920ba81d57502977f0340be0da48
Refs: #3353
diff --git a/src/util/network-monitor.cpp b/src/util/network-monitor.cpp
index a12e373..ccb5418 100644
--- a/src/util/network-monitor.cpp
+++ b/src/util/network-monitor.cpp
@@ -1,6 +1,6 @@
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
/**
- * Copyright (c) 2013-2016 Regents of the University of California.
+ * Copyright (c) 2013-2017 Regents of the University of California.
*
* This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
*
@@ -17,10 +17,12 @@
* <http://www.gnu.org/licenses/>.
*
* See AUTHORS.md for complete list of ndn-cxx authors and contributors.
+ *
+ * @author Alexander Afanasyev <alexander.afanasyev@ucla.edu>
+ * @author Davide Pesavento <davide.pesavento@lip6.fr>
*/
#include "network-monitor.hpp"
-
#include "ndn-cxx-config.hpp"
#if defined(NDN_CXX_HAVE_COREFOUNDATION_COREFOUNDATION_H)
@@ -50,11 +52,23 @@
namespace util {
NetworkMonitor::NetworkMonitor(boost::asio::io_service& io)
- : m_impl(new Impl(*this, io))
+ : m_impl(make_unique<Impl>(*this, io))
{
}
NetworkMonitor::~NetworkMonitor() = default;
+shared_ptr<NetworkInterface>
+NetworkMonitor::getNetworkInterface(const std::string& ifname) const
+{
+ return m_impl->getNetworkInterface(ifname);
+}
+
+std::vector<shared_ptr<NetworkInterface>>
+NetworkMonitor::listNetworkInterfaces() const
+{
+ return m_impl->listNetworkInterfaces();
+}
+
} // namespace util
} // namespace ndn