Kea
1.9.9-git
|
#include <cfg_option.h>
Public Member Functions | |
OptionDescriptor (const OptionPtr &opt, bool persist, const std::string &formatted_value="", data::ConstElementPtr user_context=data::ConstElementPtr()) | |
Constructor. More... | |
OptionDescriptor (bool persist) | |
Constructor. More... | |
OptionDescriptor (const OptionDescriptor &desc) | |
Copy constructor. More... | |
bool | equals (const OptionDescriptor &other) const |
Checks if the one descriptor is equal to another. More... | |
bool | operator!= (const OptionDescriptor &other) const |
Inequality operator. More... | |
OptionDescriptor & | operator= (const OptionDescriptor &other) |
Assignment operator. More... | |
bool | operator== (const OptionDescriptor &other) const |
Equality operator. More... | |
Public Member Functions inherited from isc::data::StampedElement | |
StampedElement () | |
Constructor. More... | |
void | delServerTag (const std::string &server_tag) |
Deletes server tag. More... | |
isc::data::ElementPtr | getMetadata () const |
Returns an object representing metadata to be returned with objects from the configuration backend. More... | |
std::set< ServerTag > | getServerTags () const |
Returns server tags. More... | |
bool | hasAllServerTag () const |
Checks if the element has 'all' server tag. More... | |
bool | hasServerTag (const ServerTag &server_tag) const |
Checks if the element has the given server tag. More... | |
void | setServerTag (const std::string &server_tag) |
Adds new server tag. More... | |
Public Member Functions inherited from isc::data::BaseStampedElement | |
BaseStampedElement () | |
Constructor. More... | |
uint64_t | getId () const |
Returns element's database identifier. More... | |
boost::posix_time::ptime | getModificationTime () const |
Returns timestamp. More... | |
void | setId (const uint64_t id) |
Sets element's database identifier. More... | |
void | setModificationTime (const boost::posix_time::ptime ×tamp) |
Sets timestamp to the explicitly provided value. More... | |
void | updateModificationTime () |
Sets timestamp to the current time. More... | |
Public Member Functions inherited from isc::data::UserContext | |
void | contextToElement (data::ElementPtr map) const |
Merge unparse a user_context object. More... | |
data::ConstElementPtr | getContext () const |
Returns const pointer to the user context. More... | |
void | setContext (const data::ConstElementPtr &ctx) |
Sets user context. More... | |
Static Public Member Functions | |
static OptionDescriptorPtr | create (const OptionPtr &opt, bool persist, const std::string &formatted_value="", data::ConstElementPtr user_context=data::ConstElementPtr()) |
Factory function creating an instance of the OptionDescriptor . More... | |
static OptionDescriptorPtr | create (bool persist) |
Factory function creating an instance of the OptionDescriptor . More... | |
static OptionDescriptorPtr | create (const OptionDescriptor &desc) |
Factory function creating an instance of the OptionDescriptor . More... | |
Static Public Member Functions inherited from isc::data::UserContext | |
static data::ElementPtr | toElement (data::ConstElementPtr map) |
Copy an Element map. More... | |
Public Attributes | |
std::string | formatted_value_ |
Option value in textual (CSV) format. More... | |
OptionPtr | option_ |
Option instance. More... | |
bool | persistent_ |
Persistence flag. More... | |
std::string | space_name_ |
Option space name. More... | |
Additional Inherited Members | |
Protected Attributes inherited from isc::data::BaseStampedElement | |
uint64_t | id_ |
Database identifier of the configuration element. More... | |
boost::posix_time::ptime | timestamp_ |
Holds timestamp value. More... | |
Protected Attributes inherited from isc::data::UserContext | |
data::ConstElementPtr | user_context_ |
Pointer to the user context (may be NULL) More... | |
Option descriptor.
Option descriptor holds instance of an option and additional information for this option. This information comprises whether this option is sent to DHCP client only on request (persistent = false) or always (persistent = true).
Definition at line 42 of file cfg_option.h.
|
inline |
Constructor.
opt | option instance. |
persist | if true, option is always sent. |
formatted_value | option value in the textual format (optional). |
user_context | user context (optional). |
Definition at line 85 of file cfg_option.h.
References isc::data::UserContext::setContext().
|
inline |
Constructor.
persist | if true option is always sent. |
Definition at line 97 of file cfg_option.h.
|
inline |
Copy constructor.
desc | option descriptor to be copied. |
Definition at line 104 of file cfg_option.h.
References isc::data::UserContext::getContext(), and isc::data::UserContext::setContext().
|
static |
Factory function creating an instance of the OptionDescriptor
.
opt | option instance. |
persist | if true, option is always sent. |
formatted_value | option value in the textual format (optional). |
user_context | user context (optional). |
OptionDescriptor
instance. Definition at line 27 of file cfg_option.cc.
|
static |
Factory function creating an instance of the OptionDescriptor
.
persist | if true option is always sent. |
OptionDescriptor
instance. Definition at line 35 of file cfg_option.cc.
|
static |
Factory function creating an instance of the OptionDescriptor
.
desc | option descriptor to be copied. |
OptionDescriptor
instance. Definition at line 40 of file cfg_option.cc.
bool isc::dhcp::OptionDescriptor::equals | ( | const OptionDescriptor & | other | ) | const |
Checks if the one descriptor is equal to another.
other | Other option descriptor to compare to. |
Definition at line 45 of file cfg_option.cc.
References formatted_value_, option_, persistent_, and space_name_.
Referenced by operator!=(), and operator==().
|
inline |
Inequality operator.
other | Other option descriptor to compare to. |
Definition at line 178 of file cfg_option.h.
References equals().
|
inline |
Assignment operator.
other | option descriptor to be assigned from. |
Definition at line 116 of file cfg_option.h.
References formatted_value_, isc::data::UserContext::getContext(), option_, persistent_, isc::data::UserContext::setContext(), and space_name_.
|
inline |
Equality operator.
other | Other option descriptor to compare to. |
Definition at line 169 of file cfg_option.h.
References equals().
std::string isc::dhcp::OptionDescriptor::formatted_value_ |
Option value in textual (CSV) format.
This field is used to convey option value in human readable format, the same as used to specify option value in the server configuration. This value is optional and can be held in the host reservations database instead of the binary format.
Note that this value is carried in the option descriptor, rather than Option
instance because it is a server specific value (same as persistence flag).
An example of the formatted value is: "2001:db8:1::1, 23, some text" for the option which carries IPv6 address, a number and a text.
Definition at line 66 of file cfg_option.h.
Referenced by isc::dhcp::CfgOption::createDescriptorOption(), equals(), operator=(), and isc::dhcp::CqlHostExchange::prepareExchange().
OptionPtr isc::dhcp::OptionDescriptor::option_ |
Option instance.
Definition at line 45 of file cfg_option.h.
Referenced by isc::dhcp::CfgOption::add(), isc::dhcp::Dhcpv4Srv::appendBasicOptions(), isc::dhcp::Dhcpv4Srv::appendRequestedOptions(), isc::dhcp::Dhcpv6Srv::appendRequestedOptions(), isc::dhcp::Dhcpv4Srv::appendRequestedVendorOptions(), isc::dhcp::Dhcpv6Srv::appendRequestedVendorOptions(), isc::dhcp::CfgOption::createDescriptorOption(), equals(), operator=(), isc::dhcp::CqlHostExchange::prepareExchange(), and isc::dhcp::CfgOption::replace().
bool isc::dhcp::OptionDescriptor::persistent_ |
Persistence flag.
If true, option is always sent to the client. If false, option is sent to the client when requested using ORO or PRL option.
Definition at line 51 of file cfg_option.h.
Referenced by equals(), operator=(), and isc::dhcp::CqlHostExchange::prepareExchange().
std::string isc::dhcp::OptionDescriptor::space_name_ |
Option space name.
Options are associated with option spaces. Typically, such association is made when the option is stored in the OptionContainer
. However, in some cases it is also required to associate option with the particular option space outside of the container. In particular, when the option is fetched from a database. The database configuration backend will set option space upon return of the option. In other cases this value won't be set.
Definition at line 77 of file cfg_option.h.
Referenced by equals(), and operator=().