OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimToolRegistry.cpp
Go to the documentation of this file.
1 //**************************************************************************************************
2 //
3 // OSSIM Open Source Geospatial Data Processing Library
4 // See top level LICENSE.txt file for license information
5 //
6 //**************************************************************************************************
7 
10 
11 using namespace std;
12 
14 
16 {
17  if (!s_instance)
18  s_instance = new ossimToolRegistry;
19  return s_instance;
20 }
21 
23 {
24  registerFactory(ossimToolFactory::instance(), true);
25 }
26 
28 {
29 
30 }
31 
33 {
34  return false;
35 }
36 
37 void ossimToolRegistry::getCapabilities(map<string, string>& capabilities) const
38 {
39  capabilities.clear();
40  ossimString name, descr;
41 
42  // Loop over all factories and get capabilities which is list of (name, descr) pairs for all
43  // registered operations:
44  vector<ossimToolFactoryBase*>::const_iterator iter = m_factoryList.begin();
45  while (iter != m_factoryList.end())
46  {
47  (*iter)->getCapabilities(capabilities);
48  ++iter;
49  }
50 }
51 
52 std::map<std::string, std::string> ossimToolRegistry::getCapabilities() const
53 {
54  std::map<std::string, std::string> result;
55  getCapabilities(result);
56  return result;
57 }
58 
59 ossimTool* ossimToolRegistry::createTool(const std::string& argName) const
60 {
61  ossimTool* result = 0;
62  vector<ossimToolFactoryBase*>::const_iterator iter = m_factoryList.begin();
63  while ((iter != m_factoryList.end()) && (!result))
64  {
65  result = (*iter)->createTool(argName);
66  ++iter;
67  }
68  return result;
69 }
70 
71 void ossimToolRegistry::getTypeNameList(vector<ossimString>& typeList) const
72 {
73  typeList.clear();
74  vector<ossimToolFactoryBase*>::const_iterator iter = m_factoryList.begin();
75  while (iter != m_factoryList.end())
76  {
77  (*iter)->getTypeNameList(typeList);
78  ++iter;
79  }
80 }
81 
static ossimToolFactory * instance()
Registry of all utility factories.
virtual ossimTool * createTool(const std::string &typeName) const
static ossimToolRegistry * instance()
std::string::iterator begin()
Definition: ossimString.h:420
virtual void getTypeNameList(std::vector< ossimString > &typeList) const
virtual std::map< std::string, std::string > getCapabilities() const
virtual bool initialize()
Initializes the utility factory.
static ossimToolRegistry * s_instance