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
DataSetQt.hpp
1 // Copyright 2015 GEOSYSTEMS SRL
2 // All Rights Reserved.
3 
4 #ifndef FIRE_PLUGIN_CONNECTION_DATASETQT_HPP_INCLUDED
5 #define FIRE_PLUGIN_CONNECTION_DATASETQT_HPP_INCLUDED
6 
7 #include <QtSql/QSqlQuery>
8 #include <boost/thread/mutex.hpp>
9 #include <fire/source/vector/DataSet.hpp>
10 
11 #include <string>
12 #include <exception>
13 
14 #include "fire/plugin-impl/connection/qt/ConnectionQtSql.hpp"
15 
16 namespace fire {
17 namespace connection {
18 namespace qt {
19 
24  public:
25  explicit DataSetQt(QSqlQuery ds, std::string const & cnnName, const std::string &tblName = "", const std::string &schemaName = "", const source::vector::DataRow::MapSqlParam& params = source::vector::DataRow::MapSqlParam());
26  virtual ~DataSetQt();
29  bool reset() const;
34 
35  private:
36  explicit DataSetQt(const DataSetQt& source);
37  DataSetQt& operator=(const DataSetQt& source);
38 
39  source::vector::DataRow::DataRowShp _buildRowNoWait() const;
40  source::vector::DataRow::DataRowShp _nextNoWait(QSqlQuery & ds) const;
41  ConnectionQtSql::ConnectionQtSqlShp const _getConnectionNoWait() const;
42  source::vector::Metadata::MetadataShp const _getMetadataNoWait() const;
43 
44  std::string _tblName;
45  std::string _cnnName;
46  mutable QSqlQuery _ds;
47  std::string _schemaName;
48  mutable boost::mutex _mtx;
50  mutable source::vector::DataRow::DataRowShp _current; // definito mutable per consentire la "lazy initialization"
51  mutable source::vector::Metadata::MetadataShp _mtd; // definito mutable per consentire la "lazy initialization"
52 };
53 
54 } // namespace qt
55 } // namespace connection
56 } // namespace fire
57 
58 #endif
source::vector::DataRow::DataRowShp current()
Restituisce la riga su cui il dataset รจ posizionato.
Definition: ConnectionQtSqlSh.hpp:21
Oggetto responsabile dell'accesso ai dati estratti da una sorgente. Ogni istanza di questo oggetto pu...
Definition: DataSet.hpp:26
std::map< std::string, DataValue::DataValueShp > MapSqlParam
Mappa di parametri usata per query SQL parametriche.
Definition: DataRow.hpp:47
Definition: DataRowSh.hpp:22
source::vector::DataRow::DataRowShp createEmptyRow() const
Costruisce un oggetto source::vector::DataRow con la stessa struttura del dataset.
Definition: MetadataSh.hpp:22
bool reset() const
Riporta il cursore dei dati nella sua posizione iniziale.
source::vector::Metadata::MetadataShp const getMetadata() const
Costruisce i metadati che descrivono la struttura dell'interrogazione effettuata su DB...
source::vector::DataRow::DataRowShp next()
Avanza alla riga successiva.
Definition: DataSetQt.hpp:23