GPUdb C++ API  Version 7.0.19.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
get_vectortile.h
Go to the documentation of this file.
1 /*
2  * This file was autogenerated by the GPUdb schema processor.
3  *
4  * DO NOT EDIT DIRECTLY.
5  */
6 #ifndef __GET_VECTORTILE_H__
7 #define __GET_VECTORTILE_H__
8 
9 namespace gpudb
10 {
11 
18  struct GetVectortileRequest
19  {
20 
26  GetVectortileRequest() :
27  tableNames(std::vector<std::string>()),
28  columnNames(std::vector<std::string>()),
29  layers(std::map<std::string, std::vector<std::string> >()),
30  tileX(int32_t()),
31  tileY(int32_t()),
32  zoom(int32_t()),
33  options(std::map<std::string, std::string>())
34  {
35  }
36 
51  GetVectortileRequest(const std::vector<std::string>& tableNames_, const std::vector<std::string>& columnNames_, const std::map<std::string, std::vector<std::string> >& layers_, const int32_t tileX_, const int32_t tileY_, const int32_t zoom_, const std::map<std::string, std::string>& options_):
52  tableNames( tableNames_ ),
53  columnNames( columnNames_ ),
54  layers( layers_ ),
55  tileX( tileX_ ),
56  tileY( tileY_ ),
57  zoom( zoom_ ),
58  options( options_ )
59  {
60  }
61 
62  std::vector<std::string> tableNames;
63  std::vector<std::string> columnNames;
64  std::map<std::string, std::vector<std::string> > layers;
65  int32_t tileX;
66  int32_t tileY;
67  int32_t zoom;
68  std::map<std::string, std::string> options;
69  };
70 }
71 
76 namespace avro
77 {
78  template<> struct codec_traits<gpudb::GetVectortileRequest>
79  {
80  static void encode(Encoder& e, const gpudb::GetVectortileRequest& v)
81  {
82  ::avro::encode(e, v.tableNames);
83  ::avro::encode(e, v.columnNames);
84  ::avro::encode(e, v.layers);
85  ::avro::encode(e, v.tileX);
86  ::avro::encode(e, v.tileY);
87  ::avro::encode(e, v.zoom);
88  ::avro::encode(e, v.options);
89  }
90 
91  static void decode(Decoder& d, gpudb::GetVectortileRequest& v)
92  {
93  if (::avro::ResolvingDecoder *rd = dynamic_cast< ::avro::ResolvingDecoder*>(&d))
94  {
95  const std::vector<size_t> fo = rd->fieldOrder();
96 
97  for (std::vector<size_t>::const_iterator it = fo.begin(); it != fo.end(); ++it)
98  {
99  switch (*it)
100  {
101  case 0:
102  ::avro::decode(d, v.tableNames);
103  break;
104 
105  case 1:
106  ::avro::decode(d, v.columnNames);
107  break;
108 
109  case 2:
110  ::avro::decode(d, v.layers);
111  break;
112 
113  case 3:
114  ::avro::decode(d, v.tileX);
115  break;
116 
117  case 4:
118  ::avro::decode(d, v.tileY);
119  break;
120 
121  case 5:
122  ::avro::decode(d, v.zoom);
123  break;
124 
125  case 6:
126  ::avro::decode(d, v.options);
127  break;
128 
129  default:
130  break;
131  }
132  }
133  }
134  else
135  {
136  ::avro::decode(d, v.tableNames);
137  ::avro::decode(d, v.columnNames);
138  ::avro::decode(d, v.layers);
139  ::avro::decode(d, v.tileX);
140  ::avro::decode(d, v.tileY);
141  ::avro::decode(d, v.zoom);
142  ::avro::decode(d, v.options);
143  }
144  }
145  };
146 }
147 
148 namespace gpudb
149 {
150 
157  struct GetVectortileResponse
158  {
159 
165  GetVectortileResponse() :
166  encodedData(std::string()),
167  info(std::map<std::string, std::string>())
168  {
169  }
170 
171  std::string encodedData;
172  std::map<std::string, std::string> info;
173  };
174 }
175 
180 namespace avro
181 {
182  template<> struct codec_traits<gpudb::GetVectortileResponse>
183  {
184  static void encode(Encoder& e, const gpudb::GetVectortileResponse& v)
185  {
186  ::avro::encode(e, v.encodedData);
187  ::avro::encode(e, v.info);
188  }
189 
190  static void decode(Decoder& d, gpudb::GetVectortileResponse& v)
191  {
192  if (::avro::ResolvingDecoder *rd = dynamic_cast< ::avro::ResolvingDecoder*>(&d))
193  {
194  const std::vector<size_t> fo = rd->fieldOrder();
195 
196  for (std::vector<size_t>::const_iterator it = fo.begin(); it != fo.end(); ++it)
197  {
198  switch (*it)
199  {
200  case 0:
201  ::avro::decode(d, v.encodedData);
202  break;
203 
204  case 1:
205  ::avro::decode(d, v.info);
206  break;
207 
208  default:
209  break;
210  }
211  }
212  }
213  else
214  {
215  ::avro::decode(d, v.encodedData);
216  ::avro::decode(d, v.info);
217  }
218  }
219  };
220 }
221 
222 #endif