27 const std::string&
test) {
31 container_.insert(pair<const uint8_t, AttributeValue>
51 return (it->second.def_);
60 return (it->second.attr_);
69 return (it->second.expr_);
78 return (it->second.test_);
85 attrs.
add(it.second.attr_);
96 attrs.
add(it.second.attr_);
108 vector<uint8_t> binary;
109 binary.resize(value.size());
110 memmove(&binary[0], value.c_str(), binary.size());
125 if (!it.second.test_.empty()) {
130 }
else if (it.second.attr_) {
131 map = it.second.attr_->toElement();
static ElementPtr create(const Position &pos=ZERO_POSITION())
static ElementPtr createMap(const Position &pos=ZERO_POSITION())
Creates an empty MapElement type ElementPtr.
static ElementPtr createList(const Position &pos=ZERO_POSITION())
Creates an empty ListElement type ElementPtr.
A generic exception that is thrown if a parameter given to a method is considered invalid in that con...
Base class for classes representing DHCP messages.
static AttributePtr fromBytes(const std::vector< uint8_t > &bytes)
From bytes (wire format).
Collection of attributes.
void add(const ConstAttributePtr &attr)
Adds instance of the attribute to the collection.
Attributes getAll() const
Get all attributes in the configuration.
void add(const AttrDefPtr &def, const ConstAttributePtr &attr, const dhcp::ExpressionPtr &expr, const std::string &test)
Adds instance of the attribute to the configuration.
AttrDefPtr getDef(const uint8_t type) const
Returns the definition of an attribute.
ConstAttributePtr get(const uint8_t type) const
Get instance of the attribute in the configuration.
std::multimap< uint8_t, AttributeValue > container_
The container.
dhcp::ExpressionPtr getExpr(const uint8_t type) const
Returns the expression of an attribute.
std::string getTest(const uint8_t type) const
Returns the text expression of an attribute.
bool del(const uint8_t type)
Deletes an attribute from the configuration.
Attributes getEvalAll(dhcp::Pkt &pkt)
Get all evaluated attributes in the configuration.
data::ElementPtr toElement() const override
Unparse configuration.
#define isc_throw(type, stream)
A shortcut macro to insert known values into exception arguments.
boost::shared_ptr< Element > ElementPtr
std::string evaluateString(const Expression &expr, Pkt &pkt)
Evaluate a RPN expression for a v4 or v6 packet and return a string value.
boost::shared_ptr< Expression > ExpressionPtr
boost::shared_ptr< const Attribute > ConstAttributePtr
boost::shared_ptr< AttrDef > AttrDefPtr
Shared pointers to Attribute definition.
boost::shared_ptr< Attribute > AttributePtr
Defines the logger used by the top-level component of kea-lfc.