Kea 3.1.1
lease_query_impl_factory.h
Go to the documentation of this file.
1// Copyright (C) 2020-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 LEASE_QUERY_IMPL_FACTORY_H
8#define LEASE_QUERY_IMPL_FACTORY_H
9
11#include <asiolink/io_address.h>
12#include <cc/data.h>
13#include <cc/simple_parser.h>
14#include <lease_query_impl4.h>
15#include <lease_query_impl6.h>
16
17namespace isc {
18namespace lease_query {
19
21public:
22
26 static void createImpl(uint16_t family, isc::data::ConstElementPtr config);
27
29 static void destroyImpl();
30
34 static const LeaseQueryImpl& getImpl();
35
40
41private:
42
44 static LeaseQueryImplPtr impl_;
45};
46
47} // end of namespace isc::lease_query
48} // end of namespace isc
49
50#endif // LEASE_QUERY_IMPL_FACTORY_H
static void createImpl(uint16_t family, isc::data::ConstElementPtr config)
Creates the LeaseQueryImpl singleton.
static LeaseQueryImpl & getMutableImpl()
Fetch the LeaseQueryImpl singleton.
static const LeaseQueryImpl & getImpl()
Fetch the LeaseQueryImpl singleton.
static void destroyImpl()
Destroy the LeaseQueryImpl singleton.
Provides configuration and control flow for processing queries.
boost::shared_ptr< const Element > ConstElementPtr
Definition data.h:29
boost::shared_ptr< LeaseQueryImpl > LeaseQueryImplPtr
Defines a smart pointer to LeaseQueryImpl instance.
Defines the logger used by the top-level component of kea-lfc.