Kea 2.5.8
client_class_def.h File Reference

Defines classes for storing client class definitions. More...

#include <cc/cfg_to_element.h>
#include <cc/stamped_element.h>
#include <cc/user_context.h>
#include <dhcpsrv/cfg_option.h>
#include <dhcpsrv/cfg_option_def.h>
#include <eval/token.h>
#include <exceptions/exceptions.h>
#include <util/triplet.h>
#include <util/optional.h>
#include <string>
#include <unordered_map>
#include <list>
#include <vector>
+ Include dependency graph for client_class_def.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  isc::dhcp::ClientClassDef
 Embodies a single client class definition. More...
 
class  isc::dhcp::ClientClassDictionary
 Maintains a list of ClientClassDef's. More...
 
class  isc::dhcp::DuplicateClientClassDef
 Error that occurs when an attempt is made to add a duplicate class to a class dictionary. More...
 
class  isc::dhcp::TemplateClientClassDef
 

Namespaces

namespace  isc
 Defines the logger used by the top-level component of kea-lfc.
 
namespace  isc::dhcp
 

Typedefs

typedef std::vector< ClientClassDefPtr > isc::dhcp::ClientClassDefList
 Defines a list of ClientClassDefPtr's, using insert order.
 
typedef boost::shared_ptr< ClientClassDefList > isc::dhcp::ClientClassDefListPtr
 Defines a pointer to a ClientClassDefList.
 
typedef std::unordered_map< std::string, ClientClassDefPtr > isc::dhcp::ClientClassDefMap
 Defines a map of ClientClassDef's, keyed by the class name.
 
typedef boost::shared_ptr< ClientClassDefMap > isc::dhcp::ClientClassDefMapPtr
 Defines a pointer to a ClientClassDefMap.
 
typedef boost::shared_ptr< ClientClassDef > isc::dhcp::ClientClassDefPtr
 a pointer to an ClientClassDef
 
typedef boost::shared_ptr< ClientClassDictionary > isc::dhcp::ClientClassDictionaryPtr
 Defines a pointer to a ClientClassDictionary.
 

Functions

bool isc::dhcp::isClientClassBuiltIn (const ClientClass &client_class)
 Check if a client class name is builtin.
 
bool isc::dhcp::isClientClassDefined (ClientClassDictionaryPtr &class_dictionary, bool &depend_on_known, const ClientClass &client_class)
 Check if a client class name is already defined, i.e.
 

Detailed Description

Defines classes for storing client class definitions.

The file defines the class, ClientClassDef, which houses the information for single client class such as the class name, the logical expression used to identify members of the class, and options that may be attributed to class members.

In addition it defines a container class, ClientClassDictionary, which is houses class definitions keyed by class name.

Definition in file client_class_def.h.