Line data Source code
1 : #pragma once
2 :
3 : #include <demo/idemo.hpp>
4 : #include <demo/api/get_json.hpp>
5 : #include <demo/api/get_hashed_json.hpp>
6 : #include <demo/api/multiget_json.hpp>
7 : #include <demo/api/multiget_hashed_json.hpp>
8 : #include <demo/api/multiget_hashed2_json.hpp>
9 : #include <demo/api/set_json.hpp>
10 : #include <wfc/jsonrpc.hpp>
11 :
12 :
13 : namespace demo{
14 :
15 0 : JSONRPC_TAG(set)
16 0 : JSONRPC_TAG(get)
17 0 : JSONRPC_TAG(multiget)
18 0 : JSONRPC_TAG(get_hashed)
19 0 : JSONRPC_TAG(multiget_hashed)
20 0 : JSONRPC_TAG(multiget_hashed2)
21 :
22 0 : struct gateway_method_list: wfc::jsonrpc::method_list
23 : <
24 : wfc::jsonrpc::interface_<istorage>,
25 : wfc::jsonrpc::call_method< _set_, request::set_json, response::set_json>,
26 : wfc::jsonrpc::call_method< _get_, request::get_json, response::get_json>,
27 : wfc::jsonrpc::call_method< _multiget_, request::multiget_json, response::multiget_json>,
28 : wfc::jsonrpc::call_method< _get_hashed_, request::get_hashed_json, response::get_hashed_json>,
29 : wfc::jsonrpc::call_method< _multiget_hashed_, request::multiget_hashed_json, response::multiget_hashed_json>,
30 : wfc::jsonrpc::call_method< _multiget_hashed2_, request::multiget_hashed2_json, response::multiget_hashed2_json>
31 : >
32 : {
33 : };
34 :
35 : template<typename Base>
36 0 : class storage_interface
37 : : public Base
38 : {
39 : public:
40 0 : virtual void set(request::set::ptr req, response::set::handler cb ) override
41 : {
42 0 : this->template call< _set_ >( std::move(req), cb, nullptr);
43 0 : }
44 :
45 0 : virtual void get(request::get::ptr req, response::get::handler cb ) override
46 : {
47 0 : this->template call< _get_ >( std::move(req), cb, nullptr);
48 0 : }
49 :
50 0 : virtual void multiget(request::multiget::ptr req, response::multiget::handler cb ) override
51 : {
52 0 : this->template call< _multiget_ >( std::move(req), cb, nullptr);
53 0 : }
54 :
55 0 : virtual void get_hashed(request::get_hashed::ptr req, response::get_hashed::handler cb ) override
56 : {
57 0 : this->template call< _get_hashed_ >( std::move(req), cb, nullptr);
58 0 : }
59 :
60 0 : virtual void multiget_hashed(request::multiget_hashed::ptr req, response::multiget_hashed::handler cb ) override
61 : {
62 0 : this->template call< _multiget_hashed_ >( std::move(req), cb, nullptr);
63 0 : }
64 :
65 0 : virtual void multiget_hashed2(request::multiget_hashed2::ptr req, response::multiget_hashed2::handler cb ) override
66 : {
67 0 : this->template call< _multiget_hashed2_ >( std::move(req), cb, nullptr);
68 0 : }
69 : };
70 :
71 : }
|