![]()  | 
  
    Kea
    1.9.9-git
    
   | 
 
Parser for a logical expression. More...
#include <client_class_def_parser.h>
 Inheritance diagram for isc::dhcp::ExpressionParser:Public Member Functions | |
| void | parse (ExpressionPtr &expression, isc::data::ConstElementPtr expression_cfg, uint16_t family, isc::eval::EvalContext::CheckDefined check_defined=isc::eval::EvalContext::acceptAll) | 
| Parses an expression configuration element into an Expression.  More... | |
  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.  More... | |
| uint32_t | getUint32 (isc::data::ConstElementPtr scope, const std::string &name) | 
| Returns a value converted to uint32_t.  More... | |
| uint8_t | getUint8 (ConstElementPtr scope, const std::string &name) | 
| Get an uint8_t value.  More... | |
| const dhcp::Triplet< uint32_t > | parseIntTriplet (const data::ConstElementPtr &scope, const std::string &name) | 
| Parses an integer triplet.  More... | |
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.  More... | |
| static void | checkRequired (const SimpleRequiredKeywords &required, isc::data::ConstElementPtr scope) | 
| Checks that all required keywords are present.  More... | |
| static size_t | deriveParams (isc::data::ConstElementPtr parent, isc::data::ElementPtr child, const ParamsList ¶ms) | 
| Derives (inherits) parameters from parent scope to a child.  More... | |
| static isc::asiolink::IOAddress | getAddress (const ConstElementPtr &scope, const std::string &name) | 
| Returns a IOAddress parameter from a scope.  More... | |
| static bool | getBoolean (isc::data::ConstElementPtr scope, const std::string &name) | 
| Returns a boolean parameter from a scope.  More... | |
| static double | getDouble (const ConstElementPtr &scope, const std::string &name) | 
| Returns a floating point parameter from a scope.  More... | |
| static int64_t | getInteger (isc::data::ConstElementPtr scope, const std::string &name) | 
| Returns an integer parameter from a scope.  More... | |
| 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.  More... | |
| static const data::Element::Position & | getPosition (const std::string &name, const data::ConstElementPtr parent) | 
| Utility method that returns position of an element.  More... | |
| static std::string | getString (isc::data::ConstElementPtr scope, const std::string &name) | 
| Returns a string parameter from a scope.  More... | |
| static size_t | setDefaults (isc::data::ElementPtr scope, const SimpleDefaults &default_values) | 
| Sets the default values.  More... | |
| static size_t | setListDefaults (isc::data::ConstElementPtr list, const SimpleDefaults &default_values) | 
| Sets the default values for all entries in a list.  More... | |
  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.  More... | |
| 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.  More... | |
Parser for a logical expression.
This parser creates an instance of an Expression from a string. The string is passed to the Eval Parser and the resultant Expression is stored into the ExpressionPtr reference passed into the constructor.
Definition at line 62 of file client_class_def_parser.h.
| void isc::dhcp::ExpressionParser::parse | ( | ExpressionPtr & | expression, | 
| isc::data::ConstElementPtr | expression_cfg, | ||
| uint16_t | family, | ||
| isc::eval::EvalContext::CheckDefined | check_defined = isc::eval::EvalContext::acceptAll  | 
        ||
| ) | 
Parses an expression configuration element into an Expression.
| expression | variable in which to store the new expression | 
| expression_cfg | the configuration entry to be parsed. | 
| family | the address family of the expression. | 
| check_defined | a closure to check if a client class is defined. | 
| DhcpConfigError | if parsing was unsuccessful. | 
Definition at line 38 of file client_class_def_parser.cc.
References isc::eval::EvalContext::expression, isc_throw, isc::eval::EvalContext::parseString(), isc::data::Element::string, and isc::Exception::what().
Referenced by isc::dhcp::ClientClassDefParser::parse().
 Here is the call graph for this function: