Kea  1.5.0
d2_controller.h
Go to the documentation of this file.
1 // Copyright (C) 2013-2017 Internet Systems Consortium, Inc. ("ISC")
2 //
3 // This Source Code Form is subject to the terms of the Mozilla Public
4 // License, v. 2.0. If a copy of the MPL was not distributed with this
5 // file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 
7 #ifndef D2_CONTROLLER_H
8 #define D2_CONTROLLER_H
9 
10 #include <process/d_controller.h>
11 
12 namespace isc {
13 namespace d2 {
14 
26 public:
33 
35  virtual ~D2Controller();
36 
39  static const char* d2_app_name_;
40 
43  static const char* d2_bin_name_;
44 
45 protected:
47  virtual std::string getVersionAddendum();
48 
49 private:
58  virtual process::DProcessBase* createProcess();
59 
69  virtual isc::data::ConstElementPtr parseFile(const std::string& file_name);
70 
73  D2Controller();
74 };
75 
76 }; // namespace isc::d2
77 }; // namespace isc
78 
79 #endif
boost::shared_ptr< DControllerBase > DControllerBasePtr
Definition: d_controller.h:78
virtual ~D2Controller()
Destructor.
static const char * d2_bin_name_
Defines the executable name.
Definition: d2_controller.h:43
static process::DControllerBasePtr & instance()
Static singleton instance method.
static const char * d2_app_name_
Defines the application name, this is passed into base class and appears in log statements.
Definition: d2_controller.h:39
boost::shared_ptr< const Element > ConstElementPtr
Definition: data.h:23
Defines the logger used by the top-level component of kea-dhcp-ddns.
virtual std::string getVersionAddendum()
Returns version info specific to D2.
Application Process Interface.
Definition: d_process.h:67
Application Controller.
Definition: d_controller.h:104
Process Controller for D2 Process This class is the DHCP-DDNS specific derivation of DControllerBase.
Definition: d2_controller.h:25