26 #ifndef __TERRALIB_MEMORY_INTERNAL_DATASOURCE_H 
   27 #define __TERRALIB_MEMORY_INTERNAL_DATASOURCE_H 
   30 #include "../dataaccess/dataset/DataSet.h" 
   31 #include "../dataaccess/datasource/DataSource.h" 
   35 #include <boost/thread.hpp> 
   65         const std::map<std::string, te::da::DataSetPtr>& getDataSets() 
const;
 
   72         const std::map<std::string, te::da::DataSetTypePtr> getSchemas() 
const;
 
   74         std::string getType() 
const;
 
   76         const std::map<std::string, std::string>& getConnectionInfo() 
const;
 
   78         void setConnectionInfo(
const std::map<std::string, std::string>& connInfo);
 
   80         std::auto_ptr<te::da::DataSourceTransactor> getTransactor();
 
   86         bool isOpened() 
const;
 
   94         std::auto_ptr<te::da::DataSet> getDataSet(
const std::string& name, 
 
   98         std::vector<std::string> getDataSetNames();
 
  100         std::size_t getNumberOfDataSets();
 
  102         std::auto_ptr<te::da::DataSetType> getDataSetType(
const std::string& datasetName);
 
  104         boost::ptr_vector<te::dt::Property> getProperties(
const std::string& datasetName);
 
  106         std::auto_ptr<te::dt::Property> getProperty(
const std::string& datasetName, 
const std::string& name);
 
  108         std::auto_ptr<te::dt::Property> getProperty(
const std::string& datasetName, std::size_t propertyPos);
 
  110         std::vector<std::string> getPropertyNames(
const std::string& datasetName);
 
  112         std::size_t getNumberOfProperties(
const std::string& datasetName);
 
  114         bool propertyExists(
const std::string& datasetName, 
const std::string& name);
 
  118         void dropProperty(
const std::string& datasetName, 
const std::string& propertyName);
 
  120         void renameProperty(
const std::string& datasetName, 
const std::string& name, 
const std::string& newName);
 
  122         std::size_t getNumberOfItems(
const std::string& datasetName);
 
  126         bool dataSetExists(
const std::string& name);
 
  128         void createDataSet(
te::da::DataSetType* dt, 
const std::map<std::string, std::string>& options);
 
  130         void cloneDataSet(
const std::string& name, 
const std::string& cloneName,
 
  131                           const std::map<std::string, std::string>& options);
 
  133         void dropDataSet(
const std::string& name);
 
  135         void renameDataSet(
const std::string& name, 
const std::string& newName);
 
  138                  const std::map<std::string, std::string>& options, std::size_t limit);
 
  142         void update(
const std::string& datasetName,
 
  144                     const std::vector<std::size_t>& properties,
 
  146                     const std::map<std::string, std::string>& options,
 
  147                     std::size_t limit = 0);
 
  162         void create(
const std::map<std::string, std::string>& dsInfo);
 
  164         void drop(
const std::map<std::string, std::string>& dsInfo);
 
  166         bool exists(
const std::map<std::string, std::string>& dsInfo);
 
  168         std::vector<std::string> getDataSourceNames(
const std::map<std::string, std::string>& dsInfo);
 
  170         std::vector<std::string> getEncodings(
const std::map<std::string, std::string>& dsInfo);
 
  176         std::map<std::string, te::da::DataSetTypePtr> 
m_schemas;    
 
  177         mutable boost::recursive_mutex 
m_mtx;                       
 
  190 #endif  // __TERRALIB_MEMORY_INTERNAL_DATASOURCE_H 
std::map< std::string, std::string > m_connInfo
DataSource information. 
 
This class represents a set of unique ids created in the same context. i.e. from the same data set...
 
#define TEMEMORYEXPORT
You can use this macro in order to export/import classes and functions from this module. 
 
Configuration flags for the TerraLib In-memory Data Access driver. 
 
bool m_isOpened
A flag to control the state of the data source. 
 
std::map< std::string, te::da::DataSetPtr > m_datasets
The set of datasets stored in memory. 
 
A class that represents the known capabilities of a specific data source, i.e. this class informs all...
 
AccessPolicy
Supported data access policies (can be used as bitfield). 
 
It represents the SQL query dialect accepted by a given data source. 
 
bool m_deepCopy
If true, each dataset is cloned in the getDataSet method. 
 
std::size_t m_maxNumDatasets
The maximum number of datasets to be handled by the data source. 
 
std::size_t m_numDatasets
The number of datasets kept in the data source. 
 
std::map< std::string, te::da::DataSetTypePtr > m_schemas
The set of dataset schemas. 
 
TraverseType
A dataset can be traversed in two ways: 
 
An abstract class for data providers like a DBMS, Web Services or a regular file. ...
 
A class that models the description of a dataset. 
 
It models a property definition. 
 
boost::recursive_mutex m_mtx
The internal mutex. 
 
static te::da::DataSourceCapabilities sm_capabilities
The Memory data source capabilities. 
 
Implementation of a random-access dataset class for the TerraLib In-Memory Data Access driver...
 
A dataset is the unit of information manipulated by the data access module of TerraLib. 
 
te::da::DataSourceCapabilities capabilities
 
static const te::da::SQLDialect sm_dialect
A dummy dialect.