OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
dns.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2013 Juniper Networks, Inc. All rights reserved.
3  */
4 
5 #ifndef __DNS_CMN_H_
6 #define __DNS_CMN_H_
7 
8 #include <boost/intrusive_ptr.hpp>
9 #include <boost/bind.hpp>
10 
11 #include <io/event_manager.h>
12 #include <base/logging.h>
13 #include <base/address.h>
14 #include <db/db.h>
15 #include <db/db_entry.h>
16 #include <db/db_table.h>
17 #include <base/task.h>
18 #include <base/task_trigger.h>
19 #include <io/event_manager.h>
20 #include <base/misc_utils.h>
21 #include <sandesh/sandesh_trace.h>
22 
23 class EventManager;
24 class DnsManager;
25 class DnsConfigManager;
26 class XmppServer;
28 
29 class Dns {
30 public:
31  static EventManager *GetEventManager() { return event_mgr_; }
33 
34  static DnsManager *GetDnsManager() { return dns_mgr_; }
35  static void SetDnsManager(DnsManager *mgr) { dns_mgr_ = mgr; }
36 
39 
40  static XmppServer *GetXmppServer() { return xmpp_server_; }
41  static void SetXmppServer(XmppServer *server) { xmpp_server_ = server; }
42 
43  static const uint32_t GetXmppServerPort() { return xmpp_srv_port_; }
44  static void SetXmppServerPort(uint32_t port) { xmpp_srv_port_ = port; }
45 
48  }
51  }
52 
53  static const std::string &GetHostName() {return host_name_;}
54  static void SetHostName(const std::string name) { host_name_ = name; };
55  static const std::string &GetProgramName() {return prog_name_;}
56  static void SetProgramName(const char *name) { prog_name_ = name; };
57  static const std::string &GetCollector() {return collector_;}
58  static void SetCollector(std::string name) { collector_ = name; };
59  static const uint32_t GetHttpPort() { return http_port_; }
60  static void SetHttpPort(uint32_t port) { http_port_ = port; };
61  static const uint32_t GetDnsPort() { return dns_port_; }
62  static void SetDnsPort(uint32_t port) { dns_port_ = port; };
63  static std::string GetSelfIp() { return self_ip_; }
64  static void SetSelfIp(std::string ip) { self_ip_ = ip; }
65 
66  static bool GetVersion(std::string &build_info_str);
67  static void Init() {
69  evm = new EventManager();
70  assert(evm);
71  SetEventManager(evm);
72 
74  }
75 
76 private:
77  static void SetTaskSchedulingPolicy();
78 
82 
84  static uint32_t xmpp_srv_port_;
85  static std::string host_name_;
86  static std::string prog_name_;
87  static std::string self_ip_;
88  static std::string collector_;
89  static uint32_t http_port_;
90  static uint32_t dns_port_;
92 };
93 
94 #endif // __DNS_CMN_H_
static uint32_t dns_port_
Definition: dns.h:90
static void SetDnsPort(uint32_t port)
Definition: dns.h:62
static const std::string & GetHostName()
Definition: dns.h:53
static uint32_t xmpp_srv_port_
Definition: dns.h:84
static const uint32_t GetDnsPort()
Definition: dns.h:61
static XmppServer * xmpp_server_
Definition: dns.h:83
static const uint32_t GetXmppServerPort()
Definition: dns.h:43
static EventManager * event_mgr_
Definition: dns.h:79
static void SetProgramName(const char *name)
Definition: dns.h:56
static void SetSelfIp(std::string ip)
Definition: dns.h:64
static void SetHostName(const std::string name)
Definition: dns.h:54
static void SetDnsConfigManager(DnsConfigManager *cfg)
Definition: dns.h:38
static void SetXmppServer(XmppServer *server)
Definition: dns.h:41
static std::string GetSelfIp()
Definition: dns.h:63
static void SetDnsManager(DnsManager *mgr)
Definition: dns.h:35
static void SetHttpPort(uint32_t port)
Definition: dns.h:60
static void SetEventManager(EventManager *evm)
Definition: dns.h:32
Definition: dns.h:29
static void SetTaskSchedulingPolicy()
Definition: dns.cc:36
static void SetCollector(std::string name)
Definition: dns.h:58
static DnsAgentXmppChannelManager * agent_xmpp_channel_mgr_
Definition: dns.h:91
static DnsManager * GetDnsManager()
Definition: dns.h:34
static std::string host_name_
Definition: dns.h:85
static DnsConfigManager * dns_config_mgr_
Definition: dns.h:81
static void SetXmppServerPort(uint32_t port)
Definition: dns.h:44
static void Init()
Definition: dns.h:67
static std::string collector_
Definition: dns.h:88
static const std::string & GetCollector()
Definition: dns.h:57
static const uint32_t GetHttpPort()
Definition: dns.h:59
static uint32_t http_port_
Definition: dns.h:89
static DnsConfigManager * GetDnsConfigManager()
Definition: dns.h:37
static std::string prog_name_
Definition: dns.h:86
static const std::string & GetProgramName()
Definition: dns.h:55
static XmppServer * GetXmppServer()
Definition: dns.h:40
static EventManager * GetEventManager()
Definition: dns.h:31
static void SetAgentXmppChannelManager(DnsAgentXmppChannelManager *mgr)
Definition: dns.h:49
static std::string self_ip_
Definition: dns.h:87
static bool GetVersion(std::string &build_info_str)
Definition: dns.cc:32
static DnsManager * dns_mgr_
Definition: dns.h:80
static EventManager evm
static DnsAgentXmppChannelManager * GetAgentXmppChannelManager()
Definition: dns.h:46