26 #ifndef __TERRALIB_GRAPH_INTERNAL_ABSTRACTGRAPHFACTORY_H
27 #define __TERRALIB_GRAPH_INTERNAL_ABSTRACTGRAPHFACTORY_H
30 #include "../../common/AbstractFactory.h"
31 #include "../graphs/Graph.h"
32 #include "../Config.h"
84 static AbstractGraph* make(
const std::map<std::string, std::string>& dsInfo,
const std::map<std::string, std::string>& gInfo);
98 static AbstractGraph* make(
const std::string& gType,
const std::map<std::string, std::string>& dsInfo,
const std::map<std::string, std::string>& gInfo);
110 static AbstractGraph* open(
const std::map<std::string, std::string>& dsInfo,
const std::map<std::string, std::string>& gInfo);
123 static AbstractGraph* open(
const std::string& gType,
const std::map<std::string, std::string>& dsInfo,
const std::map<std::string, std::string>& gInfo);
130 virtual const std::string& getType()
const = 0;
133 virtual void getCreationalParameters(std::vector< std::pair<std::string, std::string> >& params)
const = 0;
154 virtual AbstractGraph* iOpen(
const std::map<std::string, std::string>& dsInfo,
const std::map<std::string, std::string>& gInfo) = 0;
166 virtual AbstractGraph* create(
const std::map<std::string, std::string>& dsInfo,
const std::map<std::string, std::string>& gInfo) = 0;
172 #endif // __TERRALIB_GRAPH_INTERNAL_ABSTRACTGRAPHFACTORY_H
This is the abstract factory for Graphs.
Abstract class used to define the main functions of graph struct. All graph implementations must used...
#define TEGRAPHEXPORT
You can use this macro in order to export/import classes and functions from this module.
This class defines the interface of abstract factories without initializing parameters.
virtual ~AbstractGraphFactory()
Destructor.