Line data Source code
1 : #pragma once
2 :
3 : #include <prefixdb/api/range.hpp>
4 : #include <prefixdb/api/fields_json.hpp>
5 : #include <prefixdb/api/common_status_json.hpp>
6 : #include <wfc/json.hpp>
7 :
8 : namespace wamba { namespace prefixdb {
9 :
10 : namespace request
11 : {
12 : struct range_json
13 : {
14 0 : JSON_NAME(prefix)
15 0 : JSON_NAME(noval)
16 0 : JSON_NAME(snapshot)
17 0 : JSON_NAME(beg)
18 0 : JSON_NAME(from)
19 0 : JSON_NAME(to)
20 0 : JSON_NAME(limit)
21 0 : JSON_NAME(offset)
22 :
23 : typedef wfc::json::object<
24 : range,
25 : wfc::json::member_list<
26 : wfc::json::member<n_prefix, range, std::string, &range::prefix>,
27 : wfc::json::member<n_noval, range, bool, &range::noval>,
28 : wfc::json::member<n_snapshot, range, size_t, &range::snapshot>,
29 : wfc::json::member<n_beg, range, bool, &range::beg>,
30 : wfc::json::member<n_from, range, std::string, &range::from>,
31 : wfc::json::member<n_to, range, std::string, &range::to>,
32 : wfc::json::member<n_limit, range, size_t, &range::limit>,
33 : wfc::json::member<n_offset, range, size_t, &range::offset>
34 : >
35 : > type;
36 :
37 : typedef type::target target;
38 : typedef type::serializer serializer;
39 : };
40 : }
41 :
42 : namespace response
43 : {
44 : struct range_json
45 : {
46 0 : JSON_NAME(prefix)
47 0 : JSON_NAME2(n_final, "final")
48 0 : JSON_NAME(status)
49 0 : JSON_NAME(fields)
50 :
51 : typedef wfc::json::object<
52 : range,
53 : wfc::json::member_list<
54 : wfc::json::member<n_final, range, bool, &range::fin>,
55 : wfc::json::member<n_prefix, range, std::string, &range::prefix>,
56 : wfc::json::member<n_status, range, common_status, &range::status, common_status_json>,
57 : wfc::json::member<n_fields, range, field_list_t, &range::fields, fields_list_json>
58 : >
59 : > type;
60 : typedef type::target target;
61 : typedef type::serializer serializer;
62 : typedef type::member_list member_list;
63 : };
64 : }
65 :
66 : }}
|