Kea  1.9.9-git
isc::dhcp::ClientClassDef Class Reference

Embodies a single client class definition. More...

#include <client_class_def.h>

+ Inheritance diagram for isc::dhcp::ClientClassDef:

Public Member Functions

 ClientClassDef (const std::string &name, const ExpressionPtr &match_expr, const CfgOptionPtr &options=CfgOptionPtr())
 Constructor. More...
 
 ClientClassDef (const ClientClassDef &rhs)
 Copy constructor. More...
 
virtual ~ClientClassDef ()
 Destructor. More...
 
bool dependOnClass (const std::string &name) const
 Checks direct dependency. More...
 
bool equals (const ClientClassDef &other) const
 Compares two ClientClassDef objects for equality. More...
 
const CfgOptionPtrgetCfgOption () const
 Fetches the class's option collection. More...
 
const CfgOptionDefPtrgetCfgOptionDef () const
 Fetches the class's option definitions. More...
 
bool getDependOnKnown () const
 Fetches the depend on known flag aka use host flag. More...
 
const std::string & getFilename () const
 returns boot-file-name value More...
 
const ExpressionPtrgetMatchExpr () const
 Fetches the class's match expression. More...
 
std::string getName () const
 Fetches the class's name. More...
 
const asiolink::IOAddressgetNextServer () const
 returns next-server value More...
 
bool getRequired () const
 Fetches the only if required flag. More...
 
const std::string & getSname () const
 returns server-hostname value More...
 
std::string getTest () const
 Fetches the class's original match expression. More...
 
Triplet< uint32_t > getValid () const
 Return valid-lifetime value. More...
 
bool operator!= (const ClientClassDef &other) const
 Inequality operator. More...
 
bool operator== (const ClientClassDef &other) const
 Equality operator. More...
 
void setCfgOption (const CfgOptionPtr &cfg_option)
 Sets the class's option collection. More...
 
void setCfgOptionDef (const CfgOptionDefPtr &cfg_option_def)
 Sets the class's option definition collection. More...
 
void setDependOnKnown (bool depend_on_known)
 Sets the depend on known flag aka use host flag. More...
 
void setFilename (const std::string &filename)
 sets the boot-file-name value More...
 
void setMatchExpr (const ExpressionPtr &match_expr)
 Sets the class's match expression. More...
 
void setName (const std::string &name)
 Sets the class's name. More...
 
void setNextServer (const asiolink::IOAddress &addr)
 sets the next-server value More...
 
void setRequired (bool required)
 Sets the only if required flag. More...
 
void setSname (const std::string &sname)
 sets the server-name value More...
 
void setTest (const std::string &test)
 Sets the class's original match expression. More...
 
void setValid (const Triplet< uint32_t > &valid)
 Sets new valid lifetime. More...
 
virtual isc::data::ElementPtr toElement () const
 Unparse a configuration object. More...
 
- Public Member Functions inherited from isc::data::UserContext
void contextToElement (data::ElementPtr map) const
 Merge unparse a user_context object. More...
 
data::ConstElementPtr getContext () const
 Returns const pointer to the user context. More...
 
void setContext (const data::ConstElementPtr &ctx)
 Sets user context. More...
 
- Public Member Functions inherited from isc::data::CfgToElement
virtual ~CfgToElement ()
 Destructor. More...
 

Friends

std::ostream & operator<< (std::ostream &os, const ClientClassDef &x)
 Provides a convenient text representation of the class. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from isc::data::UserContext
static data::ElementPtr toElement (data::ConstElementPtr map)
 Copy an Element map. More...
 
- Protected Attributes inherited from isc::data::UserContext
data::ConstElementPtr user_context_
 Pointer to the user context (may be NULL) More...
 

Detailed Description

Embodies a single client class definition.

Definition at line 47 of file client_class_def.h.

Constructor & Destructor Documentation

isc::dhcp::ClientClassDef::ClientClassDef ( const std::string &  name,
const ExpressionPtr match_expr,
const CfgOptionPtr options = CfgOptionPtr() 
)

Constructor.

Parameters
nameName to assign to this class
match_exprExpression the class will use to determine membership
optionsCollection of options members should be given

Definition at line 21 of file client_class_def.cc.

References isc_throw.

isc::dhcp::ClientClassDef::ClientClassDef ( const ClientClassDef rhs)

Copy constructor.

Definition at line 42 of file client_class_def.cc.

isc::dhcp::ClientClassDef::~ClientClassDef ( )
virtual

Destructor.

Definition at line 67 of file client_class_def.cc.

Member Function Documentation

bool isc::dhcp::ClientClassDef::dependOnClass ( const std::string &  name) const

Checks direct dependency.

Parameters
nameThe client class name.
Returns
true if the definition depends on the class name, false if not.

Definition at line 141 of file client_class_def.cc.

References isc::dhcp::dependOnClass().

+ Here is the call graph for this function:

bool isc::dhcp::ClientClassDef::equals ( const ClientClassDef other) const

Compares two ClientClassDef objects for equality.

Parameters
otherOther client class definition to compare to.
Returns
true if objects are equal, false otherwise.

Definition at line 146 of file client_class_def.cc.

Referenced by operator!=(), and operator==().

const CfgOptionPtr & isc::dhcp::ClientClassDef::getCfgOption ( ) const

Fetches the class's option collection.

Definition at line 131 of file client_class_def.cc.

const CfgOptionDefPtr & isc::dhcp::ClientClassDef::getCfgOptionDef ( ) const

Fetches the class's option definitions.

Definition at line 121 of file client_class_def.cc.

bool isc::dhcp::ClientClassDef::getDependOnKnown ( ) const

Fetches the depend on known flag aka use host flag.

Definition at line 111 of file client_class_def.cc.

const std::string& isc::dhcp::ClientClassDef::getFilename ( ) const
inline

returns boot-file-name value

Returns
the vector that contains boot-file-name (may be empty if not defined)

Definition at line 190 of file client_class_def.h.

const ExpressionPtr & isc::dhcp::ClientClassDef::getMatchExpr ( ) const

Fetches the class's match expression.

Definition at line 81 of file client_class_def.cc.

std::string isc::dhcp::ClientClassDef::getName ( ) const

Fetches the class's name.

Definition at line 71 of file client_class_def.cc.

Referenced by isc::dhcp::operator<<().

const asiolink::IOAddress& isc::dhcp::ClientClassDef::getNextServer ( ) const
inline

returns next-server value

Returns
next-server value

Definition at line 157 of file client_class_def.h.

bool isc::dhcp::ClientClassDef::getRequired ( ) const

Fetches the only if required flag.

Definition at line 101 of file client_class_def.cc.

const std::string& isc::dhcp::ClientClassDef::getSname ( ) const
inline

returns server-hostname value

Returns
the vector that contains server-hostname (may be empty if not defined)

Definition at line 177 of file client_class_def.h.

std::string isc::dhcp::ClientClassDef::getTest ( ) const

Fetches the class's original match expression.

Definition at line 91 of file client_class_def.cc.

Triplet<uint32_t> isc::dhcp::ClientClassDef::getValid ( ) const
inline

Return valid-lifetime value.

Returns
a triplet containing the valid lifetime.

Definition at line 197 of file client_class_def.h.

bool isc::dhcp::ClientClassDef::operator!= ( const ClientClassDef other) const
inline

Inequality operator.

Parameters
otherOther client class definition to compare to.
Returns
true if the definitions are not equal, false otherwise.

Definition at line 148 of file client_class_def.h.

References equals().

+ Here is the call graph for this function:

bool isc::dhcp::ClientClassDef::operator== ( const ClientClassDef other) const
inline

Equality operator.

Parameters
otherOther client class definition to compare to.
Returns
true if the definitions equal, false otherwise.

Definition at line 139 of file client_class_def.h.

References equals().

+ Here is the call graph for this function:

void isc::dhcp::ClientClassDef::setCfgOption ( const CfgOptionPtr cfg_option)

Sets the class's option collection.

Parameters
cfg_optionthe option collection to assign the class

Definition at line 136 of file client_class_def.cc.

void isc::dhcp::ClientClassDef::setCfgOptionDef ( const CfgOptionDefPtr cfg_option_def)

Sets the class's option definition collection.

Parameters
cfg_option_defthe option definitions to assign the class

Definition at line 126 of file client_class_def.cc.

void isc::dhcp::ClientClassDef::setDependOnKnown ( bool  depend_on_known)

Sets the depend on known flag aka use host flag.

Parameters
depend_on_knownthe value of the depend on known flag

Definition at line 116 of file client_class_def.cc.

void isc::dhcp::ClientClassDef::setFilename ( const std::string &  filename)
inline

sets the boot-file-name value

Parameters
filenamethe value to be set

Definition at line 184 of file client_class_def.h.

void isc::dhcp::ClientClassDef::setMatchExpr ( const ExpressionPtr match_expr)

Sets the class's match expression.

Parameters
match_exprthe expression to assign the class

Definition at line 86 of file client_class_def.cc.

void isc::dhcp::ClientClassDef::setName ( const std::string &  name)

Sets the class's name.

Parameters
namethe name to assign the class

Definition at line 76 of file client_class_def.cc.

void isc::dhcp::ClientClassDef::setNextServer ( const asiolink::IOAddress addr)
inline

sets the next-server value

Parameters
addrthe value to be set

Definition at line 164 of file client_class_def.h.

void isc::dhcp::ClientClassDef::setRequired ( bool  required)

Sets the only if required flag.

Parameters
requiredthe value of the only if required flag

Definition at line 106 of file client_class_def.cc.

void isc::dhcp::ClientClassDef::setSname ( const std::string &  sname)
inline

sets the server-name value

Parameters
snamethe value to be set

Definition at line 171 of file client_class_def.h.

void isc::dhcp::ClientClassDef::setTest ( const std::string &  test)

Sets the class's original match expression.

Parameters
testthe original expression to assign the class

Definition at line 96 of file client_class_def.cc.

void isc::dhcp::ClientClassDef::setValid ( const Triplet< uint32_t > &  valid)
inline

Sets new valid lifetime.

Parameters
validNew valid lifetime in seconds.

Definition at line 204 of file client_class_def.h.

ElementPtr isc::dhcp::ClientClassDef::toElement ( ) const
virtual

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const ClientClassDef x 
)
friend

Provides a convenient text representation of the class.

Definition at line 216 of file client_class_def.cc.


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