PIpAccessControlEntry Class Reference

This class is a single IP access control specification. More...

`#include <ipacl.h>`

Inheritance diagram for PIpAccessControlEntry:

## Public Member Functions

| PIpAccessControlEntry (PIPSocket::Address addr, PIPSocket::Address msk, PBoolean allow)
| Create a new IP access control specification. More...
| PIpAccessControlEntry (const PString &description)
PIpAccessControlEntry & | operator= (const PString &pstr)
| Set a new IP access control specification. More...
PIpAccessControlEntry & | operator= (const char *cstr)
virtual Comparison | Compare (const PObject &obj) const
| Compare the two objects and return their relative rank. More...
virtual void | PrintOn (ostream &strm) const
| Output the contents of the object to the stream. More...
virtual void | ReadFrom (istream &strm)
| Input the contents of the object from the stream. More...
PString | AsString () const
| Convert the specification to a string, that can be processed by the Parse() function. More...
PBoolean | IsValid ()
| Check the internal fields of the specification for validity. More...
PBoolean | Parse (const PString &description)
| Parse the description string into this IP access control specification. More...
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. More...
const PString & | GetDomain () const
| Get the domain part of entry. More...
const PIPSocket::Address & | GetAddress () const
| Get the address part of entry. More...
const PIPSocket::Address & | GetMask () const
| Get the mask part of entry. More...
PBoolean | IsAllowed () const
| Get the allowed flag of entry. More...
PBoolean | IsHidden () const
| Get the hidden flag of entry. More...
Public Member Functions inherited from PObject
virtual | ~PObject ()
virtual PObject * | Clone () const
| Create a copy of the class on the heap. More...
virtual PINDEX | HashFunction () const
| This function yields a hash value required by the `PDictionary` class. More...
virtual Comparison | CompareObjectMemoryDirect (const PObject &obj) const
| Determine the byte wise comparison of two objects. More...
bool | operator== (const PObject &obj) const
| Compare the two objects. More...
bool | operator!= (const PObject &obj) const
| Compare the two objects. More...
bool | operator< (const PObject &obj) const
| Compare the two objects. More...
bool | operator> (const PObject &obj) const
| Compare the two objects. More...
bool | operator<= (const PObject &obj) const
| Compare the two objects. More...
bool | operator>= (const PObject &obj) const
| Compare the two objects. More...
virtual const char * | GetClass (unsigned ancestor=0) const
| Get the current dynamic type of the object instance. More...
PBoolean | IsClass (const char *cls) const
virtual PBoolean | InternalIsDescendant (const char *clsName) const
| Determine if the dynamic type of the current instance is a descendent of the specified class. More...

## Protected Attributes

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

## Additional Inherited Members

Public Types inherited from PObject
enum | Comparison { LessThan = -1, EqualTo = 0, GreaterThan = 1 }
| Result of the comparison operation performed by the `Compare()` function. More...
Static Public Member Functions inherited from PObject
static Comparison | InternalCompareObjectMemoryDirect (const PObject *obj1, const PObject *obj2, PINDEX size)
| Internal function caled from CompareObjectMemoryDirect() More...
static const char * | Class ()
| Get the name of the class as a C string. More...
Protected Member Functions inherited from PObject
| PObject ()
| Constructor for PObject, made protected so cannot ever create one on its own. More...

## Detailed Description

This class is a single IP access control specification.

## Constructor & Destructor Documentation

## PIpAccessControlEntry() [1/2]

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() [2/2]

PIpAccessControlEntry::PIpAccessControlEntry | ( | const PString & | description | ) |

## Member Function Documentation

## AsString()

PString PIpAccessControlEntry::AsString | ( |  | ) | const

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

Returns
  PString representation of the entry.

## Compare()

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.

## GetAddress()

const PIPSocket::Address& PIpAccessControlEntry::GetAddress | ( |  | ) | const

inline

Get the address part of entry.

References address.

## GetDomain()

const PString& PIpAccessControlEntry::GetDomain | ( |  | ) | const

inline

Get the domain part of entry.

References domain.

## GetMask()

const PIPSocket::Address& PIpAccessControlEntry::GetMask | ( |  | ) | const

inline

Get the mask part of entry.

References mask.

## IsAllowed()

PBoolean PIpAccessControlEntry::IsAllowed | ( |  | ) | const

inline

Get the allowed flag of entry.

References allowed.

## IsHidden()

PBoolean PIpAccessControlEntry::IsHidden | ( |  | ) | const

inline

Get the hidden flag of entry.

References hidden.

## IsValid()

PBoolean PIpAccessControlEntry::IsValid | ( |  | ) |

Check the internal fields of the specification for validity.

Returns
  true if entry is valid.

## Match()

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
  true if entry can match the address.

Parameters

  address | Address to search for

## operator=() [1/2]

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.

## operator=() [2/2]

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

## Parse()

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
  true if entry is valid.

Parameters

  description | Description of the specification

## PrintOn()

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.

## ReadFrom()

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.

## Member Data Documentation

## address

PIPSocket::Address PIpAccessControlEntry::address

protected

Referenced by GetAddress().

## allowed

PBoolean PIpAccessControlEntry::allowed

protected

Referenced by IsAllowed().

## domain

PString PIpAccessControlEntry::domain

protected

Referenced by GetDomain().

## hidden

PBoolean PIpAccessControlEntry::hidden

protected

Referenced by IsHidden().

## mask

PIPSocket::Address PIpAccessControlEntry::mask

protected

Referenced by GetMask().

The documentation for this class was generated from the following file:

- ipacl.h