PInterfaceMonitorClient Class Reference

#include <psockbun.h>

Inheritance diagram for PInterfaceMonitorClient:

PSafeObject PObject PMonitoredSockets PMonitoredSocketBundle PSingleMonitoredSocket

List of all members.

Public Types

enum  { DefaultPriority = 50 }
typedef PIPSocket::InterfaceEntry InterfaceEntry

Public Member Functions

 PInterfaceMonitorClient (PINDEX priority=DefaultPriority)
 ~PInterfaceMonitorClient ()
virtual PStringArray GetInterfaces (bool includeLoopBack=false, const PIPSocket::Address &destination=PIPSocket::GetDefaultIpAny())
virtual PBoolean GetInterfaceInfo (const PString &iface, InterfaceEntry &info) const
PINDEX GetPriority () const

Protected Member Functions

virtual void OnAddInterface (const InterfaceEntry &entry)=0
 Call back function for when an interface has been added to the system.
virtual void OnRemoveInterface (const InterfaceEntry &entry)=0
 Call back function for when an interface has been removed from the system.
virtual void OnRemoveNatMethod (const PNatMethod *)
 Called when a NAT method is about to be destroyed.

Protected Attributes

PINDEX priority

Friends

class PInterfaceMonitor


Detailed Description

This is a base class for clients of the PInterfaceMonitor singleton object. The OnAddInterface() and OnRemoveInterface() functions are called in the context of a thread that is monitoring interfaces. The client object is locked for Read/Write before these functions are called.

Member Typedef Documentation


Member Enumeration Documentation

anonymous enum

Enumerator:
DefaultPriority 


Constructor & Destructor Documentation

PInterfaceMonitorClient::PInterfaceMonitorClient ( PINDEX  priority = DefaultPriority  ) 

PInterfaceMonitorClient::~PInterfaceMonitorClient (  ) 


Member Function Documentation

virtual PBoolean PInterfaceMonitorClient::GetInterfaceInfo ( const PString iface,
InterfaceEntry info 
) const [virtual]

Return information about an active interface given the descriptor string. Note that when searchin the descriptor may be a partial match e.g. "10.0.1.11" or "%eth0" may be used.

Parameters:
info Interface desciptor name Information on the interface

virtual PStringArray PInterfaceMonitorClient::GetInterfaces ( bool  includeLoopBack = false,
const PIPSocket::Address destination = PIPSocket::GetDefaultIpAny() 
) [virtual]

Get an array of all current interface descriptors, possibly including the loopback (127.0.0.1) interface. Note the names are of the form ipname, eg "10.0.1.11%3Com 3C90x Ethernet Adapter" or "192.168.0.10%eth0". If destination is not 'any' and a filter is set, filters the interface list before returning it.

Parameters:
destination Flag for if loopback is to included in list destination

PINDEX PInterfaceMonitorClient::GetPriority (  )  const [inline]

Returns the priority of this client. A higher value means higher priority. Higher priority clients get their callback functions called first. Clients with the same priority get called in the order of their insertion.

References priority.

virtual void PInterfaceMonitorClient::OnAddInterface ( const InterfaceEntry entry  )  [protected, pure virtual]

Call back function for when an interface has been added to the system.

Implemented in PMonitoredSocketBundle, and PSingleMonitoredSocket.

virtual void PInterfaceMonitorClient::OnRemoveInterface ( const InterfaceEntry entry  )  [protected, pure virtual]

Call back function for when an interface has been removed from the system.

Implemented in PMonitoredSocketBundle, and PSingleMonitoredSocket.

virtual void PInterfaceMonitorClient::OnRemoveNatMethod ( const PNatMethod  )  [inline, protected, virtual]

Called when a NAT method is about to be destroyed.

Reimplemented in PMonitoredSockets.


Friends And Related Function Documentation

friend class PInterfaceMonitor [friend]


Member Data Documentation

Referenced by GetPriority().


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

Generated on Fri Apr 10 22:33:51 2009 for PTLib by  doxygen 1.5.8