PTLib
Version 2.10.4
|
This class is a single IP access control specification. More...
#include <ipacl.h>
Public Member Functions | |
PIpAccessControlEntry (PIPSocket::Address addr, PIPSocket::Address msk, PBoolean allow) | |
Create a new IP access control specification. | |
PIpAccessControlEntry (const PString &description) | |
PIpAccessControlEntry & | operator= (const PString &pstr) |
Set a new IP access control specification. | |
PIpAccessControlEntry & | operator= (const char *cstr) |
virtual Comparison | Compare (const PObject &obj) const |
Compare the two objects and return their relative rank. | |
virtual void | PrintOn (ostream &strm) const |
Output the contents of the object to the stream. | |
virtual void | ReadFrom (istream &strm) |
Input the contents of the object from the stream. | |
PString | AsString () const |
Convert the specification to a string, that can be processed by the Parse() function. | |
PBoolean | IsValid () |
Check the internal fields of the specification for validity. | |
PBoolean | Parse (const PString &description) |
Parse the description string into this IP access control specification. | |
PBoolean | 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. | |
const PString & | GetDomain () const |
Get the domain part of entry. | |
const PIPSocket::Address & | GetAddress () const |
Get the address part of entry. | |
const PIPSocket::Address & | GetMask () const |
Get the mask part of entry. | |
PBoolean | IsAllowed () const |
Get the allowed flag of entry. | |
PBoolean | IsHidden () const |
Get the hidden flag of entry. | |
Protected Attributes | |
PString | domain |
PIPSocket::Address | address |
PIPSocket::Address | mask |
PBoolean | allowed |
PBoolean | hidden |
This class is a single IP access control specification.
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 | ) |
PString PIpAccessControlEntry::AsString | ( | ) | const |
virtual Comparison PIpAccessControlEntry::Compare | ( | const PObject & | obj | ) | const [virtual] |
Compare the two objects and return their relative rank.
LessThan
, EqualTo
or GreaterThan
according to the relative rank of the objects. obj | Object to compare against. |
Reimplemented from PObject.
const PIPSocket::Address& PIpAccessControlEntry::GetAddress | ( | ) | const [inline] |
Get the address part of entry.
References address.
const PString& PIpAccessControlEntry::GetDomain | ( | ) | const [inline] |
Get the domain part of entry.
References domain.
const PIPSocket::Address& PIpAccessControlEntry::GetMask | ( | ) | const [inline] |
Get the mask part of entry.
References mask.
PBoolean PIpAccessControlEntry::IsAllowed | ( | ) | const [inline] |
Get the allowed flag of entry.
References allowed.
PBoolean PIpAccessControlEntry::IsHidden | ( | ) | const [inline] |
Get the hidden flag of entry.
References hidden.
Check the internal fields of the specification for validity.
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.
address | Address to search for |
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 | ) |
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.
description | Description of the specification |
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.
strm | Stream to print the object into. |
Reimplemented from PObject.
virtual void PIpAccessControlEntry::ReadFrom | ( | istream & | strm | ) | [virtual] |
PIPSocket::Address PIpAccessControlEntry::address [protected] |
Referenced by GetAddress().
PBoolean PIpAccessControlEntry::allowed [protected] |
Referenced by IsAllowed().
PString PIpAccessControlEntry::domain [protected] |
Referenced by GetDomain().
PBoolean PIpAccessControlEntry::hidden [protected] |
Referenced by IsHidden().
PIPSocket::Address PIpAccessControlEntry::mask [protected] |
Referenced by GetMask().