![]() |
Kea 3.3.4
|
Implements a parser for a subnet id. More...
#include <cb_parsers.h>
Public Member Functions | |
| dhcp::SubnetID | parse (data::ConstElementPtr subnet) |
| Parses a subnet id. | |
| 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 a subnet id.
Used for getting and deleting a subnet by id.
Definition at line 569 of file cb_parsers.h.
| SubnetID isc::cb::CBSubnetIdParser::parse | ( | data::ConstElementPtr | subnet | ) |
Parses a subnet id.
The subnet specification is reduced to the subnet id, which is expected to always be present in "id" parameter and must be a valid number within the range of allowed subnet ids.
| subnet | pointer to the content of subnet definition. |
| DhcpConfigError | if the id does not exist, is not an integer or another parameter is specified. |
| OutOfRange | if the id is not in the [1..SUBNET_ID_MAX] range. |
Definition at line 477 of file cb_parsers.cc.
References isc::data::SimpleParser::checkKeywords(), isc::data::SimpleParser::checkRequired(), isc::data::SimpleParser::getInteger(), and isc_throw.