Line data Source code
1 : //
2 : // Author: Vladimir Migashko <migashko@gmail.com>, (C) 2013-2018
3 : //
4 : // Copyright: See COPYING file that comes with this distribution
5 : //
6 :
7 : #pragma once
8 :
9 : #include <wfc/statistics/istatistics.hpp>
10 : #include <wfc/statistics/api/push_json.hpp>
11 : #include <wfc/statistics/api/del_json.hpp>
12 : #include <wfc/jsonrpc.hpp>
13 :
14 :
15 : namespace wfc{ namespace core{ namespace statistics{
16 :
17 : using namespace ::wfc::statistics;
18 :
19 0 : JSONRPC_TAG(push)
20 0 : JSONRPC_TAG(del)
21 :
22 0 : struct gateway_method_list: public ::wfc::jsonrpc::method_list
23 : <
24 : ::wfc::jsonrpc::interface_<istatistics>,
25 : ::wfc::jsonrpc::call_method< _push_, request::push_json, response::push_json>,
26 : ::wfc::jsonrpc::call_method< _del_, request::del_json, response::del_json>
27 : >
28 : {};
29 :
30 : template<typename Base>
31 0 : class gateway_interface
32 : : public Base
33 : {
34 : public:
35 :
36 0 : virtual void push(request::push::ptr req, response::push::handler cb ) override
37 : {
38 0 : this->template call< _push_ >( std::move(req), cb, nullptr);
39 0 : }
40 :
41 0 : virtual void del(request::del::ptr req, response::del::handler cb ) override
42 : {
43 0 : this->template call< _del_ >( std::move(req), cb, nullptr);
44 0 : }
45 :
46 : };
47 :
48 : }}}
|