PTLib  Version 2.10.4
PILSSession::MSIPAddress Class Reference

Special IP address class. More...

#include <pils.h>

Inheritance diagram for PILSSession::MSIPAddress:
PIPSocket::Address PObject

List of all members.

Public Member Functions

 MSIPAddress (DWORD a=0)
 MSIPAddress (const PIPSocket::Address &a)
 MSIPAddress (const PString &dotNotation)
 MSIPAddress (PINDEX len, const BYTE *bytes)
MSIPAddressoperator= (DWORD a)
 Copy an address from a four byte value in network order.
MSIPAddressoperator= (const PIPSocket::Address &a)
MSIPAddressoperator= (const PString &dotNotation)
 Copy an address from a string.

Friends

istream & operator>> (istream &s, MSIPAddress &a)
ostream & operator<< (ostream &s, MSIPAddress &a)

Detailed Description

Special IP address class.

Microsoft in their infinite wisdom save the IP address as an little endian integer in the LDAP fild, but this was generated from a 32 bit integer that was in network byte order (big endian) which causes immense confusion. Reading directly into a PIPSocket::Address does not work as it assumes that any integer forms would be in host order. So we need to override the standard read function so the marchalling into the RTPerson structure works. All very sad.


Constructor & Destructor Documentation

PILSSession::MSIPAddress::MSIPAddress ( DWORD  a = 0) [inline]
PILSSession::MSIPAddress::MSIPAddress ( const PString dotNotation) [inline]
PILSSession::MSIPAddress::MSIPAddress ( PINDEX  len,
const BYTE *  bytes 
) [inline]

Member Function Documentation

MSIPAddress& PILSSession::MSIPAddress::operator= ( DWORD  dw) [inline]

Copy an address from a four byte value in network order.

Reimplemented from PIPSocket::Address.

Referenced by operator=().

MSIPAddress& PILSSession::MSIPAddress::operator= ( const PIPSocket::Address a) [inline]

References operator=().

MSIPAddress& PILSSession::MSIPAddress::operator= ( const PString dotNotation) [inline]

Copy an address from a string.

Reimplemented from PIPSocket::Address.

References operator=().


Friends And Related Function Documentation

ostream& operator<< ( ostream &  s,
MSIPAddress a 
) [friend]
istream& operator>> ( istream &  s,
MSIPAddress a 
) [friend]

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines