binding/v8/jsi/dataaccess/DataSet.cpp
Go to the documentation of this file.
1 /* Copyright (C) 2008 National Institute For Space Research (INPE) - Brazil.
2 
3  This file is part of the TerraLib - a Framework for building GIS enabled applications.
4 
5  TerraLib is free software: you can redistribute it and/or modify
6  it under the terms of the GNU Lesser General Public License as published by
7  the Free Software Foundation, either version 3 of the License,
8  or (at your option) any later version.
9 
10  TerraLib is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU Lesser General Public License for more details.
14 
15  You should have received a copy of the GNU Lesser General Public License
16  along with TerraLib. See COPYING. If not, write to
17  TerraLib Team at <terralib-team@terralib.org>.
18  */
19 
20 /*!
21  \file DataSet.cpp
22 
23  \brief Utility functions to register the DataSet class into the Google JavaScript V8 engine.
24  */
25 
26 // TerraLib
27 #include "../../../../common/Exception.h"
28 #include "../../../../core/translator/Translator.h"
29 #include "../../../../dataaccess/dataset/DataSet.h"
30 #include "../../../../dataaccess/dataset/DataSetType.h"
31 #include "../../../../geometry/Geometry.h"
32 #include "../../common/Utils.h"
33 #include "../datatype/DataType.h"
34 #include "../geometry/Geometry.h"
35 #include "DataAccess.h"
36 
37 // STL
38 #include <memory>
39 
40 // Boost
41 #include <boost/cstdint.hpp>
42 
43 
44 ::v8::Handle<::v8::Value> DataSet_GetTraverseType(const ::v8::Arguments& /*args*/)
45 {
46  ::v8::HandleScope hs;
47  return ::v8::Undefined();
48 }
49 
50 ::v8::Handle<::v8::Value> DataSet_GetAccessPolicy(const ::v8::Arguments& /*args*/)
51 {
52  ::v8::HandleScope hs;
53  return ::v8::Undefined();
54 }
55 
56 ::v8::Handle<::v8::Value> DataSet_GetType(const ::v8::Arguments& args)
57 {
58  ::v8::HandleScope hs;
59 
60  if(args.Holder().IsEmpty())
61  return ::v8::ThrowException(::v8::String::New(TR_V8JSI("In order to use the getType method you must use the object notation: \"dt = dataset.getType();\"")));
62 
63  te::da::DataSet* d = te::v8::common::Unwrap<te::da::DataSet>(args.Holder());
64 
65  if(d == 0)
66  return ::v8::ThrowException(::v8::String::New(TR_V8JSI("Invalid dataset in getType method!")));
67 
68  try
69  {
70  te::da::DataSetType* dt = d->getType();
71  ::v8::Local<::v8::Object> jsdt = te::v8::common::Make(dt, te::v8::jsi::GetDataSetTypeTemplate, false);
72  return hs.Close(jsdt);
73  }
74  catch(const std::exception& e)
75  {
76  return ::v8::ThrowException(::v8::String::New(e.what()));
77  }
78  catch(...)
79  {
80  return ::v8::ThrowException(::v8::String::New(TR_V8JSI("Unexpected exception in getType method!")));
81  }
82 }
83 
84 ::v8::Handle<::v8::Value> DataSet_GetTransactor(const ::v8::Arguments& /*args*/)
85 {
86  ::v8::HandleScope hs;
87  return ::v8::Undefined();
88 }
89 
90 ::v8::Handle<::v8::Value> DataSet_LoadTypeInfo(const ::v8::Arguments& /*args*/)
91 {
92  ::v8::HandleScope hs;
93  return ::v8::Undefined();
94 }
95 
96 ::v8::Handle<::v8::Value> DataSet_GetParent(const ::v8::Arguments& /*args*/)
97 {
98  ::v8::HandleScope hs;
99  return ::v8::Undefined();
100 }
101 
102 ::v8::Handle<::v8::Value> DataSet_GetExtent(const ::v8::Arguments& /*args*/)
103 {
104  ::v8::HandleScope hs;
105  return ::v8::Undefined();
106 }
107 
108 ::v8::Handle<::v8::Value> DataSet_SetFilter(const ::v8::Arguments& /*args*/)
109 {
110  ::v8::HandleScope hs;
111  return ::v8::Undefined();
112 }
113 
114 ::v8::Handle<::v8::Value> DataSet_GetItem(const ::v8::Arguments& /*args*/)
115 {
116  ::v8::HandleScope hs;
117  return ::v8::Undefined();
118 }
119 
120 ::v8::Handle<::v8::Value> DataSet_Add(const ::v8::Arguments& /*args*/)
121 {
122  ::v8::HandleScope hs;
123  return ::v8::Undefined();
124 }
125 
126 ::v8::Handle<::v8::Value> DataSet_IsEmpty(const ::v8::Arguments& /*args*/)
127 {
128  ::v8::HandleScope hs;
129  return ::v8::Undefined();
130 }
131 
132 ::v8::Handle<::v8::Value> DataSet_Size(const ::v8::Arguments& /*args*/)
133 {
134  ::v8::HandleScope hs;
135  return ::v8::Undefined();
136 }
137 
138 ::v8::Handle<::v8::Value> DataSet_MoveNext(const ::v8::Arguments& args)
139 {
140  ::v8::HandleScope hs;
141 
142  if(args.Holder().IsEmpty())
143  return ::v8::ThrowException(::v8::String::New(TR_V8JSI("In order to use the moveNext method you must use the object notation: \"result = dataset.moveNext();\"")));
144 
145  te::da::DataSet* d = te::v8::common::Unwrap<te::da::DataSet>(args.Holder());
146 
147  if(d == 0)
148  return ::v8::ThrowException(::v8::String::New(TR_V8JSI("Invalid dataset in moveNext method!")));
149 
150  try
151  {
152  bool result = d->moveNext();
153  ::v8::Handle<::v8::Boolean> jsresult = ::v8::Boolean::New(result);
154  return hs.Close(jsresult);
155  }
156  catch(const std::exception& e)
157  {
158  return ::v8::ThrowException(::v8::String::New(e.what()));
159  }
160  catch(...)
161  {
162  return ::v8::ThrowException(::v8::String::New(TR_V8JSI("Unexpected exception in moveNext method!")));
163  }
164 }
165 
166 ::v8::Handle<::v8::Value> DataSet_MovePrevious(const ::v8::Arguments& /*args*/)
167 {
168  ::v8::HandleScope hs;
169  return ::v8::Undefined();
170 }
171 
172 ::v8::Handle<::v8::Value> DataSet_MoveFirst(const ::v8::Arguments& /*args*/)
173 {
174  ::v8::HandleScope hs;
175  return ::v8::Undefined();
176 }
177 
178 ::v8::Handle<::v8::Value> DataSet_MoveBeforeFirst(const ::v8::Arguments& /*args*/)
179 {
180  ::v8::HandleScope hs;
181  return ::v8::Undefined();
182 }
183 
184 ::v8::Handle<::v8::Value> DataSet_MoveLast(const ::v8::Arguments& /*args*/)
185 {
186  ::v8::HandleScope hs;
187  return ::v8::Undefined();
188 }
189 
190 ::v8::Handle<::v8::Value> DataSet_MoveAfterLast(const ::v8::Arguments& /*args*/)
191 {
192  ::v8::HandleScope hs;
193  return ::v8::Undefined();
194 }
195 
196 ::v8::Handle<::v8::Value> DataSet_Move(const ::v8::Arguments& /*args*/)
197 {
198  ::v8::HandleScope hs;
199  return ::v8::Undefined();
200 }
201 
202 ::v8::Handle<::v8::Value> DataSet_IsAtBegin(const ::v8::Arguments& /*args*/)
203 {
204  ::v8::HandleScope hs;
205  return ::v8::Undefined();
206 }
207 
208 ::v8::Handle<::v8::Value> DataSet_IsBeforeBegin(const ::v8::Arguments& /*args*/)
209 {
210  ::v8::HandleScope hs;
211  return ::v8::Undefined();
212 }
213 
214 ::v8::Handle<::v8::Value> DataSet_IsAtEnd(const ::v8::Arguments& /*args*/)
215 {
216  ::v8::HandleScope hs;
217  return ::v8::Undefined();
218 }
219 
220 ::v8::Handle<::v8::Value> DataSet_IsAfterLast(const ::v8::Arguments& /*args*/)
221 {
222  ::v8::HandleScope hs;
223  return ::v8::Undefined();
224 }
225 
226 ::v8::Handle<::v8::Value> DataSet_GetChar(const ::v8::Arguments& /*args*/)
227 {
228  ::v8::HandleScope hs;
229  return ::v8::Undefined();
230 }
231 
232 ::v8::Handle<::v8::Value> DataSet_SetChar(const ::v8::Arguments& /*args*/)
233 {
234  ::v8::HandleScope hs;
235  return ::v8::Undefined();
236 }
237 
238 ::v8::Handle<::v8::Value> DataSet_GetUChar(const ::v8::Arguments& /*args*/)
239 {
240  ::v8::HandleScope hs;
241  return ::v8::Undefined();
242 }
243 
244 ::v8::Handle<::v8::Value> DataSet_SetUChar(const ::v8::Arguments& /*args*/)
245 {
246  ::v8::HandleScope hs;
247  return ::v8::Undefined();
248 }
249 
250 ::v8::Handle<::v8::Value> DataSet_GetInt16(const ::v8::Arguments& /*args*/)
251 {
252  ::v8::HandleScope hs;
253  return ::v8::Undefined();
254 }
255 
256 ::v8::Handle<::v8::Value> DataSet_SetInt16(const ::v8::Arguments& /*args*/)
257 {
258  ::v8::HandleScope hs;
259  return ::v8::Undefined();
260 }
261 
262 ::v8::Handle<::v8::Value> DataSet_GetInt32(const ::v8::Arguments& /*args*/)
263 {
264  ::v8::HandleScope hs;
265  return ::v8::Undefined();
266 }
267 
268 ::v8::Handle<::v8::Value> DataSet_SetInt32(const ::v8::Arguments& /*args*/)
269 {
270  ::v8::HandleScope hs;
271  return ::v8::Undefined();
272 }
273 
274 ::v8::Handle<::v8::Value> DataSet_GetInt64(const ::v8::Arguments& /*args*/)
275 {
276  ::v8::HandleScope hs;
277  return ::v8::Undefined();
278 }
279 
280 ::v8::Handle<::v8::Value> DataSet_SetInt64(const ::v8::Arguments& /*args*/)
281 {
282  ::v8::HandleScope hs;
283  return ::v8::Undefined();
284 }
285 
286 ::v8::Handle<::v8::Value> DataSet_GetBool(const ::v8::Arguments& /*args*/)
287 {
288  ::v8::HandleScope hs;
289  return ::v8::Undefined();
290 }
291 
292 ::v8::Handle<::v8::Value> DataSet_SetBool(const ::v8::Arguments& /*args*/)
293 {
294  ::v8::HandleScope hs;
295  return ::v8::Undefined();
296 }
297 
298 ::v8::Handle<::v8::Value> DataSet_GetFloat(const ::v8::Arguments& /*args*/)
299 {
300  ::v8::HandleScope hs;
301  return ::v8::Undefined();
302 }
303 
304 ::v8::Handle<::v8::Value> DataSet_SetFloat(const ::v8::Arguments& /*args*/)
305 {
306  ::v8::HandleScope hs;
307  return ::v8::Undefined();
308 }
309 
310 ::v8::Handle<::v8::Value> DataSet_GetDouble(const ::v8::Arguments& /*args*/)
311 {
312  ::v8::HandleScope hs;
313  return ::v8::Undefined();
314 }
315 
316 ::v8::Handle<::v8::Value> DataSet_SetDouble(const ::v8::Arguments& /*args*/)
317 {
318  ::v8::HandleScope hs;
319  return ::v8::Undefined();
320 }
321 
322 ::v8::Handle<::v8::Value> DataSet_GetNumeric(const ::v8::Arguments& /*args*/)
323 {
324  ::v8::HandleScope hs;
325  return ::v8::Undefined();
326 }
327 
328 ::v8::Handle<::v8::Value> DataSet_SetNumeric(const ::v8::Arguments& /*args*/)
329 {
330  ::v8::HandleScope hs;
331  return ::v8::Undefined();
332 }
333 
334 ::v8::Handle<::v8::Value> DataSet_GetString(const ::v8::Arguments& /*args*/)
335 {
336  ::v8::HandleScope hs;
337  return ::v8::Undefined();
338 }
339 
340 ::v8::Handle<::v8::Value> DataSet_SetString(const ::v8::Arguments& /*args*/)
341 {
342  ::v8::HandleScope hs;
343  return ::v8::Undefined();
344 }
345 
346 ::v8::Handle<::v8::Value> DataSet_GetByteArray(const ::v8::Arguments& /*args*/)
347 {
348  ::v8::HandleScope hs;
349  return ::v8::Undefined();
350 }
351 
352 ::v8::Handle<::v8::Value> DataSet_SetByteArray(const ::v8::Arguments& /*args*/)
353 {
354  ::v8::HandleScope hs;
355  return ::v8::Undefined();
356 }
357 
358 ::v8::Handle<::v8::Value> DataSet_GetGeometry(const ::v8::Arguments& args)
359 {
360  ::v8::HandleScope hs;
361 
362  if(args.Holder().IsEmpty())
363  return ::v8::ThrowException(::v8::String::New(TR_V8JSI("In order to use the getGeometry method you must use the object notation: \"geom = obj.getGeometry(i);\"")));
364 
365  if(args.Length() != 1 || args[0].IsEmpty())
366  return ::v8::ThrowException(::v8::String::New(TR_V8JSI("Wrong parameters in getGeometry method!")));
367 
368  te::da::DataSet* d = te::v8::common::Unwrap<te::da::DataSet>(args.Holder());
369 
370  if(d == 0)
371  return ::v8::ThrowException(::v8::String::New(TR_V8JSI("Invalid dataset in getGeometry method!")));
372 
373  try
374  {
375  if(args[0]->IsInt32())
376  {
377  int col = args[0]->ToInt32()->Value();
378  std::auto_ptr<te::gm::Geometry> geom(d->getGeometry(col));
379  ::v8::Local<::v8::Object> jsgeom = te::v8::jsi::Geometry_Make(geom.get(), true);
380  geom.release();
381  return hs.Close(jsgeom);
382  }
383  else if(args[0]->IsString())
384  {
385  v8::String::Utf8Value jscolname(args[0]->ToString());
386  std::auto_ptr<te::gm::Geometry> geom(d->getGeometry(*jscolname));
387  ::v8::Local<::v8::Object> jsgeom = te::v8::jsi::Geometry_Make(geom.get(), true);
388  geom.release();
389  return hs.Close(jsgeom);
390  }
391 
392  return ::v8::ThrowException(::v8::String::New(TR_V8JSI("Wrong parameter in getGeometry method!")));
393  }
394  catch(const std::exception& e)
395  {
396  return ::v8::ThrowException(::v8::String::New(e.what()));
397  }
398  catch(...)
399  {
400  return ::v8::ThrowException(::v8::String::New(TR_V8JSI("Unexpected exception in getDataSet method!")));
401  }
402 }
403 
404 ::v8::Handle<::v8::Value> DataSet_SetGeometry(const ::v8::Arguments& /*args*/)
405 {
406  ::v8::HandleScope hs;
407  return ::v8::Undefined();
408 }
409 
410 ::v8::Handle<::v8::Value> DataSet_GetRaster(const ::v8::Arguments& /*args*/)
411 {
412  ::v8::HandleScope hs;
413  return ::v8::Undefined();
414 }
415 
416 ::v8::Handle<::v8::Value> DataSet_SetRaster(const ::v8::Arguments& /*args*/)
417 {
418  ::v8::HandleScope hs;
419  return ::v8::Undefined();
420 }
421 
422 ::v8::Handle<::v8::Value> DataSet_GetDateTime(const ::v8::Arguments& /*args*/)
423 {
424  ::v8::HandleScope hs;
425  return ::v8::Undefined();
426 }
427 
428 ::v8::Handle<::v8::Value> DataSet_SetDateTime(const ::v8::Arguments& /*args*/)
429 {
430  ::v8::HandleScope hs;
431  return ::v8::Undefined();
432 }
433 
434 ::v8::Handle<::v8::Value> DataSet_GetArray(const ::v8::Arguments& /*args*/)
435 {
436  ::v8::HandleScope hs;
437  return ::v8::Undefined();
438 }
439 
440 ::v8::Handle<::v8::Value> DataSet_GetWKB(const ::v8::Arguments& /*args*/)
441 {
442  ::v8::HandleScope hs;
443  return ::v8::Undefined();
444 }
445 
446 ::v8::Handle<::v8::Value> DataSet_GetDataSet(const ::v8::Arguments& /*args*/)
447 {
448  ::v8::HandleScope hs;
449  return ::v8::Undefined();
450 }
451 
452 ::v8::Handle<::v8::Value> DataSet_SetDataSet(const ::v8::Arguments& /*args*/)
453 {
454  ::v8::HandleScope hs;
455  return ::v8::Undefined();
456 }
457 
458 ::v8::Handle<::v8::Value> DataSet_GetValue(const ::v8::Arguments& /*args*/)
459 {
460  ::v8::HandleScope hs;
461  return ::v8::Undefined();
462 }
463 
464 ::v8::Handle<::v8::Value> DataSet_SetValue(const ::v8::Arguments& /*args*/)
465 {
466  ::v8::HandleScope hs;
467  return ::v8::Undefined();
468 }
469 
470 ::v8::Handle<::v8::Value> DataSet_GetAsString(const ::v8::Arguments& /*args*/)
471 {
472  ::v8::HandleScope hs;
473  return ::v8::Undefined();
474 }
475 
476 ::v8::Handle<::v8::Value> DataSet_IsNull(const ::v8::Arguments& /*args*/)
477 {
478  ::v8::HandleScope hs;
479  return ::v8::Undefined();
480 }
481 
482 static ::v8::Persistent<::v8::FunctionTemplate> sg_dataset_template;
483 
484 ::v8::Persistent<::v8::FunctionTemplate>& te::v8::jsi::GetDataSetTemplate()
485 {
486  if(sg_dataset_template.IsEmpty())
487  {
488  ::v8::Persistent<::v8::FunctionTemplate>& abstractDataTpl = GetAbstractDataTemplate();
489  ::v8::Local<::v8::FunctionTemplate> result = ::v8::FunctionTemplate::New();
490  result->Inherit(abstractDataTpl);
491 
492  ::v8::Handle<::v8::ObjectTemplate> prototype = result->PrototypeTemplate();
493 
494  prototype->Set(::v8::String::NewSymbol("getTraverseType"), ::v8::FunctionTemplate::New(DataSet_GetTraverseType));
495  prototype->Set(::v8::String::NewSymbol("getAccessPolicy"), ::v8::FunctionTemplate::New(DataSet_GetAccessPolicy));
496  prototype->Set(::v8::String::NewSymbol("getType"), ::v8::FunctionTemplate::New(DataSet_GetType));
497  prototype->Set(::v8::String::NewSymbol("getTransactor"), ::v8::FunctionTemplate::New(DataSet_GetTransactor));
498  prototype->Set(::v8::String::NewSymbol("loadTypeInfo"), ::v8::FunctionTemplate::New(DataSet_LoadTypeInfo));
499  prototype->Set(::v8::String::NewSymbol("getParent"), ::v8::FunctionTemplate::New(DataSet_GetParent));
500  prototype->Set(::v8::String::NewSymbol("getExtent"), ::v8::FunctionTemplate::New(DataSet_GetExtent));
501  prototype->Set(::v8::String::NewSymbol("setFilter"), ::v8::FunctionTemplate::New(DataSet_SetFilter));
502  prototype->Set(::v8::String::NewSymbol("getItem"), ::v8::FunctionTemplate::New(DataSet_GetItem));
503  prototype->Set(::v8::String::NewSymbol("add"), ::v8::FunctionTemplate::New(DataSet_Add));
504  prototype->Set(::v8::String::NewSymbol("isEmpty"), ::v8::FunctionTemplate::New(DataSet_IsEmpty));
505  prototype->Set(::v8::String::NewSymbol("size"), ::v8::FunctionTemplate::New(DataSet_Size));
506  prototype->Set(::v8::String::NewSymbol("moveNext"), ::v8::FunctionTemplate::New(DataSet_MoveNext));
507  prototype->Set(::v8::String::NewSymbol("movePrevious"), ::v8::FunctionTemplate::New(DataSet_MovePrevious));
508  prototype->Set(::v8::String::NewSymbol("moveFirst"), ::v8::FunctionTemplate::New(DataSet_MoveFirst));
509  prototype->Set(::v8::String::NewSymbol("moveBeforeFirst"), ::v8::FunctionTemplate::New(DataSet_MoveBeforeFirst));
510  prototype->Set(::v8::String::NewSymbol("moveLast"), ::v8::FunctionTemplate::New(DataSet_MoveLast));
511  prototype->Set(::v8::String::NewSymbol("moveAfterLast"), ::v8::FunctionTemplate::New(DataSet_MoveAfterLast));
512  prototype->Set(::v8::String::NewSymbol("move"), ::v8::FunctionTemplate::New(DataSet_Move));
513  prototype->Set(::v8::String::NewSymbol("isAtBegin"), ::v8::FunctionTemplate::New(DataSet_IsAtBegin));
514  prototype->Set(::v8::String::NewSymbol("isBeforeBegin"), ::v8::FunctionTemplate::New(DataSet_IsBeforeBegin));
515  prototype->Set(::v8::String::NewSymbol("isAtEnd"), ::v8::FunctionTemplate::New(DataSet_IsAtEnd));
516  prototype->Set(::v8::String::NewSymbol("isAfterLast"), ::v8::FunctionTemplate::New(DataSet_IsAfterLast));
517  prototype->Set(::v8::String::NewSymbol("getChar"), ::v8::FunctionTemplate::New(DataSet_GetChar));
518  prototype->Set(::v8::String::NewSymbol("setChar"), ::v8::FunctionTemplate::New(DataSet_SetChar));
519  prototype->Set(::v8::String::NewSymbol("getUChar"), ::v8::FunctionTemplate::New(DataSet_GetUChar));
520  prototype->Set(::v8::String::NewSymbol("setUChar"), ::v8::FunctionTemplate::New(DataSet_SetUChar));
521  prototype->Set(::v8::String::NewSymbol("getInt16"), ::v8::FunctionTemplate::New(DataSet_GetInt16));
522  prototype->Set(::v8::String::NewSymbol("setInt16"), ::v8::FunctionTemplate::New(DataSet_SetInt16));
523  prototype->Set(::v8::String::NewSymbol("getInt32"), ::v8::FunctionTemplate::New(DataSet_GetInt32));
524  prototype->Set(::v8::String::NewSymbol("setInt32"), ::v8::FunctionTemplate::New(DataSet_SetInt32));
525  prototype->Set(::v8::String::NewSymbol("getInt64"), ::v8::FunctionTemplate::New(DataSet_GetInt64));
526  prototype->Set(::v8::String::NewSymbol("setInt64"), ::v8::FunctionTemplate::New(DataSet_SetInt64));
527  prototype->Set(::v8::String::NewSymbol("getBool"), ::v8::FunctionTemplate::New(DataSet_GetBool));
528  prototype->Set(::v8::String::NewSymbol("setBool"), ::v8::FunctionTemplate::New(DataSet_SetBool));
529  prototype->Set(::v8::String::NewSymbol("getFloat"), ::v8::FunctionTemplate::New(DataSet_GetFloat));
530  prototype->Set(::v8::String::NewSymbol("setFloat"), ::v8::FunctionTemplate::New(DataSet_SetFloat));
531  prototype->Set(::v8::String::NewSymbol("getDouble"), ::v8::FunctionTemplate::New(DataSet_GetDouble));
532  prototype->Set(::v8::String::NewSymbol("setDouble"), ::v8::FunctionTemplate::New(DataSet_SetDouble));
533  prototype->Set(::v8::String::NewSymbol("getNumeric"), ::v8::FunctionTemplate::New(DataSet_GetNumeric));
534  prototype->Set(::v8::String::NewSymbol("setNumeric"), ::v8::FunctionTemplate::New(DataSet_SetNumeric));
535  prototype->Set(::v8::String::NewSymbol("getString"), ::v8::FunctionTemplate::New(DataSet_GetString));
536  prototype->Set(::v8::String::NewSymbol("setString"), ::v8::FunctionTemplate::New(DataSet_SetString));
537  prototype->Set(::v8::String::NewSymbol("getByteArray"), ::v8::FunctionTemplate::New(DataSet_GetByteArray));
538  prototype->Set(::v8::String::NewSymbol("setByteArray"), ::v8::FunctionTemplate::New(DataSet_SetByteArray));
539  prototype->Set(::v8::String::NewSymbol("getGeometry"), ::v8::FunctionTemplate::New(DataSet_GetGeometry));
540  prototype->Set(::v8::String::NewSymbol("setGeometry"), ::v8::FunctionTemplate::New(DataSet_SetGeometry));
541  prototype->Set(::v8::String::NewSymbol("getRaster"), ::v8::FunctionTemplate::New(DataSet_GetRaster));
542  prototype->Set(::v8::String::NewSymbol("setRaster"), ::v8::FunctionTemplate::New(DataSet_SetRaster));
543  prototype->Set(::v8::String::NewSymbol("getDateTime"), ::v8::FunctionTemplate::New(DataSet_GetDateTime));
544  prototype->Set(::v8::String::NewSymbol("setDateTime"), ::v8::FunctionTemplate::New(DataSet_SetDateTime));
545  prototype->Set(::v8::String::NewSymbol("getArray"), ::v8::FunctionTemplate::New(DataSet_GetArray));
546  prototype->Set(::v8::String::NewSymbol("getWKB"), ::v8::FunctionTemplate::New(DataSet_GetWKB));
547  prototype->Set(::v8::String::NewSymbol("getDataSet"), ::v8::FunctionTemplate::New(DataSet_GetDataSet));
548  prototype->Set(::v8::String::NewSymbol("setDataSet"), ::v8::FunctionTemplate::New(DataSet_SetDataSet));
549  prototype->Set(::v8::String::NewSymbol("getValue"), ::v8::FunctionTemplate::New(DataSet_GetValue));
550  prototype->Set(::v8::String::NewSymbol("setValue"), ::v8::FunctionTemplate::New(DataSet_SetValue));
551  prototype->Set(::v8::String::NewSymbol("getAsString"), ::v8::FunctionTemplate::New(DataSet_GetAsString));
552  prototype->Set(::v8::String::NewSymbol("isNull"), ::v8::FunctionTemplate::New(DataSet_IsNull));
553 
554  sg_dataset_template = ::v8::Persistent<::v8::FunctionTemplate>::New(result);
555  }
556 
557  return sg_dataset_template;
558 }
::v8::Handle<::v8::Value > DataSet_Add(const ::v8::Arguments &)
virtual std::unique_ptr< te::gm::Geometry > getGeometry(std::size_t i) const =0
Method for retrieving a geometric attribute value.
::v8::Local<::v8::Object > Make(T *obj, TF tfunc, const bool isOwner)
It creates a new JavaScript object from a C++ object (obj).
::v8::Handle<::v8::Value > DataSet_SetInt32(const ::v8::Arguments &)
::v8::Handle<::v8::Value > DataSet_MoveNext(const ::v8::Arguments &args)
::v8::Handle<::v8::Value > DataSet_GetFloat(const ::v8::Arguments &)
::v8::Handle<::v8::Value > DataSet_GetBool(const ::v8::Arguments &)
::v8::Handle<::v8::Value > DataSet_MoveBeforeFirst(const ::v8::Arguments &)
::v8::Handle<::v8::Value > DataSet_GetNumeric(const ::v8::Arguments &)
::v8::Handle<::v8::Value > DataSet_IsNull(const ::v8::Arguments &)
::v8::Handle<::v8::Value > DataSet_Move(const ::v8::Arguments &)
A class that models the description of a dataset.
Definition: DataSetType.h:72
::v8::Handle<::v8::Value > DataSet_IsAtEnd(const ::v8::Arguments &)
::v8::Handle<::v8::Value > DataSet_SetChar(const ::v8::Arguments &)
::v8::Handle<::v8::Value > DataSet_SetBool(const ::v8::Arguments &)
::v8::Handle<::v8::Value > DataSet_MoveAfterLast(const ::v8::Arguments &)
JavaScript exporting routine for the TerraLib Data Access module.
::v8::Handle<::v8::Value > DataSet_GetInt64(const ::v8::Arguments &)
::v8::Handle<::v8::Value > DataSet_SetDateTime(const ::v8::Arguments &)
::v8::Handle<::v8::Value > DataSet_SetFloat(const ::v8::Arguments &)
::v8::Handle<::v8::Value > DataSet_MoveFirst(const ::v8::Arguments &)
::v8::Handle<::v8::Value > DataSet_GetInt16(const ::v8::Arguments &)
::v8::Handle<::v8::Value > DataSet_GetAccessPolicy(const ::v8::Arguments &)
virtual bool moveNext()=0
It moves the internal pointer to the next item of the collection.
::v8::Handle<::v8::Value > DataSet_SetGeometry(const ::v8::Arguments &)
::v8::Handle<::v8::Value > DataSet_GetItem(const ::v8::Arguments &)
::v8::Handle<::v8::Value > DataSet_SetRaster(const ::v8::Arguments &)
::v8::Handle<::v8::Value > DataSet_SetNumeric(const ::v8::Arguments &)
::v8::Handle<::v8::Value > DataSet_GetWKB(const ::v8::Arguments &)
::v8::Handle<::v8::Value > DataSet_GetTransactor(const ::v8::Arguments &)
::v8::Handle<::v8::Value > DataSet_GetType(const ::v8::Arguments &args)
::v8::Handle<::v8::Value > DataSet_SetFilter(const ::v8::Arguments &)
static te::dt::DateTime d(2010, 8, 9, 15, 58, 39)
static te::dt::TimeDuration dt(20, 30, 50, 11)
::v8::Handle<::v8::Value > DataSet_SetDouble(const ::v8::Arguments &)
::v8::Handle<::v8::Value > DataSet_SetString(const ::v8::Arguments &)
::v8::Handle<::v8::Value > DataSet_GetParent(const ::v8::Arguments &)
::v8::Handle<::v8::Value > DataSet_GetTraverseType(const ::v8::Arguments &)
::v8::Handle<::v8::Value > DataSet_SetByteArray(const ::v8::Arguments &)
::v8::Handle<::v8::Value > DataSet_GetDouble(const ::v8::Arguments &)
::v8::Handle<::v8::Value > DataSet_SetInt16(const ::v8::Arguments &)
::v8::Persistent<::v8::FunctionTemplate > & GetAbstractDataTemplate()
It returns a reference to the persistent template of an AbstractData object.
::v8::Handle<::v8::Value > DataSet_LoadTypeInfo(const ::v8::Arguments &)
::v8::Handle<::v8::Value > DataSet_IsAfterLast(const ::v8::Arguments &)
::v8::Handle<::v8::Value > DataSet_GetUChar(const ::v8::Arguments &)
::v8::Persistent<::v8::FunctionTemplate > & GetDataSetTemplate()
It returns a reference to the persistent template of a DataSet object.
::v8::Handle<::v8::Value > DataSet_GetByteArray(const ::v8::Arguments &)
A dataset is the unit of information manipulated by the data access module of TerraLib.
::v8::Handle<::v8::Value > DataSet_IsEmpty(const ::v8::Arguments &)
::v8::Handle<::v8::Value > DataSet_SetDataSet(const ::v8::Arguments &)
::v8::Handle<::v8::Value > DataSet_SetValue(const ::v8::Arguments &)
::v8::Handle<::v8::Value > DataSet_GetArray(const ::v8::Arguments &)
::v8::Handle<::v8::Value > DataSet_GetDataSet(const ::v8::Arguments &)
::v8::Handle<::v8::Value > DataSet_GetGeometry(const ::v8::Arguments &args)
::v8::Handle<::v8::Value > DataSet_GetExtent(const ::v8::Arguments &)
::v8::Local<::v8::Object > Geometry_Make(te::gm::Geometry *g, const bool isOwner)
Given a C++ geometry this function creates a new JavaScript geometry cast to the right geometry subty...
::v8::Handle<::v8::Value > DataSet_MoveLast(const ::v8::Arguments &)
::v8::Handle<::v8::Value > DataSet_SetUChar(const ::v8::Arguments &)
::v8::Handle<::v8::Value > DataSet_GetAsString(const ::v8::Arguments &)
::v8::Handle<::v8::Value > DataSet_GetInt32(const ::v8::Arguments &)
::v8::Handle<::v8::Value > DataSet_GetDateTime(const ::v8::Arguments &)
::v8::Handle<::v8::Value > DataSet_IsAtBegin(const ::v8::Arguments &)
static::v8::Persistent<::v8::FunctionTemplate > sg_dataset_template
::v8::Persistent<::v8::FunctionTemplate > & GetDataSetTypeTemplate()
It returns a reference to the persistent template of a DataSetType object.
::v8::Handle<::v8::Value > DataSet_GetRaster(const ::v8::Arguments &)
::v8::Handle<::v8::Value > DataSet_SetInt64(const ::v8::Arguments &)
::v8::Handle<::v8::Value > DataSet_GetChar(const ::v8::Arguments &)
#define TR_V8JSI(message)
It marks a string in order to get translated. This is a special mark used in the Vector Geometry modu...
::v8::Handle<::v8::Value > DataSet_Size(const ::v8::Arguments &)
unsigned int col
::v8::Handle<::v8::Value > DataSet_MovePrevious(const ::v8::Arguments &)
std::string ToString(const XMLCh *const value)
It converts the XML string to a standard C++ string.
::v8::Handle<::v8::Value > DataSet_GetString(const ::v8::Arguments &)
::v8::Handle<::v8::Value > DataSet_IsBeforeBegin(const ::v8::Arguments &)
::v8::Handle<::v8::Value > DataSet_GetValue(const ::v8::Arguments &)