Kea 2.5.8
isc::dhcp::OptionDescriptor Class Reference

Option descriptor. More...

#include <cfg_option.h>

+ Inheritance diagram for isc::dhcp::OptionDescriptor:

Public Member Functions

 OptionDescriptor (bool persist, bool cancel)
 Constructor.
 
 OptionDescriptor (const OptionDescriptor &desc)
 Copy constructor.
 
 OptionDescriptor (const OptionPtr &opt, bool persist, bool cancel, const std::string &formatted_value="", data::ConstElementPtr user_context=data::ConstElementPtr())
 Constructor.
 
bool equals (const OptionDescriptor &other) const
 Checks if the one descriptor is equal to another.
 
bool operator!= (const OptionDescriptor &other) const
 Inequality operator.
 
OptionDescriptoroperator= (const OptionDescriptor &other)
 Assignment operator.
 
bool operator== (const OptionDescriptor &other) const
 Equality operator.
 
- Public Member Functions inherited from isc::data::StampedElement
 StampedElement ()
 Constructor.
 
void delServerTag (const std::string &server_tag)
 Deletes server tag.
 
isc::data::ElementPtr getMetadata () const
 Returns an object representing metadata to be returned with objects from the configuration backend.
 
std::set< ServerTaggetServerTags () const
 Returns server tags.
 
bool hasAllServerTag () const
 Checks if the element has 'all' server tag.
 
bool hasServerTag (const ServerTag &server_tag) const
 Checks if the element has the given server tag.
 
void setServerTag (const std::string &server_tag)
 Adds new server tag.
 
- Public Member Functions inherited from isc::data::BaseStampedElement
 BaseStampedElement ()
 Constructor.
 
uint64_t getId () const
 Returns element's database identifier.
 
boost::posix_time::ptime getModificationTime () const
 Returns timestamp.
 
void setId (const uint64_t id)
 Sets element's database identifier.
 
void setModificationTime (const boost::posix_time::ptime &timestamp)
 Sets timestamp to the explicitly provided value.
 
void updateModificationTime ()
 Sets timestamp to the current time.
 
- Public Member Functions inherited from isc::data::UserContext
void contextToElement (data::ElementPtr map) const
 Merge unparse a user_context object.
 
data::ConstElementPtr getContext () const
 Returns const pointer to the user context.
 
void setContext (const data::ConstElementPtr &ctx)
 Sets user context.
 

Static Public Member Functions

static OptionDescriptorPtr create (bool persist, bool cancel)
 Factory function creating an instance of the OptionDescriptor.
 
static OptionDescriptorPtr create (const OptionDescriptor &desc)
 Factory function creating an instance of the OptionDescriptor.
 
static OptionDescriptorPtr create (const OptionPtr &opt, bool persist, bool cancel, const std::string &formatted_value="", data::ConstElementPtr user_context=data::ConstElementPtr())
 Factory function creating an instance of the OptionDescriptor.
 
- Static Public Member Functions inherited from isc::data::UserContext
static data::ElementPtr toElement (data::ConstElementPtr map)
 Copy an Element map.
 

Public Attributes

bool cancelled_
 Cancelled flag.
 
std::string formatted_value_
 Option value in textual (CSV) format.
 
OptionPtr option_
 Option instance.
 
bool persistent_
 Persistence flag.
 
std::string space_name_
 Option space name.
 

Additional Inherited Members

- Protected Attributes inherited from isc::data::BaseStampedElement
uint64_t id_
 Database identifier of the configuration element.
 
boost::posix_time::ptime timestamp_
 Holds timestamp value.
 
- Protected Attributes inherited from isc::data::UserContext
data::ConstElementPtr user_context_
 Pointer to the user context (may be NULL)
 

Detailed Description

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), or must never send (cancelled = true).

Definition at line 47 of file cfg_option.h.

Constructor & Destructor Documentation

◆ OptionDescriptor() [1/3]

isc::dhcp::OptionDescriptor::OptionDescriptor ( const OptionPtr opt,
bool  persist,
bool  cancel,
const std::string &  formatted_value = "",
data::ConstElementPtr  user_context = data::ConstElementPtr() 
)
inline

Constructor.

Parameters
optoption instance.
persistif true, option is always sent.
cancelif true, option is never sent.
formatted_valueoption value in the textual format (optional).
user_contextuser context (optional).

Definition at line 99 of file cfg_option.h.

References isc::data::UserContext::setContext().

+ Here is the call graph for this function:

◆ OptionDescriptor() [2/3]

isc::dhcp::OptionDescriptor::OptionDescriptor ( bool  persist,
bool  cancel 
)
inline

Constructor.

Parameters
persistif true option is always sent.
cancelif true, option is never sent.

Definition at line 112 of file cfg_option.h.

◆ OptionDescriptor() [3/3]

isc::dhcp::OptionDescriptor::OptionDescriptor ( const OptionDescriptor desc)
inline

Copy constructor.

Parameters
descoption descriptor to be copied.

Definition at line 119 of file cfg_option.h.

References isc::data::UserContext::getContext(), and isc::data::UserContext::setContext().

+ Here is the call graph for this function:

Member Function Documentation

◆ create() [1/3]

OptionDescriptorPtr isc::dhcp::OptionDescriptor::create ( bool  persist,
bool  cancel 
)
static

Factory function creating an instance of the OptionDescriptor.

Parameters
persistif true option is always sent.
cancelif true, option is never sent.
Returns
Pointer to the OptionDescriptor instance.

Definition at line 36 of file cfg_option.cc.

◆ create() [2/3]

OptionDescriptorPtr isc::dhcp::OptionDescriptor::create ( const OptionDescriptor desc)
static

Factory function creating an instance of the OptionDescriptor.

Parameters
descoption descriptor to be copied.
Returns
Pointer to the OptionDescriptor instance.

Definition at line 41 of file cfg_option.cc.

◆ create() [3/3]

OptionDescriptorPtr isc::dhcp::OptionDescriptor::create ( const OptionPtr opt,
bool  persist,
bool  cancel,
const std::string &  formatted_value = "",
data::ConstElementPtr  user_context = data::ConstElementPtr() 
)
static

Factory function creating an instance of the OptionDescriptor.

Parameters
optoption instance.
persistif true, option is always sent.
cancelif true, option is never sent.
formatted_valueoption value in the textual format (optional).
user_contextuser context (optional).
Returns
Pointer to the OptionDescriptor instance.

Definition at line 27 of file cfg_option.cc.

◆ equals()

bool isc::dhcp::OptionDescriptor::equals ( const OptionDescriptor other) const

Checks if the one descriptor is equal to another.

Parameters
otherOther option descriptor to compare to.
Returns
true if descriptors equal, false otherwise.

Definition at line 46 of file cfg_option.cc.

References cancelled_, formatted_value_, option_, persistent_, and space_name_.

Referenced by operator!=(), and operator==().

◆ operator!=()

bool isc::dhcp::OptionDescriptor::operator!= ( const OptionDescriptor other) const
inline

Inequality operator.

Parameters
otherOther option descriptor to compare to.
Returns
true if descriptors unequal, false otherwise.

Definition at line 198 of file cfg_option.h.

References equals().

+ Here is the call graph for this function:

◆ operator=()

OptionDescriptor & isc::dhcp::OptionDescriptor::operator= ( const OptionDescriptor other)
inline

Assignment operator.

Parameters
otheroption descriptor to be assigned from.

Definition at line 132 of file cfg_option.h.

References cancelled_, formatted_value_, isc::data::UserContext::getContext(), option_, persistent_, isc::data::UserContext::setContext(), and space_name_.

+ Here is the call graph for this function:

◆ operator==()

bool isc::dhcp::OptionDescriptor::operator== ( const OptionDescriptor other) const
inline

Equality operator.

Parameters
otherOther option descriptor to compare to.
Returns
true if descriptors equal, false otherwise.

Definition at line 189 of file cfg_option.h.

References equals().

+ Here is the call graph for this function:

Member Data Documentation

◆ cancelled_

bool isc::dhcp::OptionDescriptor::cancelled_

Cancelled flag.

If true, option is never sent to the client. If false, option is sent when it should.

Note
: When true the action of this flag is final i.e. it can't be overridden at a more specific level and has precedence over persist.

Definition at line 64 of file cfg_option.h.

Referenced by isc::dhcp::OptionDataParser::createOption(), equals(), and operator=().

◆ formatted_value_

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 79 of file cfg_option.h.

Referenced by isc::dhcp::CfgOption::createDescriptorOption(), isc::dhcp::OptionDataParser::createOption(), equals(), and operator=().

◆ option_

◆ persistent_

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 56 of file cfg_option.h.

Referenced by isc::dhcp::OptionDataParser::createOption(), equals(), and operator=().

◆ space_name_

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 90 of file cfg_option.h.

Referenced by equals(), and operator=().


The documentation for this class was generated from the following files: