Kea 3.1.1
libinfo.h
Go to the documentation of this file.
1// Copyright (C) 2016-2025 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 HOOKS_LIBINFO_H
8#define HOOKS_LIBINFO_H
9
10#include <cc/data.h>
11
12#include <boost/shared_ptr.hpp>
13
14#include <string>
15#include <vector>
16#include <utility>
17
18namespace isc {
19namespace hooks {
20
24 HookLibInfo(const std::string& libname,
26 const std::string& cfgname = "");
27
29 std::string libname_;
30
33
35 std::string cfgname_;
36
40 bool operator==(const HookLibInfo& other) const;
41
45 bool operator!=(const HookLibInfo& other) const {
46 return (!operator==(other));
47 }
48};
49
51typedef std::vector<HookLibInfo> HookLibsCollection;
52
54typedef boost::shared_ptr<HookLibsCollection> HookLibsCollectionPtr;
55
57std::vector<std::string> extractNames(const HookLibsCollection& libinfo);
58
59} // namespace hooks
60} // namespace isc
61
62#endif
boost::shared_ptr< const Element > ConstElementPtr
Definition data.h:29
std::vector< std::string > extractNames(const isc::hooks::HookLibsCollection &libraries)
Extracts names from HookLibsCollection.
Definition libinfo.cc:26
boost::shared_ptr< HookLibsCollection > HookLibsCollectionPtr
Shared pointer to collection of hooks libraries.
Definition libinfo.h:54
std::vector< HookLibInfo > HookLibsCollection
A storage for information about hook libraries.
Definition libinfo.h:51
Defines the logger used by the top-level component of kea-lfc.
std::string cfgname_
Configured library name (e.g. rom 'library')
Definition libinfo.h:35
std::string libname_
Full file path of the library.
Definition libinfo.h:29
bool operator==(const HookLibInfo &other) const
Compare two HookLibInfos for equality.
Definition libinfo.cc:36
data::ConstElementPtr parameters_
Set of configured parameters (if any)
Definition libinfo.h:32
HookLibInfo(const std::string &libname, isc::data::ConstElementPtr parameters, const std::string &cfgname="")
Definition libinfo.cc:14
bool operator!=(const HookLibInfo &other) const
Compare two HookLibInfos for inequality.
Definition libinfo.h:45