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);
71 static void remove(
const std::string& dsType);
73 static bool find(
const std::string& dsType);
A base type for static classes.
A class to store the proxy information that must be used to access data located in URIs.
A factory for data sources.
static std::unique_ptr< DataSource > make(const std::string &driver, const te::core::URI &connInfo)
static void add(const std::string &dsType, FactoryFnctType f)
static std::map< std::string, FactoryFnctType > sm_factories
static bool find(const std::string &dsType)
static void remove(const std::string &dsType)
boost::function< DataSource *(const te::core::URI &uri)> FactoryFnctType
static std::unique_ptr< DataSource > make(const std::string &driver, const std::string &connInfo)
An abstract class for data providers like a DBMS, Web Services or a regular file.
#define TEDATAACCESSEXPORT
You can use this macro in order to export/import classes and functions from this module.