Kea 2.7.1
netconf_process.h
Go to the documentation of this file.
1// Copyright (C) 2018-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 NETCONF_PROCESS_H
8#define NETCONF_PROCESS_H
9
10#include <netconf/netconf.h>
11#include <process/d_process.h>
12
13#include <vector>
14
15namespace isc {
16namespace netconf {
17
26public:
33 NetconfProcess(const char* name, const asiolink::IOServicePtr& io_service);
34
36 virtual ~NetconfProcess() = default;
37
45 void init() override final;
46
50 void run() override final;
51
65 isc::data::ConstElementPtr
66 shutdown(isc::data::ConstElementPtr args) override final;
67
81 isc::data::ConstElementPtr
82 configure(isc::data::ConstElementPtr config_set, bool check_only = false) override final;
83
86
87private:
92 size_t runIO();
93
95 NetconfAgent agent_;
96}; // NetconfProcess
97
100
101} // namespace netconf
102} // namespace isc
103
104#endif // NETCONF_PROCESS_H
Kea Netconf Application Process.
virtual ~NetconfProcess()=default
Destructor.
NetconfCfgMgrPtr getNetconfCfgMgr()
Returns a pointer to the configuration manager.
void init() override final
Initialize the Netconf process.
void run() override final
Implements the process's event loop.
isc::data::ConstElementPtr shutdown(isc::data::ConstElementPtr args) override final
Initiates the process's shutdown process.
NetconfProcess(const char *name, const asiolink::IOServicePtr &io_service)
Constructor.
isc::data::ConstElementPtr configure(isc::data::ConstElementPtr config_set, bool check_only=false) override final
Processes the given configuration.
Application Process Interface.
Definition d_process.h:75
boost::shared_ptr< NetconfCfgMgr > NetconfCfgMgrPtr
Defines a shared pointer to NetconfCfgMgr.
boost::shared_ptr< NetconfProcess > NetconfProcessPtr
Defines a shared pointer to NetconfProcess.
Defines the logger used by the top-level component of kea-lfc.