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, PBoolean 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
PBoolean IsValid ()
PBoolean Parse (const PString &description)
PBoolean Match (PIPSocket::Address &address)
const PStringGetDomain () const
const PIPSocket::AddressGetAddress () const
const PIPSocket::AddressGetMask () const
PBoolean IsAllowed () const
PBoolean IsHidden () const

Protected Attributes

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

Detailed Description

This class is a single IP access control specification.


Constructor & Destructor Documentation

PIpAccessControlEntry::PIpAccessControlEntry ( PIPSocket::Address  addr,
PIPSocket::Address  msk,
PBoolean  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

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.

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

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.
Parameters:
obj  Object to compare against.

Reimplemented from PObject.

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.

Parameters:
strm  Stream to print the object into.

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.

Parameters:
strm  Stream to read the objects contents from.

Reimplemented from PObject.

PString PIpAccessControlEntry::AsString (  )  const

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

Returns:
PString representation of the entry.

PBoolean PIpAccessControlEntry::IsValid (  ) 

Check the internal fields of the specification for validity.

Returns:
PTrue if entry is valid.

PBoolean 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:
PTrue if entry is valid.
Parameters:
description  Description of the specification

PBoolean 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:
PTrue if entry can match the address.
Parameters:
address  Address to search for

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

Get the domain part of entry.

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

Get the address part of entry.

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

Get the mask part of entry.

PBoolean PIpAccessControlEntry::IsAllowed (  )  const [inline]

Get the allowed flag of entry.

PBoolean PIpAccessControlEntry::IsHidden (  )  const [inline]

Get the hidden flag of entry.


Member Data Documentation

PString PIpAccessControlEntry::domain [protected]

PIPSocket::Address PIpAccessControlEntry::address [protected]

PIPSocket::Address PIpAccessControlEntry::mask [protected]

PBoolean PIpAccessControlEntry::allowed [protected]

PBoolean PIpAccessControlEntry::hidden [protected]


The documentation for this class was generated from the following file:
Generated on Mon Sep 15 01:21:37 2008 for PTLib by  doxygen 1.5.1