Kea  2.1.7-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...
 
util::Triplet< uint32_t > getPreferred () const
 Return preferred-lifetime 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...
 
util::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 setPreferred (const util::Triplet< uint32_t > &preferred)
 Sets new preferred lifetime. 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 util::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...
 
- Public Member Functions inherited from isc::data::StampedElement
 StampedElement ()
 Constructor. More...
 
void delServerTag (const std::string &server_tag)
 Deletes server tag. More...
 
isc::data::ElementPtr getMetadata () const
 Returns an object representing metadata to be returned with objects from the configuration backend. More...
 
std::set< ServerTaggetServerTags () const
 Returns server tags. More...
 
bool hasAllServerTag () const
 Checks if the element has 'all' server tag. More...
 
bool hasServerTag (const ServerTag &server_tag) const
 Checks if the element has the given server tag. More...
 
void setServerTag (const std::string &server_tag)
 Adds new server tag. More...
 
- Public Member Functions inherited from isc::data::BaseStampedElement
 BaseStampedElement ()
 Constructor. More...
 
uint64_t getId () const
 Returns element's database identifier. More...
 
boost::posix_time::ptime getModificationTime () const
 Returns timestamp. More...
 
void setId (const uint64_t id)
 Sets element's database identifier. More...
 
void setModificationTime (const boost::posix_time::ptime &timestamp)
 Sets timestamp to the explicitly provided value. More...
 
void updateModificationTime ()
 Sets timestamp to the current time. 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...
 
- Protected Attributes inherited from isc::data::BaseStampedElement
uint64_t id_
 Database identifier of the configuration element. More...
 
boost::posix_time::ptime timestamp_
 Holds timestamp value. More...
 

Detailed Description

Embodies a single client class definition.

Definition at line 48 of file client_class_def.h.

Constructor & Destructor Documentation

◆ ClientClassDef() [1/2]

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 24 of file client_class_def.cc.

References isc_throw.

◆ ClientClassDef() [2/2]

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

Copy constructor.

Definition at line 45 of file client_class_def.cc.

◆ ~ClientClassDef()

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

Destructor.

Definition at line 67 of file client_class_def.cc.

Member Function Documentation

◆ dependOnClass()

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:

◆ equals()

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.

◆ getCfgOption()

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

Fetches the class's option collection.

Definition at line 131 of file client_class_def.cc.

◆ getCfgOptionDef()

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

Fetches the class's option definitions.

Definition at line 121 of file client_class_def.cc.

◆ getDependOnKnown()

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.

◆ getFilename()

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 193 of file client_class_def.h.

◆ getMatchExpr()

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

Fetches the class's match expression.

Definition at line 81 of file client_class_def.cc.

◆ getName()

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

◆ getNextServer()

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

returns next-server value

Returns
next-server value

Definition at line 160 of file client_class_def.h.

◆ getPreferred()

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

Return preferred-lifetime value.

Returns
a triplet containing the preferred lifetime.

Definition at line 214 of file client_class_def.h.

◆ getRequired()

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

Fetches the only if required flag.

Definition at line 101 of file client_class_def.cc.

◆ getSname()

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 180 of file client_class_def.h.

◆ getTest()

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

Fetches the class's original match expression.

Definition at line 91 of file client_class_def.cc.

◆ getValid()

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

Return valid-lifetime value.

Returns
a triplet containing the valid lifetime.

Definition at line 200 of file client_class_def.h.

◆ operator!=()

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 151 of file client_class_def.h.

References isc::dhcp::operator<<().

+ Here is the call graph for this function:

◆ operator==()

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 142 of file client_class_def.h.

◆ setCfgOption()

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.

◆ setCfgOptionDef()

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.

◆ setDependOnKnown()

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.

◆ setFilename()

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 187 of file client_class_def.h.

◆ setMatchExpr()

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.

◆ setName()

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.

◆ setNextServer()

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

sets the next-server value

Parameters
addrthe value to be set

Definition at line 167 of file client_class_def.h.

◆ setPreferred()

void isc::dhcp::ClientClassDef::setPreferred ( const util::Triplet< uint32_t > &  preferred)
inline

Sets new preferred lifetime.

Parameters
preferredNew valid lifetime in seconds.

Definition at line 221 of file client_class_def.h.

References name_.

◆ setRequired()

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.

◆ setSname()

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

sets the server-name value

Parameters
snamethe value to be set

Definition at line 174 of file client_class_def.h.

◆ setTest()

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.

◆ setValid()

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

Sets new valid lifetime.

Parameters
validNew valid lifetime in seconds.

Definition at line 207 of file client_class_def.h.

◆ toElement()

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

Friends And Related Function Documentation

◆ operator<<

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

Provides a convenient text representation of the class.

Definition at line 233 of file client_class_def.cc.


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