#include <ipacl.h>
Inheritance diagram for PIpAccessControlEntry:
Public Member Functions | |
PIpAccessControlEntry (PIPSocket::Address addr, PIPSocket::Address msk, PBoolean allow) | |
PIpAccessControlEntry (const PString &description) | |
PIpAccessControlEntry & | operator= (const PString &pstr) |
PIpAccessControlEntry & | operator= (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 PString & | GetDomain () const |
const PIPSocket::Address & | GetAddress () const |
const PIPSocket::Address & | GetMask () const |
PBoolean | IsAllowed () const |
PBoolean | IsHidden () const |
Protected Attributes | |
PString | domain |
PIPSocket::Address | address |
PIPSocket::Address | mask |
PBoolean | allowed |
PBoolean | hidden |
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 | ) |
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.
LessThan
, EqualTo
or GreaterThan
according to the relative rank of the objects. 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.
strm | Stream to print the object into. |
Reimplemented from PObject.
virtual void PIpAccessControlEntry::ReadFrom | ( | istream & | strm | ) | [virtual] |
PString PIpAccessControlEntry::AsString | ( | ) | const |
PBoolean PIpAccessControlEntry::IsValid | ( | ) |
Check the internal fields of the specification for validity.
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 |
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 |
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.
PString PIpAccessControlEntry::domain [protected] |
PIPSocket::Address PIpAccessControlEntry::address [protected] |
PIPSocket::Address PIpAccessControlEntry::mask [protected] |
PBoolean PIpAccessControlEntry::allowed [protected] |
PBoolean PIpAccessControlEntry::hidden [protected] |