Kea 2.7.5
d2_controller.h
Go to the documentation of this file.
1// Copyright (C) 2013-2024 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
11
12namespace isc {
13namespace d2 {
14
15class D2Controller;
17typedef boost::shared_ptr<D2Controller> D2ControllerPtr;
18
30public:
37
39 virtual ~D2Controller();
40
43 static const char* d2_app_name_;
44
47 static const char* d2_bin_name_;
48
50 void registerCommands();
51
54 void deregisterCommands();
55
56private:
65 virtual process::DProcessBase* createProcess();
66
76 virtual isc::data::ConstElementPtr parseFile(const std::string& file_name);
77
81
83 friend class NakedD2Controller;
84};
85
86} // namespace isc::d2
87} // namespace isc
88
89#endif
Process Controller for D2 Process This class is the DHCP-DDNS specific derivation of DControllerBase.
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.
static const char * d2_bin_name_
Defines the executable name.
void registerCommands()
Register commands.
friend class NakedD2Controller
To facilitate unit testing.
void deregisterCommands()
Deregister commands.
virtual ~D2Controller()
Destructor.
Application Controller.
Application Process Interface.
Definition d_process.h:75
boost::shared_ptr< D2Controller > D2ControllerPtr
Pointer to a process controller.
boost::shared_ptr< const Element > ConstElementPtr
Definition data.h:29
boost::shared_ptr< DControllerBase > DControllerBasePtr
Defines the logger used by the top-level component of kea-lfc.