|  | Kea 3.1.0
    | 
Parser for option data values within a subnet. More...
#include <option_data_parser.h>
| Public Member Functions | |
| OptionDataListParser (const uint16_t address_family, CfgOptionDefPtr cfg_option_def=CfgOptionDefPtr()) | |
| Constructor. | |
| virtual | ~OptionDataListParser () | 
| Virtual destructor. | |
| void | parse (const CfgOptionPtr &cfg, isc::data::ConstElementPtr option_data_list, bool encapsulate=true) | 
| Parses a list of options, instantiates them and stores in cfg. | |
| Public Member Functions inherited from isc::data::SimpleParser | |
| uint16_t | getUint16 (isc::data::ConstElementPtr scope, const std::string &name) | 
| Returns a value converted to uint16_t. | |
| uint32_t | getUint32 (isc::data::ConstElementPtr scope, const std::string &name) | 
| Returns a value converted to uint32_t. | |
| uint8_t | getUint8 (ConstElementPtr scope, const std::string &name) | 
| Get an uint8_t value. | |
| const isc::util::Triplet< uint32_t > | parseIntTriplet (const data::ConstElementPtr &scope, const std::string &name) | 
| Parses an integer triplet. | |
| Protected Member Functions | |
| virtual boost::shared_ptr< OptionDataParser > | createOptionDataParser () const | 
| Returns an instance of the OptionDataListParserto be used in parsing options. | |
| Protected Member Functions inherited from isc::data::SimpleParser | |
| template<typename target_type, target_type convert> | |
| target_type | getAndConvert (isc::data::ConstElementPtr scope, const std::string &name, const std::string &type_name) | 
| Returns a converted value from a scope. | |
| template<typename int_type> | |
| int_type | getIntType (isc::data::ConstElementPtr scope, const std::string &name) | 
| Returns an integer value with range checking from a scope. | |
| Protected Attributes | |
| uint16_t | address_family_ | 
| Address family: AF_INETorAF_INET6. | |
| CfgOptionDefPtr | cfg_option_def_ | 
| Config option definitions. | |
| Additional Inherited Members | |
| Static Public Member Functions inherited from isc::data::SimpleParser | |
| static void | checkKeywords (const SimpleKeywords &keywords, isc::data::ConstElementPtr scope) | 
| Checks acceptable keywords with their expected type. | |
| static void | checkRequired (const SimpleRequiredKeywords &required, isc::data::ConstElementPtr scope) | 
| Checks that all required keywords are present. | |
| static size_t | deriveParams (isc::data::ConstElementPtr parent, isc::data::ElementPtr child, const ParamsList ¶ms) | 
| Derives (inherits) parameters from parent scope to a child. | |
| static isc::asiolink::IOAddress | getAddress (const ConstElementPtr &scope, const std::string &name) | 
| Returns a IOAddress parameter from a scope. | |
| static bool | getBoolean (isc::data::ConstElementPtr scope, const std::string &name) | 
| Returns a boolean parameter from a scope. | |
| static double | getDouble (const ConstElementPtr &scope, const std::string &name) | 
| Returns a floating point parameter from a scope. | |
| static int64_t | getInteger (isc::data::ConstElementPtr scope, const std::string &name) | 
| Returns an integer parameter from a scope. | |
| static int64_t | getInteger (isc::data::ConstElementPtr scope, const std::string &name, int64_t min, int64_t max) | 
| Returns an integer parameter from a scope and checks its range. | |
| static const data::Element::Position & | getPosition (const std::string &name, const data::ConstElementPtr parent) | 
| Utility method that returns position of an element. | |
| static std::string | getString (isc::data::ConstElementPtr scope, const std::string &name) | 
| Returns a string parameter from a scope. | |
| static size_t | setDefaults (isc::data::ElementPtr scope, const SimpleDefaults &default_values) | 
| Sets the default values. | |
| static size_t | setListDefaults (isc::data::ConstElementPtr list, const SimpleDefaults &default_values) | 
| Sets the default values for all entries in a list. | |
Parser for option data values within a subnet.
This parser iterates over all entries that define options data for a particular subnet and creates a collection of options. If parsing is successful, all these options are added to the Subnet object.
Definition at line 191 of file option_data_parser.h.
| isc::dhcp::OptionDataListParser::OptionDataListParser | ( | const uint16_t | address_family, | 
| CfgOptionDefPtr | cfg_option_def = CfgOptionDefPtr() ) | 
Constructor.
| address_family | Address family: AF_INETor AF_INET6 | 
| cfg_option_def | Config option definitions (optional) | 
Definition at line 451 of file option_data_parser.cc.
References address_family_, and cfg_option_def_.
| 
 | inlinevirtual | 
Virtual destructor.
Definition at line 201 of file option_data_parser.h.
| 
 | protectedvirtual | 
Returns an instance of the OptionDataListParser to be used in parsing options. 
This function can be overridden in the child classes to supply a custom parser for option data.
OptionDataListParser. Definition at line 475 of file option_data_parser.cc.
References address_family_, and cfg_option_def_.
Referenced by parse().
| void isc::dhcp::OptionDataListParser::parse | ( | const CfgOptionPtr & | cfg, | 
| isc::data::ConstElementPtr | option_data_list, | ||
| bool | encapsulate = true ) | 
Parses a list of options, instantiates them and stores in cfg.
This method expects to get a list of options in option_data_list, iterates over them, creates option objects, wraps them with option descriptor and stores in specified cfg.
| cfg | created options will be stored here | 
| option_data_list | configuration that describes the options | 
| encapsulate | a boolean value indicating whether or not the parser should encapsulate options with suboptions. The default value is true (encapsulate). | 
Definition at line 459 of file option_data_parser.cc.
References createOptionDataParser().
Referenced by isc::host_cache::HCEntryParser::parse(), isc::dhcp::HostReservationParser4::parseInternal(), isc::dhcp::HostReservationParser6::parseInternal(), isc::dhcp::processDhcp4Config(), and isc::dhcp::processDhcp6Config().
| 
 | protected | 
Address family: AF_INET or AF_INET6. 
Definition at line 230 of file option_data_parser.h.
Referenced by OptionDataListParser(), and createOptionDataParser().
| 
 | protected | 
Config option definitions.
Definition at line 233 of file option_data_parser.h.
Referenced by OptionDataListParser(), and createOptionDataParser().