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" 
   40     class AbstractCachePolicy;
 
   42     class AbstractGraphLoaderStrategy;
 
   86         static AbstractGraph* make(
const std::map<std::string, std::string>& dsInfo, 
const std::map<std::string, std::string>& gInfo);
 
  100         static AbstractGraph* make(
const std::string& gType, 
const std::map<std::string, std::string>& dsInfo, 
const std::map<std::string, std::string>& gInfo);
 
  112         static AbstractGraph* open(
const std::map<std::string, std::string>& dsInfo, 
const std::map<std::string, std::string>& gInfo);
 
  125         static AbstractGraph* open(
const std::string& gType, 
const std::map<std::string, std::string>& dsInfo, 
const std::map<std::string, std::string>& gInfo);
 
  132         virtual const std::string& getType() 
const = 0;
 
  135         virtual void getCreationalParameters(std::vector< std::pair<std::string, std::string> >& params) 
const = 0;
 
  156         virtual AbstractGraph* iOpen(
const std::map<std::string, std::string>& dsInfo, 
const std::map<std::string, std::string>& gInfo) = 0;
 
  168         virtual AbstractGraph* create(
const std::map<std::string, std::string>& dsInfo, 
const std::map<std::string, std::string>& gInfo) = 0;
 
  180         static te::graph::GraphMetadata* getMetadata(
const std::map<std::string, std::string>& dsInfo, 
const std::map<std::string, std::string>& gInfo);
 
  190         static int getId(
const std::map<std::string, std::string>& dsInfo, 
const std::map<std::string, std::string>& gInfo);
 
  215         static void setMetadataInformation(
const std::map<std::string, std::string>& gInfo, 
te::graph::GraphMetadata* metadata);
 
  221 #endif  // __TERRALIB_GRAPH_INTERNAL_ABSTRACTGRAPHFACTORY_H 
This class defines the interface of abstract factories without initializing parameters. 
 
#define TEGRAPHEXPORT
You can use this macro in order to export/import classes and functions from this module. 
 
virtual ~AbstractGraphFactory()
Destructor. 
 
This class is used to set the main functions of a cache policy. 
 
Abstract class used to define the main functions of graph struct. All graph implementations must used...
 
This class define the main functions necessary to save and load the graph data and metadata informati...
 
This is the abstract factory for Graphs.