26 #ifndef __TERRALIB_DATAACCESS_INTERNAL_DATASOURCEMANAGER_H 27 #define __TERRALIB_DATAACCESS_INTERNAL_DATASOURCEMANAGER_H 30 #include "../../common/Comparators.h" 31 #include "../../common/Singleton.h" 32 #include "../../common/ThreadingPolicies.h" 41 namespace core {
class URI; }
63 ::boost::recursive_mutex,
64 ::boost::lock_guard< ::boost::recursive_mutex>,
65 ::boost::lock_guard< ::boost::recursive_mutex> >,
73 typedef std::map<std::string, DataSourcePtr>::iterator
iterator;
88 DataSourcePtr make(
const std::string&
id,
const std::string& dsType,
const std::string& connInfo);
120 DataSourcePtr open(
const std::string&
id,
const std::string& dsType,
const std::string& connInfo);
154 DataSourcePtr get(
const std::string& id,
const std::string& dsType,
const std::string& connInfo);
180 std::size_t size()
const;
236 void detachAll(
const std::string& dsType);
250 const_iterator begin()
const;
264 const_iterator end()
const;
283 std::map<std::string, DataSourcePtr>
m_dss;
286 inline std::size_t DataSourceManager::size()
const 293 return m_dss.begin();
298 return m_dss.begin();
315 #endif // __TERRALIB_DATAACCESS_INTERNAL_DATASOURCEMANAGER_H std::map< std::string, DataSourcePtr >::iterator iterator
boost::shared_ptr< DataSource > DataSourcePtr
An abstract class for data providers like a DBMS, Web Services or a regular file. ...
This is a singleton for managing all data source instances available in the system.
mydialect insert("+", new te::da::BinaryOpEncoder("+"))
std::map< std::string, DataSourcePtr > m_dss
The data sources kept in the manager.
A class for representing an Uniform Resource Identifier (URI).
#define TEDATAACCESSEXPORT
You can use this macro in order to export/import classes and functions from this module.
This policy assures an object-level locking scheme for a derived class.
std::map< std::string, DataSourcePtr >::const_iterator const_iterator
Template support for singleton pattern.