kea-custom-hooks
FeM custom hooks libraries for Kea DHCP
ArpwatchRPC.cpp
Go to the documentation of this file.
1#include <string>
2
3#include <xmlrpc-c/client_simple.hpp>
4
5#include "ArpwatchRPC.hpp"
6
8{
10 {}
13
14 const std::string rpc_endpoint;
15 xmlrpc_c::clientSimple rpc_client;
16};
17
18ArpwatchRPC::ArpwatchRPC(std::string_view rpc_endpoint)
19{
20 priv = std::make_unique<ArpwatchRPCPrivate>(rpc_endpoint);
21}
22
24{}
25
26void ArpwatchRPC::push_seen_entry(const isc::dhcp::SubnetID& subnet_id,
27 const isc::dhcp::HWAddr& mac, const isc::asiolink::IOAddress& ip4)
28{
29 xmlrpc_c::value result;
30 xmlrpc_c::paramList params;
31 params.add(xmlrpc_c::value_string{std::to_string(subnet_id)});
32 params.add(xmlrpc_c::value_string{mac.toText(false)});
33 params.add(xmlrpc_c::value_string{ip4.toText()});
34 priv->rpc_client.call(priv->rpc_endpoint, RPC_METHOD_PUSH_SEEN_ENTRY, params, &result);
35}
static constexpr const char * RPC_METHOD_PUSH_SEEN_ENTRY
Definition: ArpwatchRPC.hpp:21
ArpwatchRPC(std::string_view rpc_endpoint)
Definition: ArpwatchRPC.cpp:18
virtual void push_seen_entry(const isc::dhcp::SubnetID &subnet_id, const isc::dhcp::HWAddr &mac, const isc::asiolink::IOAddress &ip4)
RPC method callers.
Definition: ArpwatchRPC.cpp:26
virtual ~ArpwatchRPC()
Definition: ArpwatchRPC.cpp:23
ArpwatchRPCPrivate(std::string_view rpc_endpoint)
Definition: ArpwatchRPC.cpp:9
~ArpwatchRPCPrivate()=default
xmlrpc_c::clientSimple rpc_client
Definition: ArpwatchRPC.cpp:15
ArpwatchRPCPrivate(const ArpwatchRPCPrivate &)=delete
const std::string rpc_endpoint
Definition: ArpwatchRPC.cpp:14