OpenSDN source code
NamedConfig Class Reference

#include <named_config.h>

Collaboration diagram for NamedConfig:

Classes

struct  Defaults
 

Public Types

typedef std::map< std::string, std::string > ZoneViewMap
 
typedef std::pair< std::string, std::string > ZoneViewPair
 

Public Member Functions

 NamedConfig (const std::string &named_config_dir, const std::string &named_config_file, const std::string &named_log_file, const std::string &rndc_config_file, const std::string &rndc_secret, const std::string &named_max_cache_size)
 
virtual ~NamedConfig ()
 
void Reset ()
 
virtual void AddView (const VirtualDnsConfig *vdns)
 
virtual void ChangeView (const VirtualDnsConfig *vdns)
 
virtual void DelView (const VirtualDnsConfig *vdns)
 
virtual void AddAllViews ()
 
virtual void AddZone (const Subnet &subnet, const VirtualDnsConfig *vdns)
 
virtual void DelZone (const Subnet &subnet, const VirtualDnsConfig *vdns)
 
virtual void UpdateNamedConf (const VirtualDnsConfig *updated_vdns=NULL)
 
void RemoveZoneFiles (const VirtualDnsConfig *vdns, ZoneList &zones)
 
virtual std::string GetZoneFileName (const std::string &vdns, const std::string &name)
 
virtual std::string GetZoneFilePath (const std::string &vdns, const std::string &name)
 
virtual std::string GetResolveFile ()
 
std::string GetPidFilePath ()
 
std::string GetSessionKeyFilePath ()
 
const std::string & named_config_dir () const
 
const std::string & named_config_file () const
 
const std::string & named_sessionkey_file () const
 

Static Public Member Functions

static NamedConfigGetNamedConfigObject ()
 
static void Init (const std::string &named_config_dir, const std::string &named_config_file, const std::string &named_log_file, const std::string &rndc_config_file, const std::string &rndc_secret, const std::string &named_max_cache_size)
 
static void Shutdown ()
 

Static Public Attributes

static const std::string NamedZoneFileSuffix = "zone"
 
static const std::string NamedZoneNSPrefix = "contrail-ns"
 
static const std::string NamedZoneMXPrefix = "contrail-mx"
 
static const char pid_file_name [] = "contrail-named.pid"
 
static const char sessionkey_file_name [] = "session.key"
 
static const int NameWidth = 30
 
static const int NumberWidth = 10
 
static const int TypeWidth = 4
 

Protected Member Functions

void CreateRndcConf ()
 
void CreateNamedConf (const VirtualDnsConfig *updated_vdns)
 
void WriteOptionsConfig ()
 
void WriteRndcConfig ()
 
void WriteLoggingConfig ()
 
void WriteViewConfig (const VirtualDnsConfig *updated_vdns)
 
void WriteDefaultView (ZoneViewMap &zone_view_map)
 
void WriteZone (const std::string &vdns, const std::string &name, bool is_master, bool is_rr, const std::string &next_dns)
 
void AddZoneFiles (ZoneList &zones, const VirtualDnsConfig *vdns)
 
void RemoveZoneFile (const VirtualDnsConfig *vdns, std::string &zone)
 
std::string GetZoneNSName (const std::string domain_name)
 
std::string GetZoneMXName (const std::string domain_name)
 
void CreateZoneFile (std::string &zone_name, const VirtualDnsConfig *vdns, bool ns)
 
void MakeZoneList (const VirtualDnsConfig *vdns_config, ZoneList &zones)
 
void MakeReverseZoneList (const VirtualDnsConfig *vdns_config, ZoneList &zones)
 
void GetDefaultForwarders ()
 

Protected Attributes

std::ofstream file_
 
std::string named_config_file_
 
std::string named_config_dir_
 
std::string named_sessionkey_file_
 
std::string named_log_file_
 
std::string rndc_config_file_
 
std::string rndc_secret_
 
std::string named_max_cache_size_
 
std::string default_forwarders_
 
bool reset_flag_
 
bool all_zone_files_
 

Static Protected Attributes

static NamedConfigsingleton_
 

Detailed Description

Definition at line 44 of file named_config.h.

Member Typedef Documentation

◆ ZoneViewMap

typedef std::map<std::string, std::string> NamedConfig::ZoneViewMap

Definition at line 47 of file named_config.h.

◆ ZoneViewPair

typedef std::pair<std::string, std::string> NamedConfig::ZoneViewPair

Definition at line 48 of file named_config.h.

Constructor & Destructor Documentation

◆ NamedConfig()

NamedConfig::NamedConfig ( const std::string &  named_config_dir,
const std::string &  named_config_file,
const std::string &  named_log_file,
const std::string &  rndc_config_file,
const std::string &  rndc_secret,
const std::string &  named_max_cache_size 
)
inline

Definition at line 68 of file named_config.h.

Here is the call graph for this function:

◆ ~NamedConfig()

virtual NamedConfig::~NamedConfig ( )
inlinevirtual

Definition at line 82 of file named_config.h.

Member Function Documentation

◆ AddAllViews()

void NamedConfig::AddAllViews ( )
virtual

Definition at line 84 of file named_config.cc.

◆ AddView()

void NamedConfig::AddView ( const VirtualDnsConfig vdns)
virtual

Definition at line 66 of file named_config.cc.

◆ AddZone()

void NamedConfig::AddZone ( const Subnet subnet,
const VirtualDnsConfig vdns 
)
virtual

Definition at line 90 of file named_config.cc.

Here is the call graph for this function:

◆ AddZoneFiles()

void NamedConfig::AddZoneFiles ( ZoneList zones,
const VirtualDnsConfig vdns 
)
protected

Definition at line 332 of file named_config.cc.

Here is the call graph for this function:

◆ ChangeView()

void NamedConfig::ChangeView ( const VirtualDnsConfig vdns)
virtual

Definition at line 70 of file named_config.cc.

Here is the call graph for this function:

◆ CreateNamedConf()

void NamedConfig::CreateNamedConf ( const VirtualDnsConfig updated_vdns)
protected

Definition at line 155 of file named_config.cc.

◆ CreateRndcConf()

void NamedConfig::CreateRndcConf ( )
protected

Definition at line 168 of file named_config.cc.

Here is the call graph for this function:

◆ CreateZoneFile()

void NamedConfig::CreateZoneFile ( std::string &  zone_name,
const VirtualDnsConfig vdns,
bool  ns 
)
protected

Definition at line 379 of file named_config.cc.

Here is the call graph for this function:

◆ DelView()

void NamedConfig::DelView ( const VirtualDnsConfig vdns)
virtual

Definition at line 80 of file named_config.cc.

◆ DelZone()

void NamedConfig::DelZone ( const Subnet subnet,
const VirtualDnsConfig vdns 
)
virtual

Definition at line 110 of file named_config.cc.

Here is the call graph for this function:

◆ GetDefaultForwarders()

void NamedConfig::GetDefaultForwarders ( )
protected

Definition at line 466 of file named_config.cc.

◆ GetNamedConfigObject()

static NamedConfig* NamedConfig::GetNamedConfigObject ( )
inlinestatic

Definition at line 83 of file named_config.h.

◆ GetPidFilePath()

string NamedConfig::GetPidFilePath ( )

Definition at line 363 of file named_config.cc.

◆ GetResolveFile()

virtual std::string NamedConfig::GetResolveFile ( )
inlinevirtual

Definition at line 105 of file named_config.h.

◆ GetSessionKeyFilePath()

string NamedConfig::GetSessionKeyFilePath ( )

Definition at line 367 of file named_config.cc.

◆ GetZoneFileName()

string NamedConfig::GetZoneFileName ( const std::string &  vdns,
const std::string &  name 
)
virtual

Definition at line 352 of file named_config.cc.

◆ GetZoneFilePath()

string NamedConfig::GetZoneFilePath ( const std::string &  vdns,
const std::string &  name 
)
virtual

Definition at line 359 of file named_config.cc.

◆ GetZoneMXName()

string NamedConfig::GetZoneMXName ( const std::string  domain_name)
protected

Definition at line 375 of file named_config.cc.

◆ GetZoneNSName()

string NamedConfig::GetZoneNSName ( const std::string  domain_name)
protected

Definition at line 371 of file named_config.cc.

◆ Init()

void NamedConfig::Init ( const std::string &  named_config_dir,
const std::string &  named_config_file,
const std::string &  named_log_file,
const std::string &  rndc_config_file,
const std::string &  rndc_secret,
const std::string &  named_max_cache_size 
)
static

Definition at line 28 of file named_config.cc.

◆ MakeReverseZoneList()

void NamedConfig::MakeReverseZoneList ( const VirtualDnsConfig vdns_config,
ZoneList zones 
)
protected

Definition at line 436 of file named_config.cc.

Here is the call graph for this function:

◆ MakeZoneList()

void NamedConfig::MakeZoneList ( const VirtualDnsConfig vdns_config,
ZoneList zones 
)
protected

Definition at line 421 of file named_config.cc.

Here is the call graph for this function:

◆ named_config_dir()

const std::string& NamedConfig::named_config_dir ( ) const
inline

Definition at line 108 of file named_config.h.

◆ named_config_file()

const std::string& NamedConfig::named_config_file ( ) const
inline

Definition at line 109 of file named_config.h.

◆ named_sessionkey_file()

const std::string& NamedConfig::named_sessionkey_file ( ) const
inline

Definition at line 110 of file named_config.h.

◆ RemoveZoneFile()

void NamedConfig::RemoveZoneFile ( const VirtualDnsConfig vdns,
std::string &  zone 
)
protected

Definition at line 345 of file named_config.cc.

Here is the call graph for this function:

◆ RemoveZoneFiles()

void NamedConfig::RemoveZoneFiles ( const VirtualDnsConfig vdns,
ZoneList zones 
)

Definition at line 338 of file named_config.cc.

◆ Reset()

void NamedConfig::Reset ( )

Definition at line 47 of file named_config.cc.

◆ Shutdown()

void NamedConfig::Shutdown ( )
static

Definition at line 41 of file named_config.cc.

◆ UpdateNamedConf()

void NamedConfig::UpdateNamedConf ( const VirtualDnsConfig updated_vdns = NULL)
virtual

Definition at line 130 of file named_config.cc.

Here is the call graph for this function:

◆ WriteDefaultView()

void NamedConfig::WriteDefaultView ( ZoneViewMap zone_view_map)
protected

Definition at line 293 of file named_config.cc.

◆ WriteLoggingConfig()

void NamedConfig::WriteLoggingConfig ( )
protected

Definition at line 215 of file named_config.cc.

◆ WriteOptionsConfig()

void NamedConfig::WriteOptionsConfig ( )
protected

Definition at line 186 of file named_config.cc.

Here is the call graph for this function:

◆ WriteRndcConfig()

void NamedConfig::WriteRndcConfig ( )
protected

Definition at line 202 of file named_config.cc.

Here is the call graph for this function:

◆ WriteViewConfig()

void NamedConfig::WriteViewConfig ( const VirtualDnsConfig updated_vdns)
protected

Definition at line 233 of file named_config.cc.

Here is the call graph for this function:

◆ WriteZone()

void NamedConfig::WriteZone ( const std::string &  vdns,
const std::string &  name,
bool  is_master,
bool  is_rr,
const std::string &  next_dns 
)
protected

Definition at line 310 of file named_config.cc.

Here is the call graph for this function:

Member Data Documentation

◆ all_zone_files_

bool NamedConfig::all_zone_files_
protected

Definition at line 145 of file named_config.h.

◆ default_forwarders_

std::string NamedConfig::default_forwarders_
protected

Definition at line 143 of file named_config.h.

◆ file_

std::ofstream NamedConfig::file_
protected

Definition at line 135 of file named_config.h.

◆ named_config_dir_

std::string NamedConfig::named_config_dir_
protected

Definition at line 137 of file named_config.h.

◆ named_config_file_

std::string NamedConfig::named_config_file_
protected

Definition at line 136 of file named_config.h.

◆ named_log_file_

std::string NamedConfig::named_log_file_
protected

Definition at line 139 of file named_config.h.

◆ named_max_cache_size_

std::string NamedConfig::named_max_cache_size_
protected

Definition at line 142 of file named_config.h.

◆ named_sessionkey_file_

std::string NamedConfig::named_sessionkey_file_
protected

Definition at line 138 of file named_config.h.

◆ NamedZoneFileSuffix

const string NamedConfig::NamedZoneFileSuffix = "zone"
static

Definition at line 50 of file named_config.h.

◆ NamedZoneMXPrefix

const string NamedConfig::NamedZoneMXPrefix = "contrail-mx"
static

Definition at line 52 of file named_config.h.

◆ NamedZoneNSPrefix

const string NamedConfig::NamedZoneNSPrefix = "contrail-ns"
static

Definition at line 51 of file named_config.h.

◆ NameWidth

const int NamedConfig::NameWidth = 30
static

Definition at line 55 of file named_config.h.

◆ NumberWidth

const int NamedConfig::NumberWidth = 10
static

Definition at line 56 of file named_config.h.

◆ pid_file_name

const char NamedConfig::pid_file_name = "contrail-named.pid"
static

Definition at line 53 of file named_config.h.

◆ reset_flag_

bool NamedConfig::reset_flag_
protected

Definition at line 144 of file named_config.h.

◆ rndc_config_file_

std::string NamedConfig::rndc_config_file_
protected

Definition at line 140 of file named_config.h.

◆ rndc_secret_

std::string NamedConfig::rndc_secret_
protected

Definition at line 141 of file named_config.h.

◆ sessionkey_file_name

const char NamedConfig::sessionkey_file_name = "session.key"
static

Definition at line 54 of file named_config.h.

◆ singleton_

NamedConfig * NamedConfig::singleton_
staticprotected

Definition at line 146 of file named_config.h.

◆ TypeWidth

const int NamedConfig::TypeWidth = 4
static

Definition at line 57 of file named_config.h.


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