Kea  2.5.3
netconf_controller.h
Go to the documentation of this file.
1 // Copyright (C) 2018-2022 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 NETCONF_CONTROLLER_H
8 #define NETCONF_CONTROLLER_H
9 
11 #include <process/d_controller.h>
12 
13 namespace isc {
14 namespace netconf {
15 
22 public:
23 
32 
34  virtual ~NetconfController() = default;
35 
38 
41  static const char* netconf_app_name_;
42 
45  static const char* netconf_bin_name_;
46 
52  parseFile(const std::string& name) override final;
53 
59  void processSignal(int signum) override final;
60 
61 private:
62 
72  process::DProcessBase* createProcess() override final;
73 
77 }; // NetconfController
78 
79 // @Defines a shared pointer to NetconfController
80 using NetconfControllerPtr = std::shared_ptr<NetconfController>;
81 
82 } // namespace netconf
83 } // namespace isc
84 
85 #endif // NETCONF_CONTROLLER_H
Process Controller for Netconf Process.
static process::DControllerBasePtr & instance()
Static singleton instance method.
NetconfProcessPtr getNetconfProcess()
Returns pointer to an instance of the underlying process object.
static const char * netconf_app_name_
Defines the application name, this is passed into base class and appears in log statements.
void processSignal(int signum) override final
Redefined application-level signal processing method.
virtual ~NetconfController()=default
Destructor.
static const char * netconf_bin_name_
Defines the executable name.
isc::data::ConstElementPtr parseFile(const std::string &name) override final
Parses the configuration file using Netconf::ParserContext (bison)
Application Controller.
Definition: d_controller.h:103
Application Process Interface.
Definition: d_process.h:75
boost::shared_ptr< const Element > ConstElementPtr
Definition: data.h:29
boost::shared_ptr< NetconfProcess > NetconfProcessPtr
Defines a shared pointer to NetconfProcess.
std::shared_ptr< NetconfController > NetconfControllerPtr
boost::shared_ptr< DControllerBase > DControllerBasePtr
Definition: d_controller.h:77
Defines the logger used by the top-level component of kea-lfc.