PTLib  Version 2.18.8
 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
__inline unsigned GetTraceContextIdentifier () const
 Get PTRACE context identifier. More...
 
__inline void SetTraceContextIdentifier (unsigned id)
 
__inline void SetTraceContextIdentifier (const PObject &obj)
 
__inline void SetTraceContextIdentifier (const PObject *obj)
 
__inline void CopyTraceContextIdentifier (PObject &obj) const
 
__inline void CopyTraceContextIdentifier (PObject *obj) const
 
virtual ~PObject ()
 
__inline const char * GetClass () const
 
__inline bool IsClass (const char *name) const
 
__inline const PObjectPTraceObjectInstance () const
 
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 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 __inline void CopyTraceContextIdentifier (PObject &to, const PObject &from)
 
static __inline void CopyTraceContextIdentifier (PObject &to, const PObject *from)
 
static __inline void CopyTraceContextIdentifier (PObject *to, const PObject &from)
 
static __inline void CopyTraceContextIdentifier (PObject *to, const PObject *from)
 
static __inline const char * Class ()
 
static __inline const PObjectPTraceObjectInstance (const char *)
 
static __inline const PObjectPTraceObjectInstance (const PObject *obj)
 
template<typename T >
static Comparison Compare2 (T v1, T v2)
 Compare two types, returning Comparison type. More...
 
static Comparison InternalCompareObjectMemoryDirect (const PObject *obj1, const PObject *obj2, PINDEX size)
 Internal function caled from CompareObjectMemoryDirect() More...
 

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

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: