OpenSDN source code
DomainConfig Class Reference

#include <vn.h>

Public Types

typedef std::map< std::string, autogen::IpamType > IpamDomainConfigMap
 
typedef std::pair< std::string, autogen::IpamType > IpamDomainConfigPair
 
typedef std::map< std::string, autogen::VirtualDnsType > VdnsDomainConfigMap
 
typedef std::pair< std::string, autogen::VirtualDnsType > VdnsDomainConfigPair
 
typedef boost::function< void(IFMapNode *)> Callback
 

Public Member Functions

 DomainConfig (Agent *)
 
virtual ~DomainConfig ()
 
void Init ()
 
void Terminate ()
 
void RegisterIpamCb (Callback cb)
 
void RegisterVdnsCb (Callback cb)
 
void IpamDelete (IFMapNode *node)
 
void IpamAddChange (IFMapNode *node)
 
void VDnsDelete (IFMapNode *node)
 
void VDnsAddChange (IFMapNode *node)
 
bool GetIpam (const std::string &name, autogen::IpamType *ipam)
 
bool GetVDns (const std::string &vdns, autogen::VirtualDnsType *vdns_type)
 

Private Member Functions

void CallVdnsCb (IFMapNode *node)
 
void CallIpamCb (IFMapNode *node)
 
bool IpamChanged (const autogen::IpamType &old, const autogen::IpamType &cur) const
 
 DISALLOW_COPY_AND_ASSIGN (DomainConfig)
 

Private Attributes

IpamDomainConfigMap ipam_config_
 
VdnsDomainConfigMap vdns_config_
 
std::vector< Callbackipam_callback_
 
std::vector< Callbackvdns_callback_
 

Detailed Description

Definition at line 421 of file vn.h.

Member Typedef Documentation

◆ Callback

typedef boost::function<void(IFMapNode *)> DomainConfig::Callback

Definition at line 427 of file vn.h.

◆ IpamDomainConfigMap

typedef std::map<std::string, autogen::IpamType> DomainConfig::IpamDomainConfigMap

Definition at line 423 of file vn.h.

◆ IpamDomainConfigPair

typedef std::pair<std::string, autogen::IpamType> DomainConfig::IpamDomainConfigPair

Definition at line 424 of file vn.h.

◆ VdnsDomainConfigMap

typedef std::map<std::string, autogen::VirtualDnsType> DomainConfig::VdnsDomainConfigMap

Definition at line 425 of file vn.h.

◆ VdnsDomainConfigPair

typedef std::pair<std::string, autogen::VirtualDnsType> DomainConfig::VdnsDomainConfigPair

Definition at line 426 of file vn.h.

Constructor & Destructor Documentation

◆ DomainConfig()

DomainConfig::DomainConfig ( Agent agent)

Definition at line 1418 of file vn.cc.

◆ ~DomainConfig()

DomainConfig::~DomainConfig ( )
virtual

Definition at line 1421 of file vn.cc.

Member Function Documentation

◆ CallIpamCb()

void DomainConfig::CallIpamCb ( IFMapNode node)
private

Definition at line 1488 of file vn.cc.

◆ CallVdnsCb()

void DomainConfig::CallVdnsCb ( IFMapNode node)
private

Definition at line 1494 of file vn.cc.

◆ DISALLOW_COPY_AND_ASSIGN()

DomainConfig::DISALLOW_COPY_AND_ASSIGN ( DomainConfig  )
private

◆ GetIpam()

bool DomainConfig::GetIpam ( const std::string &  name,
autogen::IpamType *  ipam 
)

Definition at line 1548 of file vn.cc.

◆ GetVDns()

bool DomainConfig::GetVDns ( const std::string &  vdns,
autogen::VirtualDnsType *  vdns_type 
)

Definition at line 1556 of file vn.cc.

◆ Init()

void DomainConfig::Init ( )

Definition at line 1424 of file vn.cc.

◆ IpamAddChange()

void DomainConfig::IpamAddChange ( IFMapNode node)

Definition at line 1446 of file vn.cc.

Here is the call graph for this function:

◆ IpamChanged()

bool DomainConfig::IpamChanged ( const autogen::IpamType &  old,
const autogen::IpamType &  cur 
) const
private

Definition at line 1500 of file vn.cc.

◆ IpamDelete()

void DomainConfig::IpamDelete ( IFMapNode node)

Definition at line 1440 of file vn.cc.

Here is the call graph for this function:

◆ RegisterIpamCb()

void DomainConfig::RegisterIpamCb ( Callback  cb)

Definition at line 1430 of file vn.cc.

◆ RegisterVdnsCb()

void DomainConfig::RegisterVdnsCb ( Callback  cb)

Definition at line 1434 of file vn.cc.

◆ Terminate()

void DomainConfig::Terminate ( )

Definition at line 1427 of file vn.cc.

◆ VDnsAddChange()

void DomainConfig::VDnsAddChange ( IFMapNode node)

Definition at line 1473 of file vn.cc.

Here is the call graph for this function:

◆ VDnsDelete()

void DomainConfig::VDnsDelete ( IFMapNode node)

Definition at line 1467 of file vn.cc.

Here is the call graph for this function:

Member Data Documentation

◆ ipam_callback_

std::vector<Callback> DomainConfig::ipam_callback_
private

Definition at line 450 of file vn.h.

◆ ipam_config_

IpamDomainConfigMap DomainConfig::ipam_config_
private

Definition at line 448 of file vn.h.

◆ vdns_callback_

std::vector<Callback> DomainConfig::vdns_callback_
private

Definition at line 451 of file vn.h.

◆ vdns_config_

VdnsDomainConfigMap DomainConfig::vdns_config_
private

Definition at line 449 of file vn.h.


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