26 #ifndef __TERRALIB_DATAACCESS_INTERNAL_DATASOURCECATALOGMANAGER_H
27 #define __TERRALIB_DATAACCESS_INTERNAL_DATASOURCECATALOGMANAGER_H
30 #include "../../common/Comparators.h"
31 #include "../../common/Singleton.h"
32 #include "../../common/ThreadingPolicies.h"
54 ::boost::recursive_mutex,
55 ::boost::lock_guard< ::boost::recursive_mutex>,
56 ::boost::lock_guard< ::boost::recursive_mutex> >,
63 typedef std::map<DataSourcePtr, DataSourceCatalogPtr>::const_iterator
const_iterator;
64 typedef std::map<DataSourcePtr, DataSourceCatalogPtr>::iterator
iterator;
161 std::size_t size()
const;
It represents the system catalog of a DataSource.
This policy assures an object-level locking scheme for a derived class.
Template support for singleton pattern.
This is a singleton for managing all the data source catalog instances available in the system.
std::map< DataSourcePtr, DataSourceCatalogPtr >::iterator iterator
std::map< DataSourcePtr, DataSourceCatalogPtr >::const_iterator const_iterator
const_iterator begin() const
It returns an iterator to the beginning of the container.
const_iterator end() const
It returns an iterator to the end of the container.
DataSourceCatalogPtr detach(const DataSourcePtr &ds)
It changes the ownership of the data source catalog associated to the given data source.
void detachAll(const std::string &dsType)
All the catalogs whose data sources are of the specified type are detached from the manager.
void detach(DataSourceCatalogPtr catalog)
It changes the ownership of the data source catalog to the caller.
DataSourceCatalogPtr get(DataSourcePtr ds)
It gets the catalog associated to the given data source. If there is no catalog registered in the man...
std::size_t size() const
It returns the number of data source catalogs that the manager are keeping track of.
std::map< DataSourcePtr, DataSourceCatalogPtr > m_catalogs
The catalogs registered in the manager.
bool find(const DataSourcePtr &ds) const
It tries to find the catalog associated to the given data source.
void detachAll()
All the catalogs are detached from the manager.
DataSourceCatalogPtr create(DataSourcePtr ds)
It creates a catalog for the given data source, loads their sequences and the information about the s...
~DataSourceCatalogManager()
Singleton destructor.
DataSourceCatalogManager()
It initializes the singleton instance of the data source catalog manager.
void insert(const DataSourceCatalogPtr &catalog)
It inserts the data source catalog into the manager. The catalog must have a data source in order to ...
boost::shared_ptr< DataSourceCatalog > DataSourceCatalogPtr
boost::shared_ptr< DataSource > DataSourcePtr
#define TEDATAACCESSEXPORT
You can use this macro in order to export/import classes and functions from this module.
Data Source for WS OGC WMS.