#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 | ) |
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.
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.
PBoolean PIpAccessControlEntry::IsAllowed | ( | ) | const [inline] |
Get the allowed flag of entry.
PBoolean PIpAccessControlEntry::IsHidden | ( | ) | const [inline] |
Get the hidden flag of entry.
PBoolean PIpAccessControlEntry::IsValid | ( | ) |
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 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.
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] |
PBoolean PIpAccessControlEntry::allowed [protected] |
PString PIpAccessControlEntry::domain [protected] |
PBoolean PIpAccessControlEntry::hidden [protected] |
PIPSocket::Address PIpAccessControlEntry::mask [protected] |