26 #ifndef __TERRALIB_DATAACCESS_DATASOURCE_INTERNAL_DATASOURCEFACTORY_H
27 #define __TERRALIB_DATAACCESS_DATASOURCE_INTERNAL_DATASOURCEFACTORY_H
30 #include "../../common/Static.h"
31 #include "../Config.h"
32 #include "../Exception.h"
40 #include <boost/function.hpp>
44 namespace core {
class URI; }
65 static std::unique_ptr<DataSource> make(
const std::string& driver,
const te::core::URI& connInfo);
67 static std::unique_ptr<DataSource> make(
const std::string& driver,
const std::string& connInfo);
69 static void add(
const std::string& dsType, FactoryFnctType f);
71 static void remove(
const std::string& dsType);
73 static bool find(
const std::string& dsType);
82 #endif // __TERRALIB_DATAACCESS_DATASOURCE_INTERNAL_DATASOURCEFACTORY_H
static std::map< std::string, FactoryFnctType > sm_factories
boost::function< DataSource *(const te::core::URI &uri)> FactoryFnctType
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.
A base type for static classes.
A factory for data sources.