6 #ifndef __VISUALIZE_GET_FEATURE_INFO_H__ 7 #define __VISUALIZE_GET_FEATURE_INFO_H__ 12 struct VisualizeGetFeatureInfoRequest
14 VisualizeGetFeatureInfoRequest() :
15 tableNames(std::vector<std::string>()),
16 xColumnNames(std::vector<std::string>()),
17 yColumnNames(std::vector<std::string>()),
18 geometryColumnNames(std::vector<std::string>()),
19 queryColumnNames(std::vector<std::vector<std::string> >()),
20 projection(std::string()),
31 encoding(std::string()),
32 options(std::map<std::string, std::string>())
36 VisualizeGetFeatureInfoRequest(
const std::vector<std::string>& tableNames_,
const std::vector<std::string>& xColumnNames_,
const std::vector<std::string>& yColumnNames_,
const std::vector<std::string>& geometryColumnNames_,
const std::vector<std::vector<std::string> >& queryColumnNames_,
const std::string& projection_,
const double minX_,
const double maxX_,
const double minY_,
const double maxY_,
const int32_t width_,
const int32_t height_,
const int32_t x_,
const int32_t y_,
const int32_t radius_,
const int64_t limit_,
const std::string& encoding_,
const std::map<std::string, std::string>& options_):
37 tableNames( tableNames_ ),
38 xColumnNames( xColumnNames_ ),
39 yColumnNames( yColumnNames_ ),
40 geometryColumnNames( geometryColumnNames_ ),
41 queryColumnNames( queryColumnNames_ ),
42 projection( projection_ ),
53 encoding( encoding_ ),
58 std::vector<std::string> tableNames;
59 std::vector<std::string> xColumnNames;
60 std::vector<std::string> yColumnNames;
61 std::vector<std::string> geometryColumnNames;
62 std::vector<std::vector<std::string> > queryColumnNames;
63 std::string projection;
75 std::map<std::string, std::string> options;
81 template<>
struct codec_traits<
gpudb::VisualizeGetFeatureInfoRequest>
83 static void encode(Encoder& e,
const gpudb::VisualizeGetFeatureInfoRequest& v)
85 ::avro::encode(e, v.tableNames);
86 ::avro::encode(e, v.xColumnNames);
87 ::avro::encode(e, v.yColumnNames);
88 ::avro::encode(e, v.geometryColumnNames);
89 ::avro::encode(e, v.queryColumnNames);
90 ::avro::encode(e, v.projection);
91 ::avro::encode(e, v.minX);
92 ::avro::encode(e, v.maxX);
93 ::avro::encode(e, v.minY);
94 ::avro::encode(e, v.maxY);
95 ::avro::encode(e, v.width);
96 ::avro::encode(e, v.height);
97 ::avro::encode(e, v.x);
98 ::avro::encode(e, v.y);
99 ::avro::encode(e, v.radius);
100 ::avro::encode(e, v.limit);
101 ::avro::encode(e, v.encoding);
102 ::avro::encode(e, v.options);
105 static void decode(Decoder& d, gpudb::VisualizeGetFeatureInfoRequest& v)
107 if (::avro::ResolvingDecoder *rd = dynamic_cast< ::avro::ResolvingDecoder*>(&d))
109 const std::vector<size_t> fo = rd->fieldOrder();
111 for (std::vector<size_t>::const_iterator it = fo.begin(); it != fo.end(); ++it)
116 ::avro::decode(d, v.tableNames);
120 ::avro::decode(d, v.xColumnNames);
124 ::avro::decode(d, v.yColumnNames);
128 ::avro::decode(d, v.geometryColumnNames);
132 ::avro::decode(d, v.queryColumnNames);
136 ::avro::decode(d, v.projection);
140 ::avro::decode(d, v.minX);
144 ::avro::decode(d, v.maxX);
148 ::avro::decode(d, v.minY);
152 ::avro::decode(d, v.maxY);
156 ::avro::decode(d, v.width);
160 ::avro::decode(d, v.height);
164 ::avro::decode(d, v.x);
168 ::avro::decode(d, v.y);
172 ::avro::decode(d, v.radius);
176 ::avro::decode(d, v.limit);
180 ::avro::decode(d, v.encoding);
184 ::avro::decode(d, v.options);
194 ::avro::decode(d, v.tableNames);
195 ::avro::decode(d, v.xColumnNames);
196 ::avro::decode(d, v.yColumnNames);
197 ::avro::decode(d, v.geometryColumnNames);
198 ::avro::decode(d, v.queryColumnNames);
199 ::avro::decode(d, v.projection);
200 ::avro::decode(d, v.minX);
201 ::avro::decode(d, v.maxX);
202 ::avro::decode(d, v.minY);
203 ::avro::decode(d, v.maxY);
204 ::avro::decode(d, v.width);
205 ::avro::decode(d, v.height);
206 ::avro::decode(d, v.x);
207 ::avro::decode(d, v.y);
208 ::avro::decode(d, v.radius);
209 ::avro::decode(d, v.limit);
210 ::avro::decode(d, v.encoding);
211 ::avro::decode(d, v.options);
220 struct VisualizeGetFeatureInfoResponse
222 VisualizeGetFeatureInfoResponse() :
223 tableNames(std::vector<std::string>()),
224 typeSchemas(std::vector<std::string>()),
225 recordsBinary(std::vector<std::vector<uint8_t> >()),
226 recordsJson(std::vector<std::string>()),
227 geojsonEncodedResponse(std::string()),
228 textEncodedResponse(std::string()),
229 info(std::map<std::string, std::string>())
233 std::vector<std::string> tableNames;
234 std::vector<std::string> typeSchemas;
235 std::vector<std::vector<uint8_t> > recordsBinary;
236 std::vector<std::string> recordsJson;
237 std::string geojsonEncodedResponse;
238 std::string textEncodedResponse;
239 std::map<std::string, std::string> info;
245 template<>
struct codec_traits<
gpudb::VisualizeGetFeatureInfoResponse>
247 static void encode(Encoder& e,
const gpudb::VisualizeGetFeatureInfoResponse& v)
249 ::avro::encode(e, v.tableNames);
250 ::avro::encode(e, v.typeSchemas);
251 ::avro::encode(e, v.recordsBinary);
252 ::avro::encode(e, v.recordsJson);
253 ::avro::encode(e, v.geojsonEncodedResponse);
254 ::avro::encode(e, v.textEncodedResponse);
255 ::avro::encode(e, v.info);
258 static void decode(Decoder& d, gpudb::VisualizeGetFeatureInfoResponse& v)
260 if (::avro::ResolvingDecoder *rd = dynamic_cast< ::avro::ResolvingDecoder*>(&d))
262 const std::vector<size_t> fo = rd->fieldOrder();
264 for (std::vector<size_t>::const_iterator it = fo.begin(); it != fo.end(); ++it)
269 ::avro::decode(d, v.tableNames);
273 ::avro::decode(d, v.typeSchemas);
277 ::avro::decode(d, v.recordsBinary);
281 ::avro::decode(d, v.recordsJson);
285 ::avro::decode(d, v.geojsonEncodedResponse);
289 ::avro::decode(d, v.textEncodedResponse);
293 ::avro::decode(d, v.info);
303 ::avro::decode(d, v.tableNames);
304 ::avro::decode(d, v.typeSchemas);
305 ::avro::decode(d, v.recordsBinary);
306 ::avro::decode(d, v.recordsJson);
307 ::avro::decode(d, v.geojsonEncodedResponse);
308 ::avro::decode(d, v.textEncodedResponse);
309 ::avro::decode(d, v.info);
315 #endif // __VISUALIZE_GET_FEATURE_INFO_H__