![]() |
Kea
1.9.9-git
|
Maintains a list of ClientClassDef's. More...
#include <client_class_def.h>
Inheritance diagram for isc::dhcp::ClientClassDictionary:Public Member Functions | |
| ClientClassDictionary () | |
| Constructor. More... | |
| ClientClassDictionary (const ClientClassDictionary &rhs) | |
| ~ClientClassDictionary () | |
| Destructor. More... | |
| void | addClass (const std::string &name, const ExpressionPtr &match_expr, const std::string &test, bool required, bool depend_on_known, const CfgOptionPtr &options, CfgOptionDefPtr defs=CfgOptionDefPtr(), isc::data::ConstElementPtr user_context=isc::data::ConstElementPtr(), asiolink::IOAddress next_server=asiolink::IOAddress("0.0.0.0"), const std::string &sname=std::string(), const std::string &filename=std::string(), const Triplet< uint32_t > &valid=Triplet< uint32_t >()) |
| Adds a new class to the list. More... | |
| void | addClass (ClientClassDefPtr &class_def) |
| Adds a new class to the list. More... | |
| bool | dependOnClass (const std::string &name, std::string &dependent_class) const |
| Checks direct dependency. More... | |
| bool | equals (const ClientClassDictionary &other) const |
Compares two ClientClassDictionary objects for equality. More... | |
| ClientClassDefPtr | findClass (const std::string &name) const |
| Fetches the class definition for a given class name. More... | |
| const ClientClassDefListPtr & | getClasses () const |
| Fetches the dictionary's list of classes. More... | |
| bool | operator!= (const ClientClassDictionary &other) const |
| Inequality operator. More... | |
| bool | operator== (const ClientClassDictionary &other) const |
| Equality operator. More... | |
| void | removeClass (const std::string &name) |
| Removes a given class definition from the dictionary. More... | |
| virtual isc::data::ElementPtr | toElement () const |
| Unparse a configuration object. More... | |
Public Member Functions inherited from isc::data::CfgToElement | |
| virtual | ~CfgToElement () |
| Destructor. More... | |
Maintains a list of ClientClassDef's.
Definition at line 284 of file client_class_def.h.
| isc::dhcp::ClientClassDictionary::ClientClassDictionary | ( | ) |
Constructor.
Definition at line 223 of file client_class_def.cc.
| isc::dhcp::ClientClassDictionary::ClientClassDictionary | ( | const ClientClassDictionary & | rhs | ) |
Definition at line 227 of file client_class_def.cc.
References addClass(), and isc::data::copy().
Here is the call graph for this function:| isc::dhcp::ClientClassDictionary::~ClientClassDictionary | ( | ) |
Destructor.
Definition at line 235 of file client_class_def.cc.
| void isc::dhcp::ClientClassDictionary::addClass | ( | const std::string & | name, |
| const ExpressionPtr & | match_expr, | ||
| const std::string & | test, | ||
| bool | required, | ||
| bool | depend_on_known, | ||
| const CfgOptionPtr & | options, | ||
| CfgOptionDefPtr | defs = CfgOptionDefPtr(), |
||
| isc::data::ConstElementPtr | user_context = isc::data::ConstElementPtr(), |
||
| asiolink::IOAddress | next_server = asiolink::IOAddress("0.0.0.0"), |
||
| const std::string & | sname = std::string(), |
||
| const std::string & | filename = std::string(), |
||
| const Triplet< uint32_t > & | valid = Triplet<uint32_t>() |
||
| ) |
Adds a new class to the list.
| name | Name to assign to this class |
| match_expr | Expression the class will use to determine membership |
| test | Original version of match_expr |
| required | Original value of the only if required flag |
| depend_on_known | Using host so will be evaluated later |
| options | Collection of options members should be given |
| defs | Option definitions (optional) |
| user_context | User context (optional) |
| next_server | next-server value for this class (optional) |
| sname | server-name value for this class (optional) |
| filename | boot-file-name value for this class (optional) |
| valid | valid-lifetime triplet (optional) |
| DuplicateClientClassDef | if class already exists within the dictionary. See dhcp::ClientClassDef::ClientClassDef() for others. |
Definition at line 239 of file client_class_def.cc.
Referenced by ClientClassDictionary().
| void isc::dhcp::ClientClassDictionary::addClass | ( | ClientClassDefPtr & | class_def | ) |
Adds a new class to the list.
| class_def | pointer to class definition to add |
| DuplicateClientClassDef | if class already exists within the dictionary, BadValue if the pointer is empty. |
Definition at line 265 of file client_class_def.cc.
References findClass(), and isc_throw.
Here is the call graph for this function:| bool isc::dhcp::ClientClassDictionary::dependOnClass | ( | const std::string & | name, |
| std::string & | dependent_class | ||
| ) | const |
Checks direct dependency.
| name | The client class name. | |
| [out] | dependent_class | Reference to a variable where the name of the first class depending on the checked class is set. |
Definition at line 308 of file client_class_def.cc.
| bool isc::dhcp::ClientClassDictionary::equals | ( | const ClientClassDictionary & | other | ) | const |
Compares two ClientClassDictionary objects for equality.
| other | Other client class definition to compare to. |
Definition at line 329 of file client_class_def.cc.
Referenced by operator!=(), and operator==().
| ClientClassDefPtr isc::dhcp::ClientClassDictionary::findClass | ( | const std::string & | name | ) | const |
Fetches the class definition for a given class name.
| name | the name of the desired class |
Definition at line 281 of file client_class_def.cc.
Referenced by addClass().
| const ClientClassDefListPtr & isc::dhcp::ClientClassDictionary::getClasses | ( | ) | const |
Fetches the dictionary's list of classes.
Definition at line 303 of file client_class_def.cc.
|
inline |
Inequality operator.
| other | Other client class dictionary to compare to. |
Definition at line 382 of file client_class_def.h.
References equals().
Here is the call graph for this function:
|
inline |
Equality operator.
| other | Other client class dictionary to compare to. |
Definition at line 373 of file client_class_def.h.
References equals().
Here is the call graph for this function:| void isc::dhcp::ClientClassDictionary::removeClass | ( | const std::string & | name | ) |
Removes a given class definition from the dictionary.
Removes the class definition from the map if it exists, otherwise no harm, no foul.
| name | the name of the class to remove |
Definition at line 291 of file client_class_def.cc.
|
virtual |
Unparse a configuration object.
Implements isc::data::CfgToElement.
Definition at line 351 of file client_class_def.cc.