31 #ifndef PTLIB_PSOCKBUN_H
32 #define PTLIB_PSOCKBUN_H
47 #define PINTERFACE_MONITOR_FACTORY_NAME "InterfaceMonitor"
57 PIPSocket::InterfaceTable & interfaces)
const = 0;
81 bool runMonitorThread =
true
111 bool includeLoopBack =
false,
160 :
m_added(added), m_natMethod(natMethod) { }
162 const PNatMethod *
const m_natMethod;
170 #define PDECLARE_InterfaceNotifier(cls, fn) PDECLARE_NOTIFIER2(PInterfaceMonitor, cls, fn, PInterfaceMonitor::InterfaceChange)
173 #define PCREATE_InterfaceNotifier(fn) PCREATE_NOTIFIER2(fn, PInterfaceMonitor::InterfaceChange)
196 void OnRemoveNatMethod(
const PNatMethod * natMethod);
205 virtual void OnInterfacesChanged(
const PIPSocket::InterfaceTable & addedInterfaces,
const PIPSocket::InterfaceTable & removedInterfaces);
320 bool includeLoopBack =
false,
338 ) { natMethod = method; }
341 PNatMethod * GetNatMethod()
const {
return natMethod; }
363 bool reuseAddr =
false
369 virtual void OnRemoveNatMethod(
370 const PNatMethod * natMethod
408 PNatMethod * natMethod;
431 const PMonitoredSocketsPtr & sockets,
542 const PString & fixedInterface,
556 bool includeLoopBack =
false,
608 void CloseSocket(SocketInfoMap_T::iterator iterSocket);
638 bool includeLoopBack =
false,
696 #endif // PTLIB_PSOCKBUN_H