Fire Core  8.0.0.alpha
GIS framework per tutti gli usi
 Tutto Classi Namespace Funzioni Variabili Ridefinizioni di tipo (typedef) Tipi enumerati (enum) Valori del tipo enumerato Friend
DataRowSh.hpp
1 // Copyright © 2015 GEOSYSTEMS SRL
2 // All Rights Reserved.
3 
4 #ifndef FIRE_PLUGIN_DATA_SHARED_DATAROWSH_HPP_INCLUDED
5 #define FIRE_PLUGIN_DATA_SHARED_DATAROWSH_HPP_INCLUDED
6 
7 #include <boost/shared_ptr.hpp>
8 #include <fire/shared/Shared.hpp>
9 
10 #include <string>
11 #include <exception>
12 
13 #include "fire/gis/export.hpp"
14 #include "fire/source/vector/DataRow.hpp"
15 #include "fire/source/vector/shared/DataValueSh.hpp"
16 
17 namespace fire {
18 namespace source {
19 namespace vector {
20 namespace shared {
21 
22 class FIRE_GIS_DLL DataRowSh: public fire::shared::Shared< DataRow > {
23  public:
24  DataRowSh(): Shared(NULL) {
25  }
26 
27  explicit DataRowSh(DataRow* ptr): Shared(ptr) {
28  }
29 
30  explicit DataRowSh(Metadata::MetadataShp const & md) {
31  DataRow* row = new DataRow(md);
32  _ptr.reset(row);
33  }
34 
35  explicit DataRowSh(Metadata* m) {
36  Metadata::MetadataShp mtd(m);
37  DataRow* row = new DataRow(mtd);
38  _ptr.reset(row);
39  }
40 
41  DataRowSh(DataRowSh const & c) {
42  this->operator =(c);
43  }
44 
45  inline void committed() {
46  return _getPtr()->committed();
47  }
48 
49  inline Metadata::MetadataShp const getMetadata() const {
50  return _getPtr()->getMetadata();
51  }
52 
53  inline int getCount() const {
54  return _getPtr()->getCount();
55  }
56 
57  inline bool isChanged() const {
58  return _getPtr()->isChanged();
59  }
60 
61  inline void set(const size_t &idx, const DataValue::DataValueShp& val) {
62  _getPtr()->set(idx, val);
63  }
64 
65  inline void set(const std::string& name, const DataValue::DataValueShp& val) {
66  _getPtr()->set(name, val);
67  }
68 
69  inline DataValue::DataValueShp const get(const int& idx) const {
70  return _getPtr()->get(idx);
71  }
72 
73  inline DataValue::DataValueShp get(const int& idx) {
74  return _getPtr()->get(idx);
75  }
76 
77  inline const DataValue::DataValueShp get(const std::string& name) const {
78  return _getPtr()->get(name);
79  }
80 
81  inline DataValue::DataValueShp get(const std::string& name) {
82  return _getPtr()->get(name);
83  }
84 
85  inline void getPrimaryKey(DataRow::VctValue& list) const {
86  _getPtr()->getPrimaryKey(list);
87  }
88 
89  inline void saveOrUpdate() {
90  _getPtr()->saveOrUpdate();
91  }
92 
93  inline void insert() {
94  _getPtr()->insert();
95  }
96 
97  inline void update() {
98  _getPtr()->update();
99  }
100 
101  inline void erase() {
102  _getPtr()->erase();
103  }
104 };
105 
106 } // namespace shared
107 } // namespace vector
108 } // namespace source
109 } // namespace fire
110 
111 #endif
Definition: DataRowSh.hpp:22
Definition: MetadataSh.hpp:22
Definition: Shared.hpp:17
Definisce la struttura di un contenitore di dati vettoriali. Permette di sapere quante colonne compon...
Definition: Metadata.hpp:29
std::vector< DataValue::DataValueShp > VctValue
Vettore di istanze condivise fire::source::vector::DataValue.
Definition: DataRow.hpp:42
Definition: DataValueSh.hpp:24
Oggetto per l'accesso alle colonne di una riga di dati.
Definition: DataRow.hpp:32