8 #ifndef OPENDDS_DCPS_LINUXNETWORKCONFIGMONITOR_H 9 #define OPENDDS_DCPS_LINUXNETWORKCONFIGMONITOR_H 11 #include "ace/config.h" 13 #if (defined(ACE_LINUX) || defined(ACE_ANDROID)) && !defined(OPENDDS_SAFETY_PROFILE) 15 #define OPENDDS_LINUX_NETWORK_CONFIG_MONITOR 30 :
public virtual RcEventHandler
31 ,
public virtual NetworkConfigMonitor
39 class OpenHandler :
public ReactorInterceptor::Command {
41 OpenHandler(
const RcHandle<LinuxNetworkConfigMonitor>& lncm)
48 virtual ~OpenHandler() {}
55 WeakRcHandle<LinuxNetworkConfigMonitor> lncm_;
57 mutable ConditionVariable<ACE_Thread_Mutex> condition_;
64 class CloseHandler :
public ReactorInterceptor::Command {
66 CloseHandler(
const RcHandle<LinuxNetworkConfigMonitor>& lncm)
73 virtual ~CloseHandler() {}
80 WeakRcHandle<LinuxNetworkConfigMonitor> lncm_;
82 mutable ConditionVariable<ACE_Thread_Mutex> condition_;
90 int handle_input(ACE_HANDLE);
92 void process_message(
const nlmsghdr*
header);
94 ACE_SOCK_Netlink socket_;
98 struct NetworkInterface {
103 : can_multicast(false)
107 bool a_can_multicast)
109 , can_multicast(a_can_multicast)
113 typedef OPENDDS_MAP(
int, NetworkInterface) NetworkInterfaceMap;
114 NetworkInterfaceMap network_interface_map_;
122 #endif // ACE_LINUX || ACE_ANDROID 124 #endif // OPENDDS_DCPS_LINUXNETWORKCONFIGPUBLISHER_H
#define OpenDDS_Dcps_Export
int close(ACE_HANDLE handle)
ACE_HANDLE open(const char *filename, int mode, mode_t perms=ACE_DEFAULT_OPEN_PERMS, LPSECURITY_ATTRIBUTES sa=0)
Christopher Diggins *renamed files *fixing compilation errors *adding Visual C project file *removed make Max Lybbert *removed references to missing and unused header
ACE_HANDLE get_handle(void)
WeakRcHandle< ReactorInterceptor > ReactorInterceptor_wrch
RcHandle< ReactorInterceptor > ReactorInterceptor_rch
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
The Internal API and Implementation of OpenDDS.
typedef OPENDDS_MAP(OPENDDS_STRING, OPENDDS_STRING) ValueMap
Helper types and functions for config file parsing.