Kea  2.1.7-git
ca_controller.h
Go to the documentation of this file.
1 // Copyright (C) 2016-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 CTRL_AGENT_CONTROLLER_H
8 #define CTRL_AGENT_CONTROLLER_H
9 
10 #include <agent/ca_process.h>
11 #include <process/d_controller.h>
12 
13 namespace isc {
14 namespace agent {
15 
22 public:
23 
32 
34  virtual ~CtrlAgentController();
35 
38 
41  static const char* agent_app_name_;
42 
45  static const char* agent_bin_name_;
46 
52  parseFile(const std::string& name);
53 
55  void registerCommands();
56 
58  void deregisterCommands();
59 
60 private:
61 
72  virtual process::DProcessBase* createProcess();
73 
77 };
78 
79 // @Defines a shared pointer to CtrlAgentController
80 typedef boost::shared_ptr<CtrlAgentController> CtrlAgentControllerPtr;
81 
82 } // namespace isc::agent
83 } // namespace isc
84 
85 #endif // CTRL_AGENT_CONTROLLER_H
boost::shared_ptr< DControllerBase > DControllerBasePtr
Definition: d_controller.h:78
static process::DControllerBasePtr & instance()
Static singleton instance method.
boost::shared_ptr< CtrlAgentProcess > CtrlAgentProcessPtr
Defines a shared pointer to CtrlAgentProcess.
Definition: ca_process.h:150
CtrlAgentProcessPtr getCtrlAgentProcess()
Returns pointer to an instance of the underlying process object.
void registerCommands()
Register commands.
void deregisterCommands()
Deregister commands.
virtual ~CtrlAgentController()
Destructor.
Process Controller for Control Agent Process.
Definition: ca_controller.h:21
boost::shared_ptr< const Element > ConstElementPtr
Definition: data.h:27
Defines the logger used by the top-level component of kea-lfc.
isc::data::ConstElementPtr parseFile(const std::string &name)
Parses the configuration file using Agent::ParserContext (bison)
boost::shared_ptr< CtrlAgentController > CtrlAgentControllerPtr
Definition: ca_controller.h:80
static const char * agent_bin_name_
Defines the executable name.
Definition: ca_controller.h:45
Application Process Interface.
Definition: d_process.h:81
Application Controller.
Definition: d_controller.h:104
static const char * agent_app_name_
Defines the application name, this is passed into base class and appears in log statements.
Definition: ca_controller.h:41