OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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

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

Definition at line 47 of file named_config.h.

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

Definition at line 48 of file named_config.h.

Constructor & Destructor Documentation

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:

virtual NamedConfig::~NamedConfig ( )
inlinevirtual

Definition at line 82 of file named_config.h.

Member Function Documentation

void NamedConfig::AddAllViews ( )
virtual

Definition at line 84 of file named_config.cc.

void NamedConfig::AddView ( const VirtualDnsConfig vdns)
virtual

Definition at line 66 of file named_config.cc.

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:

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:

void NamedConfig::ChangeView ( const VirtualDnsConfig vdns)
virtual

Definition at line 70 of file named_config.cc.

Here is the call graph for this function:

void NamedConfig::CreateNamedConf ( const VirtualDnsConfig updated_vdns)
protected

Definition at line 155 of file named_config.cc.

void NamedConfig::CreateRndcConf ( )
protected

Definition at line 168 of file named_config.cc.

Here is the call graph for this function:

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:

void NamedConfig::DelView ( const VirtualDnsConfig vdns)
virtual

Definition at line 80 of file named_config.cc.

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:

void NamedConfig::GetDefaultForwarders ( )
protected

Definition at line 466 of file named_config.cc.

static NamedConfig* NamedConfig::GetNamedConfigObject ( )
inlinestatic

Definition at line 83 of file named_config.h.

string NamedConfig::GetPidFilePath ( )

Definition at line 363 of file named_config.cc.

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

Definition at line 105 of file named_config.h.

string NamedConfig::GetSessionKeyFilePath ( )

Definition at line 367 of file named_config.cc.

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

Definition at line 352 of file named_config.cc.

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

Definition at line 359 of file named_config.cc.

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

Definition at line 375 of file named_config.cc.

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

Definition at line 371 of file named_config.cc.

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.

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:

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:

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

Definition at line 108 of file named_config.h.

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

Definition at line 109 of file named_config.h.

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

Definition at line 110 of file named_config.h.

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:

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

Definition at line 338 of file named_config.cc.

void NamedConfig::Reset ( )

Definition at line 47 of file named_config.cc.

void NamedConfig::Shutdown ( )
static

Definition at line 41 of file named_config.cc.

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:

void NamedConfig::WriteDefaultView ( ZoneViewMap zone_view_map)
protected

Definition at line 293 of file named_config.cc.

void NamedConfig::WriteLoggingConfig ( )
protected

Definition at line 215 of file named_config.cc.

void NamedConfig::WriteOptionsConfig ( )
protected

Definition at line 186 of file named_config.cc.

Here is the call graph for this function:

void NamedConfig::WriteRndcConfig ( )
protected

Definition at line 202 of file named_config.cc.

Here is the call graph for this function:

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:

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

bool NamedConfig::all_zone_files_
protected

Definition at line 145 of file named_config.h.

std::string NamedConfig::default_forwarders_
protected

Definition at line 143 of file named_config.h.

std::ofstream NamedConfig::file_
protected

Definition at line 135 of file named_config.h.

std::string NamedConfig::named_config_dir_
protected

Definition at line 137 of file named_config.h.

std::string NamedConfig::named_config_file_
protected

Definition at line 136 of file named_config.h.

std::string NamedConfig::named_log_file_
protected

Definition at line 139 of file named_config.h.

std::string NamedConfig::named_max_cache_size_
protected

Definition at line 142 of file named_config.h.

std::string NamedConfig::named_sessionkey_file_
protected

Definition at line 138 of file named_config.h.

const string NamedConfig::NamedZoneFileSuffix = "zone"
static

Definition at line 50 of file named_config.h.

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

Definition at line 52 of file named_config.h.

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

Definition at line 51 of file named_config.h.

const int NamedConfig::NameWidth = 30
static

Definition at line 55 of file named_config.h.

const int NamedConfig::NumberWidth = 10
static

Definition at line 56 of file named_config.h.

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

Definition at line 53 of file named_config.h.

bool NamedConfig::reset_flag_
protected

Definition at line 144 of file named_config.h.

std::string NamedConfig::rndc_config_file_
protected

Definition at line 140 of file named_config.h.

std::string NamedConfig::rndc_secret_
protected

Definition at line 141 of file named_config.h.

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

Definition at line 54 of file named_config.h.

NamedConfig * NamedConfig::singleton_
staticprotected

Definition at line 146 of file named_config.h.

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: