ariba::communication::NetworkChangeDetection Class Reference

#include <source/ariba/communication/networkinfo/NetworkChangeDetection.h>

Inheritance diagram for ariba::communication::NetworkChangeDetection:

Inheritance graph
[legend]
Collaboration diagram for ariba::communication::NetworkChangeDetection:

Collaboration graph
[legend]

List of all members.

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 extractInterfaceEvent (struct nlmsghdr *header)
NetworkChangeInterface::NetworkChangeInfo extractAddressEvent (struct nlmsghdr *header)

Static Private Member Functions

static void monitoringThreadFunc (NetworkChangeDetection *obj)

Private Attributes

RegistrationList registrations
boost::thread * monitoringThread
volatile bool running
int routingSocket
NetworkInformation networkInformation


Detailed Description

Definition at line 76 of file NetworkChangeDetection.h.


Member Typedef Documentation

Definition at line 89 of file NetworkChangeDetection.h.


Constructor & Destructor Documentation

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().


Member Function Documentation

ariba::communication::NetworkChangeDetection::use_logging_h ( NetworkChangeDetection   )  [private]

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::unregisterNotification ( NetworkChangeInterface callback  ) 

Definition at line 65 of file NetworkChangeDetection.cpp.

References registrations.

void ariba::communication::NetworkChangeDetection::handleSystemEvent ( const SystemEvent event  )  [protected, virtual]

void ariba::communication::NetworkChangeDetection::startMonitoring (  )  [private]

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::monitoringThreadFunc ( NetworkChangeDetection obj  )  [static, private]

NetworkChangeInterface::NetworkChangeInfo ariba::communication::NetworkChangeDetection::extractInterfaceEvent ( struct nlmsghdr *  header  )  [private]

NetworkChangeInterface::NetworkChangeInfo ariba::communication::NetworkChangeDetection::extractAddressEvent ( struct nlmsghdr *  header  )  [private]


Member Data Documentation

Definition at line 90 of file NetworkChangeDetection.h.

Referenced by registerNotification(), and unregisterNotification().

Definition at line 95 of file NetworkChangeDetection.h.

Referenced by startMonitoring(), and stopMonitoring().

Definition at line 96 of file NetworkChangeDetection.h.

Referenced by monitoringThreadFunc(), startMonitoring(), and stopMonitoring().

Definition at line 99 of file NetworkChangeDetection.h.

Referenced by monitoringThreadFunc(), and stopMonitoring().

Definition at line 100 of file NetworkChangeDetection.h.

Referenced by extractAddressEvent(), and extractInterfaceEvent().


The documentation for this class was generated from the following files:

Generated on Wed May 27 18:24:01 2009 for Ariba by  doxygen 1.5.6