Kea 2.7.6
isc::d2::DdnsDomain Class Reference

Represents a DNS domain that is may be updated dynamically. More...

#include <d2_config.h>

+ Inheritance diagram for isc::d2::DdnsDomain:

Public Member Functions

 DdnsDomain (const std::string &name, DnsServerInfoStoragePtr servers, const std::string &key_name="")
 Constructor.
 
virtual ~DdnsDomain ()
 Destructor.
 
const std::string getKeyName () const
 Getter which returns the domain's TSIG key name.
 
const std::string getName () const
 Getter which returns the domain's name.
 
const DnsServerInfoStoragePtrgetServers ()
 Getter which returns the domain's list of servers.
 
virtual isc::data::ElementPtr toElement () const
 Unparse a configuration object.
 
- 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.
 
- Public Member Functions inherited from isc::data::CfgToElement
virtual ~CfgToElement ()
 Destructor.
 

Additional Inherited Members

- Static Public Member Functions inherited from isc::data::UserContext
static data::ElementPtr toElement (data::ConstElementPtr map)
 Copy an Element map.
 
- Protected Attributes inherited from isc::data::UserContext
data::ConstElementPtr user_context_
 Pointer to the user context (may be NULL)
 

Detailed Description

Represents a DNS domain that is may be updated dynamically.

This class specifies a DNS domain and the list of DNS servers that support it. Its primary use is to map a domain to the DNS server(s) responsible for it.

Todo
Currently the name entry for a domain is just a std::string. It may be worthwhile to change this to a dns::Name for purposes of better validation and matching capabilities.

Definition at line 570 of file d2_config.h.

Constructor & Destructor Documentation

◆ DdnsDomain()

isc::d2::DdnsDomain::DdnsDomain ( const std::string & name,
DnsServerInfoStoragePtr servers,
const std::string & key_name = "" )

Constructor.

Parameters
nameis the domain name of the domain.
serversis the list of server(s) supporting this domain.
key_nameis the TSIG key name of the domain.

Definition at line 260 of file d2_config.cc.

◆ ~DdnsDomain()

isc::d2::DdnsDomain::~DdnsDomain ( )
virtual

Destructor.

Definition at line 266 of file d2_config.cc.

Member Function Documentation

◆ getKeyName()

const std::string isc::d2::DdnsDomain::getKeyName ( ) const
inline

Getter which returns the domain's TSIG key name.

Note
: TSIG key infos are in servers.
Returns
returns the key name in a std::string. If domain has no TSIG key, the string will be empty.

Definition at line 596 of file d2_config.h.

◆ getName()

const std::string isc::d2::DdnsDomain::getName ( ) const
inline

Getter which returns the domain's name.

Returns
returns the name in a std::string.

Definition at line 586 of file d2_config.h.

◆ getServers()

const DnsServerInfoStoragePtr & isc::d2::DdnsDomain::getServers ( )
inline

Getter which returns the domain's list of servers.

Returns
returns the pointer to the server storage.

Definition at line 603 of file d2_config.h.

◆ toElement()

ElementPtr isc::d2::DdnsDomain::toElement ( ) const
virtual

Unparse a configuration object.

Returns
a pointer to a configuration

Implements isc::data::CfgToElement.

Definition at line 270 of file d2_config.cc.

References isc::data::UserContext::contextToElement(), isc::data::Element::create(), isc::data::Element::createList(), and isc::data::Element::createMap().

+ Here is the call graph for this function:

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