Kea 2.7.5
|
Embodies a single client class definition. More...
#include <client_class_def.h>
Public Member Functions | |
ClientClassDef (const ClientClassDef &rhs) | |
Copy constructor. | |
ClientClassDef (const std::string &name, const ExpressionPtr &match_expr, const CfgOptionPtr &options=CfgOptionPtr()) | |
Constructor. | |
virtual | ~ClientClassDef () |
Destructor. | |
bool | dependOnClass (const std::string &name) const |
Checks direct dependency. | |
bool | equals (const ClientClassDef &other) const |
Compares two ClientClassDef objects for equality. | |
bool | getAdditional () const |
Fetches the only if additional flag. | |
const CfgOptionPtr & | getCfgOption () const |
Fetches the class's option collection. | |
const CfgOptionDefPtr & | getCfgOptionDef () const |
Fetches the class's option definitions. | |
bool | getDependOnKnown () const |
Fetches the depend on known flag aka use host flag. | |
const std::string & | getFilename () const |
returns boot-file-name value | |
const ExpressionPtr & | getMatchExpr () const |
Fetches the class's match expression. | |
std::string | getName () const |
Fetches the class's name. | |
const asiolink::IOAddress & | getNextServer () const |
returns next-server value | |
util::Optional< uint32_t > | getOfferLft () const |
Returns offer lifetime for the class. | |
util::Triplet< uint32_t > | getPreferred () const |
Return preferred-lifetime value. | |
const std::string & | getSname () const |
returns server-hostname value | |
std::string | getTest () const |
Fetches the class's original match expression. | |
util::Triplet< uint32_t > | getValid () const |
Return valid-lifetime value. | |
bool | operator!= (const ClientClassDef &other) const |
Inequality operator. | |
bool | operator== (const ClientClassDef &other) const |
Equality operator. | |
void | setAdditional (bool additional) |
Sets the only if additional flag. | |
void | setCfgOption (const CfgOptionPtr &cfg_option) |
Sets the class's option collection. | |
void | setCfgOptionDef (const CfgOptionDefPtr &cfg_option_def) |
Sets the class's option definition collection. | |
void | setDependOnKnown (bool depend_on_known) |
Sets the depend on known flag aka use host flag. | |
void | setFilename (const std::string &filename) |
sets the boot-file-name value | |
void | setMatchExpr (const ExpressionPtr &match_expr) |
Sets the class's match expression. | |
void | setName (const std::string &name) |
Sets the class's name. | |
void | setNextServer (const asiolink::IOAddress &addr) |
sets the next-server value | |
void | setOfferLft (const util::Optional< uint32_t > &offer_lft) |
Sets offer lifetime for the class. | |
void | setPreferred (const util::Triplet< uint32_t > &preferred) |
Sets new preferred lifetime. | |
void | setSname (const std::string &sname) |
sets the server-name value | |
void | setTest (const std::string &test) |
Sets the class's original match expression. | |
void | setValid (const util::Triplet< uint32_t > &valid) |
Sets new valid lifetime. | |
virtual void | test (PktPtr pkt, const ExpressionPtr &expr_ptr) |
Test method which checks if the packet belongs to the class. | |
virtual isc::data::ElementPtr | toElement () const |
Unparse a configuration object. | |
Public Member Functions inherited from isc::data::UserContext | |
void | contextToElement (data::ElementPtr map) const |
Merge unparse a user_context object. | |
data::ConstElementPtr | getContext () const |
Returns const pointer to the user context. | |
void | setContext (const data::ConstElementPtr &ctx) |
Sets user context. | |
Public Member Functions inherited from isc::data::CfgToElement | |
virtual | ~CfgToElement () |
Destructor. | |
Public Member Functions inherited from isc::data::StampedElement | |
StampedElement () | |
Constructor. | |
void | delServerTag (const std::string &server_tag) |
Deletes server tag. | |
isc::data::ElementPtr | getMetadata () const |
Returns an object representing metadata to be returned with objects from the configuration backend. | |
std::set< ServerTag > | getServerTags () const |
Returns server tags. | |
bool | hasAllServerTag () const |
Checks if the element has 'all' server tag. | |
bool | hasServerTag (const ServerTag &server_tag) const |
Checks if the element has the given server tag. | |
void | setServerTag (const std::string &server_tag) |
Adds new server tag. | |
Public Member Functions inherited from isc::data::BaseStampedElement | |
BaseStampedElement () | |
Constructor. | |
uint64_t | getId () const |
Returns element's database identifier. | |
boost::posix_time::ptime | getModificationTime () const |
Returns timestamp. | |
void | setId (const uint64_t id) |
Sets element's database identifier. | |
void | setModificationTime (const boost::posix_time::ptime ×tamp) |
Sets timestamp to the explicitly provided value. | |
void | updateModificationTime () |
Sets timestamp to the current time. | |
Friends | |
std::ostream & | operator<< (std::ostream &os, const ClientClassDef &x) |
Provides a convenient text representation of the class. | |
Additional Inherited Members | |
Static Public Member Functions inherited from isc::data::UserContext | |
static data::ElementPtr | toElement (data::ConstElementPtr map) |
Copy an Element map. | |
Protected Attributes inherited from isc::data::UserContext | |
data::ConstElementPtr | user_context_ |
Pointer to the user context (may be NULL) | |
Protected Attributes inherited from isc::data::BaseStampedElement | |
uint64_t | id_ |
Database identifier of the configuration element. | |
boost::posix_time::ptime | timestamp_ |
Holds timestamp value. | |
Embodies a single client class definition.
Definition at line 49 of file client_class_def.h.
isc::dhcp::ClientClassDef::ClientClassDef | ( | const std::string & | name, |
const ExpressionPtr & | match_expr, | ||
const CfgOptionPtr & | options = CfgOptionPtr() ) |
Constructor.
name | Name to assign to this class |
match_expr | Expression the class will use to determine membership |
options | Collection of options members should be given |
Definition at line 26 of file client_class_def.cc.
References isc_throw.
isc::dhcp::ClientClassDef::ClientClassDef | ( | const ClientClassDef & | rhs | ) |
Copy constructor.
Definition at line 47 of file client_class_def.cc.
|
virtual |
Destructor.
Definition at line 70 of file client_class_def.cc.
bool isc::dhcp::ClientClassDef::dependOnClass | ( | const std::string & | name | ) | const |
Checks direct dependency.
name | The client class name. |
Definition at line 200 of file client_class_def.cc.
References isc::dhcp::dependOnClass().
bool isc::dhcp::ClientClassDef::equals | ( | const ClientClassDef & | other | ) | const |
Compares two ClientClassDef
objects for equality.
other | Other client class definition to compare to. |
Definition at line 205 of file client_class_def.cc.
Referenced by operator!=(), and operator==().
bool isc::dhcp::ClientClassDef::getAdditional | ( | ) | const |
Fetches the only if additional flag.
Definition at line 104 of file client_class_def.cc.
const CfgOptionPtr & isc::dhcp::ClientClassDef::getCfgOption | ( | ) | const |
Fetches the class's option collection.
Definition at line 134 of file client_class_def.cc.
const CfgOptionDefPtr & isc::dhcp::ClientClassDef::getCfgOptionDef | ( | ) | const |
Fetches the class's option definitions.
Definition at line 124 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 114 of file client_class_def.cc.
|
inline |
returns boot-file-name value
Definition at line 193 of file client_class_def.h.
const ExpressionPtr & isc::dhcp::ClientClassDef::getMatchExpr | ( | ) | const |
Fetches the class's match expression.
Definition at line 84 of file client_class_def.cc.
std::string isc::dhcp::ClientClassDef::getName | ( | ) | const |
Fetches the class's name.
Definition at line 74 of file client_class_def.cc.
Referenced by test(), and isc::dhcp::TemplateClientClassDef::test().
|
inline |
returns next-server value
Definition at line 160 of file client_class_def.h.
|
inline |
Returns offer lifetime for the class.
Definition at line 235 of file client_class_def.h.
|
inline |
Return preferred-lifetime value.
Definition at line 214 of file client_class_def.h.
|
inline |
returns server-hostname value
Definition at line 180 of file client_class_def.h.
std::string isc::dhcp::ClientClassDef::getTest | ( | ) | const |
Fetches the class's original match expression.
Definition at line 94 of file client_class_def.cc.
|
inline |
Return valid-lifetime value.
Definition at line 200 of file client_class_def.h.
|
inline |
Inequality operator.
other | Other client class definition to compare to. |
Definition at line 151 of file client_class_def.h.
References equals().
|
inline |
Equality operator.
other | Other client class definition to compare to. |
Definition at line 142 of file client_class_def.h.
References equals().
void isc::dhcp::ClientClassDef::setAdditional | ( | bool | additional | ) |
Sets the only if additional flag.
additional | the value of the only if additional flag |
Definition at line 109 of file client_class_def.cc.
void isc::dhcp::ClientClassDef::setCfgOption | ( | const CfgOptionPtr & | cfg_option | ) |
Sets the class's option collection.
cfg_option | the option collection to assign the class |
Definition at line 139 of file client_class_def.cc.
void isc::dhcp::ClientClassDef::setCfgOptionDef | ( | const CfgOptionDefPtr & | cfg_option_def | ) |
Sets the class's option definition collection.
cfg_option_def | the option definitions to assign the class |
Definition at line 129 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.
depend_on_known | the value of the depend on known flag |
Definition at line 119 of file client_class_def.cc.
|
inline |
sets the boot-file-name value
filename | the value to be set |
Definition at line 187 of file client_class_def.h.
void isc::dhcp::ClientClassDef::setMatchExpr | ( | const ExpressionPtr & | match_expr | ) |
Sets the class's match expression.
match_expr | the expression to assign the class |
Definition at line 89 of file client_class_def.cc.
void isc::dhcp::ClientClassDef::setName | ( | const std::string & | name | ) |
Sets the class's name.
name | the name to assign the class |
Definition at line 79 of file client_class_def.cc.
|
inline |
sets the next-server value
addr | the value to be set |
Definition at line 167 of file client_class_def.h.
|
inline |
Sets offer lifetime for the class.
offer_lft | the offer lifetime assigned to the class (may be empty if not defined) |
Definition at line 228 of file client_class_def.h.
|
inline |
Sets new preferred lifetime.
preferred | New valid lifetime in seconds. |
Definition at line 221 of file client_class_def.h.
|
inline |
sets the server-name value
sname | the value to be set |
Definition at line 174 of file client_class_def.h.
void isc::dhcp::ClientClassDef::setTest | ( | const std::string & | test | ) |
Sets the class's original match expression.
test | the original expression to assign the class |
Definition at line 99 of file client_class_def.cc.
|
inline |
Sets new valid lifetime.
valid | New valid lifetime in seconds. |
Definition at line 207 of file client_class_def.h.
|
virtual |
Test method which checks if the packet belongs to the class.
If the packet belongs to the class, the class is added to the packet.
pkt | The packet checked if it belongs to the class. |
expr_ptr | Expression the class will use to determine membership |
Reimplemented in isc::dhcp::TemplateClientClassDef.
Definition at line 144 of file client_class_def.cc.
References isc::dhcp::DHCPSRV_DBG_TRACE_DETAIL, isc::dhcp::DHCPSRV_EVAL_ERROR, isc::dhcp::DHCPSRV_EVAL_RESULT, isc::dhcp::dhcpsrv_logger, isc::dhcp::evaluateBool(), getName(), LOG_DEBUG, and LOG_ERROR.
|
virtual |
Unparse a configuration object.
Implements isc::data::CfgToElement.
Reimplemented in isc::dhcp::TemplateClientClassDef.
Definition at line 224 of file client_class_def.cc.
References isc::data::UserContext::contextToElement(), isc::data::Element::create(), isc::data::Element::createMap(), isc::util::Optional< T >::get(), isc::util::Triplet< T >::get(), isc::util::Triplet< T >::getMax(), isc::util::Triplet< T >::getMin(), isc::dhcp::CfgMgr::instance(), isc::asiolink::IOAddress::toText(), and isc::util::Optional< T >::unspecified().
Referenced by isc::dhcp::TemplateClientClassDef::toElement().
|
friend |
Provides a convenient text representation of the class.
Definition at line 313 of file client_class_def.cc.