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.