![]() |
Kea 3.3.4
|
Implements a parser for parsing the option code, space, and force. More...
#include <cb_parsers.h>
Public Member Functions | |
| CBOptionDefDeleteParser (const uint16_t address_family) | |
| Constructor. | |
| CBOptionDefDelete | parse (data::ConstElementPtr option) |
| Parses an option into code + space pair. | |
| Public Member Functions inherited from isc::cb::CBOptionPairParser | |
| CBOptionPairParser (const uint16_t address_family) | |
| Constructor. | |
| virtual | ~CBOptionPairParser () |
| Destructor. | |
| std::pair< uint16_t, std::string > | parse (data::ConstElementPtr option, bool skip_keywords=false) |
| Parses an option into code + space pair. | |
| 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. | |
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. | |
| template<typename T> | |
| static void | rangeCheckedInteger (isc::data::ConstElementPtr scope, const std::string &name, T &output_value) |
| Fetches a range-checked integer 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. | |
| 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. | |
Implements a parser for parsing the option code, space, and force.
Used for getting and deleting an option def or data.
Definition at line 202 of file cb_parsers.h.
|
inline |
Constructor.
| address_family | Address family: AF_INET or AF_INET6. |
Definition at line 207 of file cb_parsers.h.
References isc::cb::CBOptionPairParser::CBOptionPairParser().
| CBOptionDefDelete isc::cb::CBOptionDefDeleteParser::parse | ( | data::ConstElementPtr | option | ) |
Parses an option into code + space pair.
The option specification is reduced to the code, space, and (optional) client-classes list. The code is mandatory, the space defaults to the address family standard space, and client-classes to an empty pointer. The parser takes, checks and returns them.
| option | pointer to the content of option. |
| DhcpConfigError | if the code does not exist, is not an integer |
| BadValue | if the space exists but is not a valid space name. |
| OutOfRange | if the code is out of range ([0..255] for DHCPv4, [0..65535] for DHCPv6). |
Definition at line 208 of file cb_parsers.cc.
References Element::boolean, isc::data::SimpleParser::checkKeywords(), Element::integer, isc_throw, isc::cb::CBOptionPairParser::parse(), and Element::string.