PTLib Version 2.12.9

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Attributes | List of all members
PIpAccessControlEntry Class Reference

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

`#include <ipacl.h>`

Inheritance diagram for PIpAccessControlEntry:
[legend]
Collaboration diagram for PIpAccessControlEntry:
[legend]

## 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
unsigned | GetTraceContextIdentifier () const
| Get PTRACE context identifier. More...
void | SetTraceContextIdentifier (unsigned id)
void | GetTraceContextIdentifier (PObject &obj)
void | GetTraceContextIdentifier (PObject *obj)
void | SetTraceContextIdentifier (const PObject &obj)
void | SetTraceContextIdentifier (const PObject *obj)
virtual | ~PObject ()
virtual PObject * | Clone () const
| Create a copy of the class on the heap. More...
template<class CLS >
CLS * | CloneAs () const
| As for Clone() but converts to specified type. 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...
__inline const PObject * | PTraceObjectInstance () const

## Protected Attributes
PString | domain
PIPSocket::Address | address
PIPSocket::Address | mask
PBoolean | allowed
PBoolean | hidden
Protected Attributes inherited from PObject
unsigned | m_traceContextIdentifier

## 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...
static __inline const PObject * | PTraceObjectInstance (const char *)
static __inline const PObject * | PTraceObjectInstance (const PObject *obj)
Protected Member Functions inherited from PObject
| PObject ()
| Constructor for PObject, made protected so cannot ever create one on its own. More...
Friends inherited from PObject

## 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

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

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

Returns
  PString representation of the entry.

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.

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.

PBoolean PIpAccessControlEntry::IsValid | ( |  | ) |

Check the internal fields of the specification for validity.

Returns
  true if entry is valid.

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

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.

Returns
  true if entry is valid.

Parameters

  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.

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.

## Member Data Documentation

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().

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

- ipacl.h