22 #ifndef NDN_UTIL_NETWORK_MONITOR_IMPL_OSX_HPP
23 #define NDN_UTIL_NETWORK_MONITOR_IMPL_OSX_HPP
25 #include "ndn-cxx-config.hpp"
26 #include "../network-monitor.hpp"
28 #ifndef NDN_CXX_HAVE_COREFOUNDATION_COREFOUNDATION_H
29 #error "This file should not be compiled ..."
32 #include "../scheduler.hpp"
33 #include "../scheduler-scoped-event-id.hpp"
35 #include <CoreFoundation/CoreFoundation.h>
36 #include <SystemConfiguration/SystemConfiguration.h>
41 class NetworkMonitor::Impl
55 shared_ptr<NetworkInterface>
58 std::vector<shared_ptr<NetworkInterface>>
66 CFDictionaryRef userInfo);
78 Scheduler m_scheduler;
85 #endif // NDN_UTIL_NETWORK_MONITOR_IMPL_OSX_HPP
Impl(NetworkMonitor &nm, boost::asio::io_service &io)
Copyright (c) 2013-2016 Regents of the University of California.
Network interfaces monitor.
NetworkMonitor(boost::asio::io_service &io)
Construct instance, request enumeration of all network interfaces, and start monitoring for network s...
static void afterNotificationCenterEvent(CFNotificationCenterRef center, void *observer, CFStringRef name, const void *object, CFDictionaryRef userInfo)
std::vector< shared_ptr< NetworkInterface > > listNetworkInterfaces() const
uint32_t getCapabilities() const
Event that is automatically cancelled upon destruction.
shared_ptr< NetworkInterface > getNetworkInterface(const std::string &) const
NetworkMonitor is not supported and is a no-op.