Kea 1.5.0
lease_cmds_callouts.cc
Go to the documentation of this file.
1// Copyright (C) 2017-2018 Internet Systems Consortium, Inc. ("ISC")
2//
3// This Source Code Form is subject to the terms of the End User License
4// Agreement. See COPYING file in the premium/ directory.
5
6
7// Functions accessed by the hooks framework use C linkage to avoid the name
8// mangling that accompanies use of the C++ compiler as well as to avoid
9// issues related to namespaces.
10
11#include <config.h>
12
13#include <lease_cmds.h>
14#include <lease_cmds_log.h>
16#include <hooks/hooks.h>
17
18using namespace isc::config;
19using namespace isc::data;
20using namespace isc::hooks;
21using namespace isc::lease_cmds;
22
23extern "C" {
24
32 LeaseCmds lease_cmds;
33 return(lease_cmds.leaseAddHandler(handle));
34}
35
43 LeaseCmds lease_cmds;
44 return(lease_cmds.leaseAddHandler(handle));
45}
46
54 LeaseCmds lease_cmds;
55 return(lease_cmds.leaseGetHandler(handle));
56}
57
65 LeaseCmds lease_cmds;
66 return(lease_cmds.leaseGetHandler(handle));
67}
68
76 LeaseCmds lease_cmds;
77 return (lease_cmds.leaseGetAllHandler(handle));
78}
79
87 LeaseCmds lease_cmds;
88 return (lease_cmds.leaseGetAllHandler(handle));
89}
90
98 LeaseCmds lease_cmds;
99 return (lease_cmds.leaseGetPageHandler(handle));
100}
101
109 LeaseCmds lease_cmds;
110 return (lease_cmds.leaseGetPageHandler(handle));
111}
112
120 LeaseCmds lease_cmds;
121 return(lease_cmds.lease4DelHandler(handle));
122}
123
131 LeaseCmds lease_cmds;
132 return(lease_cmds.lease6DelHandler(handle));
133}
134
142 LeaseCmds lease_cmds;
143 return(lease_cmds.lease4UpdateHandler(handle));
144}
145
153 LeaseCmds lease_cmds;
154 return(lease_cmds.lease6UpdateHandler(handle));
155}
156
164 LeaseCmds lease_cmds;
165 return(lease_cmds.lease4WipeHandler(handle));
166}
167
175 LeaseCmds lease_cmds;
176 return(lease_cmds.lease6WipeHandler(handle));
177}
178
183int load(LibraryHandle& handle) {
184 handle.registerCommandCallout("lease4-add", lease4_add);
185 handle.registerCommandCallout("lease6-add", lease6_add);
186 handle.registerCommandCallout("lease4-get", lease4_get);
187 handle.registerCommandCallout("lease6-get", lease6_get);
188 handle.registerCommandCallout("lease4-get-all", lease4_get_all);
189 handle.registerCommandCallout("lease6-get-all", lease6_get_all);
190 handle.registerCommandCallout("lease4-get-page", lease4_get_page);
191 handle.registerCommandCallout("lease6-get-page", lease6_get_page);
192 handle.registerCommandCallout("lease4-del", lease4_del);
193 handle.registerCommandCallout("lease6-del", lease6_del);
194 handle.registerCommandCallout("lease4-update", lease4_update);
195 handle.registerCommandCallout("lease6-update", lease6_update);
196 handle.registerCommandCallout("lease4-wipe", lease4_wipe);
197 handle.registerCommandCallout("lease6-wipe", lease6_wipe);
198
199 LOG_INFO(lease_cmds_logger, LEASE_CMDS_INIT_OK);
200 return (0);
201}
202
206int unload() {
207 LOG_INFO(lease_cmds_logger, LEASE_CMDS_DEINIT_OK);
208 return (0);
209}
210
211} // end extern "C"
Per-packet callout handle.
void registerCommandCallout(const std::string &command_name, CalloutPtr callout)
Register control command handler.
Implements the logic for processing commands pertaining to lease manipulation.
Definition: lease_cmds.h:26
int lease6WipeHandler(hooks::CalloutHandle &handle)
lease6-wipe handler
Definition: lease_cmds.cc:1047
int leaseGetPageHandler(hooks::CalloutHandle &handle)
lease4-get-page, lease6-get-page commands handler
Definition: lease_cmds.cc:1017
int lease6DelHandler(hooks::CalloutHandle &handle)
lease6-del command handler
Definition: lease_cmds.cc:1027
int leaseGetAllHandler(hooks::CalloutHandle &handle)
lease4-get-all, lease6-get-all commands handler
Definition: lease_cmds.cc:1012
int lease4DelHandler(hooks::CalloutHandle &handle)
lease4-del command handler
Definition: lease_cmds.cc:1022
int leaseAddHandler(hooks::CalloutHandle &handle)
lease4-add, lease6-add command handler
Definition: lease_cmds.cc:1002
int lease4UpdateHandler(hooks::CalloutHandle &handle)
lease4-update handler
Definition: lease_cmds.cc:1032
int leaseGetHandler(hooks::CalloutHandle &handle)
lease4-get, lease6-get command handler
Definition: lease_cmds.cc:1007
int lease6UpdateHandler(hooks::CalloutHandle &handle)
lease6-update handler
Definition: lease_cmds.cc:1037
int lease4WipeHandler(hooks::CalloutHandle &handle)
lease4-wipe handler
Definition: lease_cmds.cc:1042
This file contains several functions and constants that are used for handling commands and responses ...
int lease4_get(CalloutHandle &handle)
This is a command callout for 'lease4-get' command.
int lease4_get_page(CalloutHandle &handle)
This is a command callout for 'lease4-get-page' command.
int lease4_update(CalloutHandle &handle)
This is a command callout for 'lease4-update' command.
int lease4_wipe(CalloutHandle &handle)
This is a command callout for 'lease4-wipe' command.
int lease6_update(CalloutHandle &handle)
This is a command callout for 'lease6-update' command.
int lease4_get_all(CalloutHandle &handle)
This is a command callout for 'lease4-get-all' command.
int lease6_get(CalloutHandle &handle)
This is a command callout for 'lease6-get' command.
int unload()
This function is called when the library is unloaded.
int lease6_get_page(CalloutHandle &handle)
This is a command callout for 'lease6-get-page' command.
int lease6_add(CalloutHandle &handle)
This is a command callout for 'lease6-add' command.
int lease4_add(CalloutHandle &handle)
This is a command callout for 'lease4-add' command.
int lease6_get_all(CalloutHandle &handle)
This is a command callout for 'lease6-get-all' command.
int lease4_del(CalloutHandle &handle)
This is a command callout for 'lease4-del' command.
int lease6_del(CalloutHandle &handle)
This is a command callout for 'lease6-del' command.
int load(LibraryHandle &handle)
This function is called when the library is loaded.
int lease6_wipe(CalloutHandle &handle)
This is a command callout for 'lease6-wipe' command.
#define LOG_INFO(LOGGER, MESSAGE)
Macro to conveniently test info output and log it.
Definition: macros.h:20
isc::log::Logger lease_cmds_logger("lease-cmds-hooks")