|  | Kea 3.1.0
    | 
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 ClientClassDefobjects 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::data::StampedElement::StampedElement(), and if().
Referenced by ClientClassDef(), isc::dhcp::TemplateClientClassDef::TemplateClientClassDef(), equals(), operator!=(), operator<<, and operator==().
| isc::dhcp::ClientClassDef::ClientClassDef | ( | const ClientClassDef & | rhs | ) | 
Copy constructor.
Definition at line 47 of file client_class_def.cc.
References ClientClassDef(), isc::data::StampedElement::StampedElement(), and if().
| 
 | 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.
References ClientClassDef().
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 operator<<, 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 ClientClassDef(), and equals().
| 
 | inline | 
Equality operator.
| other | Other client class definition to compare to. | 
Definition at line 142 of file client_class_def.h.
References ClientClassDef(), and 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.
References test().
| 
 | 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, LOG_ERROR, and isc::Exception::what().
Referenced by setTest().
| 
 | 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::dhcp::CfgMgr::getFamily(), and isc::dhcp::CfgMgr::instance().
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.
References ClientClassDef(), and getName().