Line data Source code
1 : #pragma once
2 :
3 : #include <prefixdb/iprefixdb.hpp>
4 : #include <prefixdb/api/get_json.hpp>
5 : #include <prefixdb/api/set_json.hpp>
6 : #include <prefixdb/api/setnx_json.hpp>
7 : #include <prefixdb/api/has_json.hpp>
8 : #include <prefixdb/api/del_json.hpp>
9 : #include <prefixdb/api/inc_json.hpp>
10 : #include <prefixdb/api/add_json.hpp>
11 : #include <prefixdb/api/packed_json.hpp>
12 : #include <prefixdb/api/range_json.hpp>
13 : #include <prefixdb/api/get_updates_since_json.hpp>
14 : #include <prefixdb/api/get_all_prefixes_json.hpp>
15 : #include <prefixdb/api/detach_prefixes_json.hpp>
16 : #include <prefixdb/api/attach_prefixes_json.hpp>
17 : #include <prefixdb/api/delay_background_json.hpp>
18 : #include <prefixdb/api/continue_background_json.hpp>
19 : #include <prefixdb/api/compact_prefix_json.hpp>
20 :
21 : #include <prefixdb/api/create_snapshot_json.hpp>
22 : #include <prefixdb/api/release_snapshot_json.hpp>
23 :
24 : #include <wfc/jsonrpc.hpp>
25 :
26 : namespace wamba{ namespace prefixdb{ namespace gateway{
27 :
28 0 : JSONRPC_TAG(get)
29 0 : JSONRPC_TAG(set)
30 0 : JSONRPC_TAG(setnx)
31 0 : JSONRPC_TAG(has)
32 0 : JSONRPC_TAG(del)
33 0 : JSONRPC_TAG(inc)
34 0 : JSONRPC_TAG(add)
35 0 : JSONRPC_TAG(packed)
36 0 : JSONRPC_TAG(range)
37 0 : JSONRPC_TAG(get_updates_since)
38 0 : JSONRPC_TAG(get_all_prefixes)
39 0 : JSONRPC_TAG(detach_prefixes)
40 0 : JSONRPC_TAG(attach_prefixes)
41 0 : JSONRPC_TAG(delay_background)
42 0 : JSONRPC_TAG(continue_background)
43 0 : JSONRPC_TAG(compact_prefix)
44 0 : JSONRPC_TAG(create_snapshot)
45 0 : JSONRPC_TAG(release_snapshot)
46 :
47 :
48 :
49 0 : struct method_list: wfc::jsonrpc::method_list
50 : <
51 : wfc::jsonrpc::interface_<iprefixdb>,
52 : wfc::jsonrpc::call_method< _get_, request::get_json, response::get_json>,
53 : wfc::jsonrpc::call_method< _set_, request::set_json, response::set_json>,
54 : wfc::jsonrpc::call_method< _setnx_, request::setnx_json, response::setnx_json>,
55 : wfc::jsonrpc::call_method< _has_, request::has_json, response::has_json>,
56 : wfc::jsonrpc::call_method< _del_, request::del_json, response::del_json>,
57 : wfc::jsonrpc::call_method< _inc_, request::inc_json, response::inc_json>,
58 : wfc::jsonrpc::call_method< _add_, request::add_json, response::add_json>,
59 : wfc::jsonrpc::call_method< _packed_, request::packed_json, response::packed_json>,
60 : wfc::jsonrpc::call_method< _range_, request::range_json, response::range_json>,
61 : wfc::jsonrpc::call_method< _get_updates_since_, request::get_updates_since_json, response::get_updates_since_json>,
62 : wfc::jsonrpc::call_method< _get_all_prefixes_, request::get_all_prefixes_json, response::get_all_prefixes_json>,
63 : wfc::jsonrpc::call_method< _detach_prefixes_, request::detach_prefixes_json, response::detach_prefixes_json>,
64 : wfc::jsonrpc::call_method< _attach_prefixes_, request::attach_prefixes_json, response::attach_prefixes_json>,
65 : wfc::jsonrpc::call_method< _delay_background_, request::delay_background_json, response::delay_background_json>,
66 : wfc::jsonrpc::call_method< _continue_background_, request::continue_background_json, response::continue_background_json>,
67 : wfc::jsonrpc::call_method< _compact_prefix_, request::compact_prefix_json, response::compact_prefix_json>,
68 : wfc::jsonrpc::call_method< _create_snapshot_, request::create_snapshot_json, response::create_snapshot_json>,
69 : wfc::jsonrpc::call_method< _release_snapshot_, request::release_snapshot_json, response::release_snapshot_json>
70 : >
71 : {
72 : };
73 :
74 : template<typename Base>
75 0 : class prefixdb_interface
76 : : public Base
77 : {
78 : public:
79 :
80 0 : virtual void get(request::get::ptr req, response::get::handler cb ) override
81 : {
82 0 : this->template call< _get_ >( std::move(req), cb, nullptr);
83 0 : }
84 :
85 0 : virtual void set(request::set::ptr req, response::set::handler cb ) override
86 : {
87 0 : this->template call< _set_ >( std::move(req), cb, nullptr);
88 0 : }
89 :
90 0 : virtual void setnx(request::setnx::ptr req, response::setnx::handler cb ) override
91 : {
92 0 : this->template call< _setnx_ >( std::move(req), cb, nullptr);
93 0 : }
94 :
95 0 : virtual void has(request::has::ptr req, response::has::handler cb ) override
96 : {
97 0 : this->template call< _has_ >( std::move(req), cb, nullptr);
98 0 : }
99 :
100 0 : virtual void del(request::del::ptr req, response::del::handler cb ) override
101 : {
102 0 : this->template call< _del_ >( std::move(req), cb, nullptr);
103 0 : }
104 :
105 0 : virtual void inc(request::inc::ptr req, response::inc::handler cb ) override
106 : {
107 0 : this->template call< _inc_ >( std::move(req), cb, nullptr);
108 0 : }
109 :
110 0 : virtual void add(request::add::ptr req, response::add::handler cb ) override
111 : {
112 0 : this->template call< _add_ >( std::move(req), cb, nullptr);
113 0 : }
114 :
115 0 : virtual void packed(request::packed::ptr req, response::packed::handler cb ) override
116 : {
117 0 : this->template call< _packed_ >( std::move(req), cb, nullptr);
118 0 : }
119 :
120 0 : virtual void range(request::range::ptr req, response::range::handler cb ) override
121 : {
122 0 : this->template call< _range_ >( std::move(req), cb, nullptr);
123 0 : }
124 :
125 0 : virtual void get_updates_since(request::get_updates_since::ptr req, response::get_updates_since::handler cb ) override
126 : {
127 0 : this->template call< _get_updates_since_ >( std::move(req), cb, nullptr);
128 0 : }
129 :
130 0 : virtual void get_all_prefixes(request::get_all_prefixes::ptr req, response::get_all_prefixes::handler cb ) override
131 : {
132 0 : this->template call< _get_all_prefixes_ >( std::move(req), cb, nullptr);
133 0 : }
134 :
135 0 : virtual void detach_prefixes( request::detach_prefixes::ptr req, response::detach_prefixes::handler cb) override
136 : {
137 0 : this->template call< _detach_prefixes_ >( std::move(req), cb, nullptr);
138 0 : }
139 :
140 0 : virtual void attach_prefixes( request::attach_prefixes::ptr req, response::attach_prefixes::handler cb) override
141 : {
142 0 : this->template call< _attach_prefixes_ >( std::move(req), cb, nullptr);
143 0 : }
144 :
145 0 : virtual void delay_background( request::delay_background::ptr req, response::delay_background::handler cb) override
146 : {
147 0 : this->template call< _delay_background_ >( std::move(req), cb, nullptr);
148 0 : }
149 :
150 0 : virtual void continue_background( request::continue_background::ptr req, response::continue_background::handler cb) override
151 : {
152 0 : this->template call< _continue_background_ >( std::move(req), cb, nullptr);
153 0 : }
154 :
155 0 : virtual void compact_prefix( request::compact_prefix::ptr req, response::compact_prefix::handler cb) override
156 : {
157 0 : this->template call< _compact_prefix_ >( std::move(req), cb, nullptr);
158 0 : }
159 :
160 0 : virtual void create_snapshot( request::create_snapshot::ptr req, response::create_snapshot::handler cb) override
161 : {
162 0 : this->template call< _create_snapshot_ >( std::move(req), cb, nullptr);
163 0 : }
164 :
165 0 : virtual void release_snapshot( request::release_snapshot::ptr req, response::release_snapshot::handler cb) override
166 : {
167 0 : this->template call< _release_snapshot_ >( std::move(req), cb, nullptr);
168 0 : }
169 :
170 0 : virtual void reg_io( ::wfc::iinterface::io_id_t /*io_id*/, std::weak_ptr< ::wfc::iinterface> /*itf*/) override
171 : {
172 :
173 0 : }
174 :
175 0 : virtual void unreg_io( ::wfc::iinterface::io_id_t /*io_id*/) override
176 : {
177 :
178 0 : }
179 : };
180 :
181 : }}}
|