#include <psockbun.h>
Inheritance diagram for PInterfaceMonitorClient:
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) |
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 |
PInterfaceMonitorClient::PInterfaceMonitorClient | ( | PINDEX | priority = DefaultPriority |
) |
PInterfaceMonitorClient::~PInterfaceMonitorClient | ( | ) |
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.
destination | Flag for if loopback is to included in list destination |
virtual PBoolean PInterfaceMonitorClient::GetInterfaceInfo | ( | const PString & | iface, | |
InterfaceEntry & | info | |||
) | [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.
info | Interface desciptor name Information on the interface |
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.
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.
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.
virtual void PInterfaceMonitorClient::OnRemoveNatMethod | ( | const PNatMethod * | ) | [inline, protected, virtual] |
friend class PInterfaceMonitor [friend] |
PINDEX PInterfaceMonitorClient::priority [protected] |