PTLib  Version 2.14.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PIPSocket::InterfaceEntry Class Reference

Describe an interface table entry. More...

#include <ipsock.h>

Inheritance diagram for PIPSocket::InterfaceEntry:
Collaboration diagram for PIPSocket::InterfaceEntry:

Public Member Functions

 InterfaceEntry ()
 Create an interface entry from a name, IP addr and MAC addr. More...
 
 InterfaceEntry (const PString &name, const Address &addr, const Address &mask, const PString &macAddr)
 
virtual void PrintOn (ostream &strm) const
 Print to specified stream. More...
 
const PStringGetName () const
 Get the name of the interface. More...
 
Address GetAddress () const
 Get the address associated with the interface. More...
 
Address GetNetMask () const
 Get the net mask associated with the interface. More...
 
const PStringGetMACAddress () const
 Get the MAC address associate with the interface. More...
 
- Public Member Functions inherited from PObject
unsigned GetTraceContextIdentifier () const
 Get PTRACE context identifier. More...
 
void SetTraceContextIdentifier (unsigned id)
 
void GetTraceContextIdentifier (PObject &obj)
 
void GetTraceContextIdentifier (PObject *obj)
 
void SetTraceContextIdentifier (const PObject &obj)
 
void SetTraceContextIdentifier (const PObject *obj)
 
virtual ~PObject ()
 
virtual PObjectClone () const
 Create a copy of the class on the heap. More...
 
template<class CLS >
CLS * CloneAs () const
 As for Clone() but converts to specified type. More...
 
virtual PINDEX HashFunction () const
 This function yields a hash value required by the PDictionary class. More...
 
virtual Comparison Compare (const PObject &obj) const
 Compare the two objects and return their relative rank. More...
 
virtual Comparison CompareObjectMemoryDirect (const PObject &obj) const
 Determine the byte wise comparison of two objects. More...
 
bool operator== (const PObject &obj) const
 Compare the two objects. More...
 
bool operator!= (const PObject &obj) const
 Compare the two objects. More...
 
bool operator< (const PObject &obj) const
 Compare the two objects. More...
 
bool operator> (const PObject &obj) const
 Compare the two objects. More...
 
bool operator<= (const PObject &obj) const
 Compare the two objects. More...
 
bool operator>= (const PObject &obj) const
 Compare the two objects. More...
 
virtual const char * GetClass (unsigned ancestor=0) const
 Get the current dynamic type of the object instance. More...
 
PBoolean IsClass (const char *cls) const
 
virtual PBoolean InternalIsDescendant (const char *clsName) const
 Determine if the dynamic type of the current instance is a descendent of the specified class. More...
 
__inline const PObjectPTraceObjectInstance () const
 
virtual void ReadFrom (istream &strm)
 Input the contents of the object from the stream. More...
 

Static Public Member Functions

static void SanitiseName (PString &name)
 Sanitise a device name for use in PTLib. More...
 
- Static Public Member Functions inherited from PObject
static Comparison InternalCompareObjectMemoryDirect (const PObject *obj1, const PObject *obj2, PINDEX size)
 Internal function caled from CompareObjectMemoryDirect() More...
 
static const char * Class ()
 Get the name of the class as a C string. More...
 
static __inline const PObjectPTraceObjectInstance (const char *)
 
static __inline const PObjectPTraceObjectInstance (const PObject *obj)
 

Protected Attributes

PString m_name
 
Address m_ipAddress
 
Address m_netMask
 
PString m_macAddress
 
- Protected Attributes inherited from PObject
unsigned m_traceContextIdentifier
 

Additional Inherited Members

- Public Types inherited from PObject
enum  Comparison { LessThan = -1, EqualTo = 0, GreaterThan = 1 }
 Result of the comparison operation performed by the Compare() function. More...
 
- Protected Member Functions inherited from PObject
 PObject ()
 Constructor for PObject, made protected so cannot ever create one on its own. More...
 
- Friends inherited from PObject

Detailed Description

Describe an interface table entry.

Constructor & Destructor Documentation

PIPSocket::InterfaceEntry::InterfaceEntry ( )

Create an interface entry from a name, IP addr and MAC addr.

PIPSocket::InterfaceEntry::InterfaceEntry ( const PString name,
const Address addr,
const Address mask,
const PString macAddr 
)

Member Function Documentation

Address PIPSocket::InterfaceEntry::GetAddress ( ) const
inline

Get the address associated with the interface.

References m_ipAddress.

const PString& PIPSocket::InterfaceEntry::GetMACAddress ( ) const
inline

Get the MAC address associate with the interface.

References m_macAddress.

const PString& PIPSocket::InterfaceEntry::GetName ( ) const
inline

Get the name of the interface.

Note the name will havebeen sanitised of certain possible characters that can cause issues elsewhere in the system. Therefore, make sure that if you get a device name from some other source than the InterfaceEntry, the name is sanitised via PIPSocket::InterfaceEntry::SanitiseName() before comparing against the name returned here.

References m_name.

Address PIPSocket::InterfaceEntry::GetNetMask ( ) const
inline

Get the net mask associated with the interface.

References m_netMask.

virtual void PIPSocket::InterfaceEntry::PrintOn ( ostream &  strm) const
virtual

Print to specified stream.

Reimplemented from PObject.

static void PIPSocket::InterfaceEntry::SanitiseName ( PString name)
static

Sanitise a device name for use in PTLib.

Member Data Documentation

Address PIPSocket::InterfaceEntry::m_ipAddress
protected

Referenced by GetAddress().

PString PIPSocket::InterfaceEntry::m_macAddress
protected

Referenced by GetMACAddress().

PString PIPSocket::InterfaceEntry::m_name
protected

Referenced by GetName().

Address PIPSocket::InterfaceEntry::m_netMask
protected

Referenced by GetNetMask().


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