# PIpAccessControlEntry Class Reference

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

`#include <ipacl.h>`

Inheritance diagram for PIpAccessControlEntry:

List of all members.

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

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

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.

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

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]`

PBoolean PIpAccessControlEntry::allowed `[protected]`

PString PIpAccessControlEntry::domain `[protected]`

PBoolean PIpAccessControlEntry::hidden `[protected]`

PIPSocket::Address PIpAccessControlEntry::mask `[protected]`

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

- ipacl.h