#include <source/ariba/communication/networkinfo/NetworkChangeDetection.h>
Inherits ariba::utility::SystemEventListener.
Public Member Functions | |
NetworkChangeDetection () | |
virtual | ~NetworkChangeDetection () |
void | registerNotification (NetworkChangeInterface *callback) |
void | unregisterNotification (NetworkChangeInterface *callback) |
Protected Member Functions | |
void | handleSystemEvent (const SystemEvent &event) |
Private Types | |
typedef vector < NetworkChangeInterface * > | RegistrationList |
Private Member Functions | |
use_logging_h (NetworkChangeDetection) | |
void | startMonitoring () |
void | stopMonitoring () |
NetworkChangeInterface::NetworkChangeInfo | extractAddressEvent (struct nlmsghdr *header) |
Static Private Member Functions | |
static void | monitoringThreadFunc (NetworkChangeDetection *obj) |
Private Attributes | |
RegistrationList | registrations |
volatile bool | running |
boost::thread * | monitoringThread |
int | routingSocket |
NetworkInformation | networkInformation |
Definition at line 76 of file NetworkChangeDetection.h.
typedef vector<NetworkChangeInterface*> ariba::communication::NetworkChangeDetection::RegistrationList [private] |
Definition at line 89 of file NetworkChangeDetection.h.
ariba::communication::NetworkChangeDetection::NetworkChangeDetection | ( | ) |
Definition at line 47 of file NetworkChangeDetection.cpp.
References startMonitoring().
ariba::communication::NetworkChangeDetection::~NetworkChangeDetection | ( | ) | [virtual] |
Definition at line 52 of file NetworkChangeDetection.cpp.
References stopMonitoring().
NetworkChangeInterface::NetworkChangeInfo ariba::communication::NetworkChangeDetection::extractAddressEvent | ( | struct nlmsghdr * | header | ) | [private] |
Definition at line 248 of file NetworkChangeDetection.cpp.
References ariba::communication::NetworkChangeInterface::EventTypeInterfaceDown, ariba::communication::NetworkChangeInterface::EventTypeInterfaceUp, ariba::communication::NetworkInformation::getInterface(), ariba::communication::NetworkChangeInterface::_NetworkChangeInfo::interface, logging_debug, networkInformation, and ariba::communication::NetworkChangeInterface::_NetworkChangeInfo::type.
Referenced by monitoringThreadFunc().
void ariba::communication::NetworkChangeDetection::handleSystemEvent | ( | const SystemEvent & | event | ) | [protected, virtual] |
Implements ariba::utility::SystemEventListener.
Definition at line 270 of file NetworkChangeDetection.cpp.
References ariba::utility::SystemEvent::getListener().
void ariba::communication::NetworkChangeDetection::monitoringThreadFunc | ( | NetworkChangeDetection * | obj | ) | [static, private] |
Definition at line 100 of file NetworkChangeDetection.cpp.
References extractAddressEvent(), ariba::utility::SystemQueue::instance(), logging_debug, logging_error, logging_info, ariba::communication::NetworkChangeDetectionEventType, routingSocket, running, and ariba::utility::SystemQueue::scheduleEvent().
Referenced by startMonitoring().
void ariba::communication::NetworkChangeDetection::registerNotification | ( | NetworkChangeInterface * | callback | ) |
Definition at line 56 of file NetworkChangeDetection.cpp.
References registrations.
Referenced by ariba::communication::BaseCommunication::start().
void ariba::communication::NetworkChangeDetection::startMonitoring | ( | ) | [private] |
Definition at line 74 of file NetworkChangeDetection.cpp.
References logging_debug, monitoringThread, monitoringThreadFunc(), and running.
Referenced by NetworkChangeDetection().
void ariba::communication::NetworkChangeDetection::stopMonitoring | ( | ) | [private] |
Definition at line 83 of file NetworkChangeDetection.cpp.
References logging_debug, monitoringThread, routingSocket, and running.
Referenced by ~NetworkChangeDetection().
void ariba::communication::NetworkChangeDetection::unregisterNotification | ( | NetworkChangeInterface * | callback | ) |
Definition at line 65 of file NetworkChangeDetection.cpp.
References registrations.
ariba::communication::NetworkChangeDetection::use_logging_h | ( | NetworkChangeDetection | ) | [private] |
boost::thread* ariba::communication::NetworkChangeDetection::monitoringThread [private] |
Definition at line 96 of file NetworkChangeDetection.h.
Referenced by startMonitoring(), and stopMonitoring().
Definition at line 100 of file NetworkChangeDetection.h.
Referenced by extractAddressEvent().
Definition at line 90 of file NetworkChangeDetection.h.
Referenced by registerNotification(), and unregisterNotification().
Definition at line 99 of file NetworkChangeDetection.h.
Referenced by monitoringThreadFunc(), and stopMonitoring().
volatile bool ariba::communication::NetworkChangeDetection::running [private] |
Definition at line 95 of file NetworkChangeDetection.h.
Referenced by monitoringThreadFunc(), startMonitoring(), and stopMonitoring().