Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

PIpAccessControlEntry Class Reference

#include <ipacl.h>

Inheritance diagram for PIpAccessControlEntry:

PObject List of all members.

Public Member Functions

 PIpAccessControlEntry (PIPSocket::Address addr, PIPSocket::Address msk, BOOL allow)
 PIpAccessControlEntry (const PString &description)
PIpAccessControlEntryoperator= (const PString &pstr)
PIpAccessControlEntryoperator= (const char *cstr)
virtual Comparison Compare (const PObject &obj) const
virtual void PrintOn (ostream &strm) const
virtual void ReadFrom (istream &strm)
PString AsString () const
BOOL IsValid ()
BOOL Parse (const PString &description)
BOOL Match (PIPSocket::Address &address)
const PStringGetDomain () const
const PIPSocket::AddressGetAddress () const
const PIPSocket::AddressGetMask () const
BOOL IsAllowed () const
BOOL IsHidden () const

Protected Attributes

PString domain
PIPSocket::Address address
PIPSocket::Address mask
BOOL allowed
BOOL hidden

Detailed Description

This class is a single IP access control specification.


Constructor & Destructor Documentation

PIpAccessControlEntry::PIpAccessControlEntry PIPSocket::Address  addr,
PIPSocket::Address  msk,
BOOL  allow
 

Create a new IP access control specification. See the Parse() function for more details on the format of the description parameter.

PIpAccessControlEntry::PIpAccessControlEntry const PString description  ) 
 


Member Function Documentation

PString PIpAccessControlEntry::AsString  )  const
 

Convert the specification to a string, that can be processed by the Parse() function.

Returns:
PString representation of the entry.

virtual Comparison PIpAccessControlEntry::Compare const PObject obj  )  const [virtual]
 

Compare the two objects and return their relative rank.

Returns:
LessThan, EqualTo or GreaterThan according to the relative rank of the objects.

Reimplemented from PObject.

const PIPSocket::Address& PIpAccessControlEntry::GetAddress  )  const [inline]
 

Get the address part of entry.

const PString& PIpAccessControlEntry::GetDomain  )  const [inline]
 

Get the domain part of entry.

const PIPSocket::Address& PIpAccessControlEntry::GetMask  )  const [inline]
 

Get the mask part of entry.

BOOL PIpAccessControlEntry::IsAllowed  )  const [inline]
 

Get the allowed flag of entry.

BOOL PIpAccessControlEntry::IsHidden  )  const [inline]
 

Get the hidden flag of entry.

BOOL PIpAccessControlEntry::IsValid  ) 
 

Check the internal fields of the specification for validity.

Returns:
TRUE if entry is valid.

BOOL PIpAccessControlEntry::Match PIPSocket::Address address  ) 
 

Check to see if the specified IP address match any of the conditions specifed in the Parse() function for this entry.

Returns:
TRUE if entry can match the address.

PIpAccessControlEntry& PIpAccessControlEntry::operator= const char *  cstr  ) 
 

PIpAccessControlEntry& PIpAccessControlEntry::operator= const PString pstr  ) 
 

Set a new IP access control specification. See the Parse() function for more details on the format of the pstr and cstr parameters.

BOOL PIpAccessControlEntry::Parse const PString description  ) 
 

Parse the description string into this IP access control specification. The string may be of several forms: n.n.n.n Simple IP number, this has an implicit mask of 255.255.255.255 n.n. IP with trailing dot, assumes a mask equal to the number of specified octets eg 10.1. is equivalent to 10.1.0.0/255.255.0.0 n.n.n.n/b An IP network using b bits of mask, for example 10.1.0.0/14 is equivalent to 10.0.1.0/255.248.0.0 n.n.n.n/m.m.m.m An IP network using the specified mask hostname A specific host name, this has an implicit mask of 255.255.255.255 .domain.dom Matches an IP number whose cannonical name (found using a reverse DNS lookup) ends with the specified domain.

Returns:
TRUE if entry is valid.

virtual void PIpAccessControlEntry::PrintOn ostream &  strm  )  const [virtual]
 

Output the contents of the object to the stream. This outputs the same format as the AsString() function.

Reimplemented from PObject.

virtual void PIpAccessControlEntry::ReadFrom istream &  strm  )  [virtual]
 

Input the contents of the object from the stream. This expects the next space delimited entry in the stream to be as described in the Parse() function.

Reimplemented from PObject.


Member Data Documentation

PIPSocket::Address PIpAccessControlEntry::address [protected]
 

BOOL PIpAccessControlEntry::allowed [protected]
 

PString PIpAccessControlEntry::domain [protected]
 

BOOL PIpAccessControlEntry::hidden [protected]
 

PIPSocket::Address PIpAccessControlEntry::mask [protected]
 


The documentation for this class was generated from the following file:
Generated on Sat Jul 24 15:35:59 2004 for PWLib by doxygen 1.3.7