xorp

Element Class Reference

Basic object type used by policy engine. More...

#include <element_base.hh>

Inheritance diagram for Element:
ElemAny< T > ElemBool ElemCom32 ElemFilter ElemInt32 ElemNet< A > ElemNextHop< A > ElemNull ElemRefAny< T > ElemSet ElemStr ElemU32

List of all members.

Public Types

typedef unsigned char Hash

Public Member Functions

 Element (Hash hash)
virtual string str () const =0
 Every element must be representable by a string.
virtual const char * type () const =0
Hash hash () const
void ref () const
void unref ()
uint32_t refcount () const

Private Attributes

uint32_t _refcount
Hash _hash

Detailed Description

Basic object type used by policy engine.

This element hierarchy is similar to XrlAtom's but exclusive to policy components.


Member Function Documentation

virtual string Element::str ( ) const [pure virtual]

Every element must be representable by a string.

This is a requirement to enable the policy manager to send elements to the backend filters via XRL calls for example.

Returns:
string representation of the element.

Implemented in ElemFilter, ElemNull, ElemSetAny< T >, ElemInt32, ElemU32, ElemCom32, ElemStr, ElemBool, ElemAny< T >, ElemRefAny< T >, ElemNet< A >, and ElemNextHop< A >.

virtual const char* Element::type ( ) const [pure virtual]
Returns:
string representation of element type.

Implemented in ElemFilter, ElemNull, ElemSetAny< T >, ElemInt32, ElemU32, ElemCom32, ElemStr, ElemBool, ElemAny< T >, ElemRefAny< T >, ElemNet< A >, and ElemNextHop< A >.


The documentation for this class was generated from the following files:
 All Classes Namespaces Functions Variables Typedefs Enumerations