OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
Public Member Functions | Static Public Member Functions | Static Private Attributes | List of all members
ossimToolRegistry Class Reference

Registry of all utility factories. More...

#include <ossimToolRegistry.h>

Inheritance diagram for ossimToolRegistry:
ossimToolFactoryBase ossimFactoryListInterface< ossimToolFactoryBase, ossimTool > ossimObjectFactory ossimObject ossimReferenced

Public Member Functions

 ossimToolRegistry ()
 
 ~ossimToolRegistry ()
 
virtual bool initialize ()
 Initializes the utility factory. More...
 
virtual void getCapabilities (std::map< std::string, std::string > &capabilities) const
 Appends map with available utilities along with descriptions as <name, decription> pairs. More...
 
virtual std::map< std::string, std::string > getCapabilities () const
 
virtual ossimToolcreateTool (const std::string &typeName) const
 
virtual ossimString getClassName () const
 
virtual void getTypeNameList (std::vector< ossimString > &typeList) const
 
- Public Member Functions inherited from ossimToolFactoryBase
virtual ossimObjectcreateObject (const ossimString &typeName) const
 
virtual ossimObjectcreateObject (const ossimKeywordlist &kwl, const char *prefix=0) const
 
virtual ossimToolcreateTool (const ossimKeywordlist &kwl, const char *prefix=0) const
 
- Public Member Functions inherited from ossimObjectFactory
virtual ~ossimObjectFactory ()
 
- Public Member Functions inherited from ossimObject
 ossimObject ()
 
virtual ~ossimObject ()
 
virtual ossimObjectdup () const
 
virtual ossimString getShortName () const
 
virtual ossimString getLongName () const
 
virtual ossimString getDescription () const
 
virtual RTTItypeid getType () const
 
virtual bool canCastTo (ossimObject *obj) const
 
virtual bool canCastTo (const RTTItypeid &id) const
 
virtual bool canCastTo (const ossimString &parentClassName) const
 
virtual bool saveState (ossimKeywordlist &kwl, const char *prefix=0) const
 
virtual bool loadState (const ossimKeywordlist &kwl, const char *prefix=0)
 
virtual std::ostream & print (std::ostream &out) const
 Generic print method. More...
 
virtual bool isEqualTo (const ossimObject &obj, ossimCompareType compareType=OSSIM_COMPARE_FULL) const
 
virtual void accept (ossimVisitor &visitor)
 
- Public Member Functions inherited from ossimReferenced
 ossimReferenced ()
 
 ossimReferenced (const ossimReferenced &)
 
ossimReferencedoperator= (const ossimReferenced &)
 
void ref () const
 increment the reference count by one, indicating that this object has another pointer which is referencing it. More...
 
void unref () const
 decrement the reference count by one, indicating that a pointer to this object is referencing it. More...
 
void unref_nodelete () const
 decrement the reference count by one, indicating that a pointer to this object is referencing it. More...
 
int referenceCount () const
 
- Public Member Functions inherited from ossimFactoryListInterface< ossimToolFactoryBase, ossimTool >
 ossimFactoryListInterface ()
 
void addFactory (ossimToolFactoryBase *factory)
 This is for backward compatability and calls registerFactory for simple adds. More...
 
bool isFactoryRegistered (ossimToolFactoryBase *factory) const
 Public access method to determine if a factory is already registered to this list. More...
 
void registerFactory (ossimToolFactoryBase *factory, bool pushToFrontFlag=false)
 Will register a factory to the factory list. More...
 
void unregisterFactory (ossimToolFactoryBase *factory)
 Will remove the factory from the registry. More...
 
void unregisterFactory (const ossimString &factoryTypeName)
 Will remove the factory from the registry by name. More...
 
void unregisterAllFactories ()
 Will remove all factories from the registry. More...
 
void registerFactoryToFront (ossimToolFactoryBase *factory)
 Inserts the factory to the front of the list. More...
 
void registerFactoryBefore (ossimToolFactoryBase *factory, ossimToolFactoryBase *beforeThisFactory)
 Will insert the factory before the beforeThisFactory. More...
 
void getAllTypeNamesFromRegistry (std::vector< ossimString > &typeList) const
 Will add all object types the factories can allocate. More...
 
ossimObjectcreateObjectFromRegistry (const ossimString &typeName) const
 This is the base object return for all objects in the system. More...
 
ossimObjectcreateObjectFromRegistry (const ossimKeywordlist &kwl, const char *prefix=0) const
 This is the base object return for all objects in the system. More...
 
ossimToolcreateNativeObjectFromRegistry (const ossimString &typeName) const
 This is a helper method that calls the createObject and makes sure that the returned object is of the NativeType base type this registry supports. More...
 
ossimToolcreateNativeObjectFromRegistry (const ossimKeywordlist &kwl, const char *prefix=0) const
 This is a helper method that calls the createObject and makes sure that the returned object is of the NativeType base type this registry supports. More...
 

Static Public Member Functions

static ossimToolRegistryinstance ()
 

Static Private Attributes

static ossimToolRegistrys_instance = 0
 

Additional Inherited Members

- Public Types inherited from ossimFactoryListInterface< ossimToolFactoryBase, ossimTool >
typedef std::vector< ossimToolFactoryBase *> FactoryListType
 
typedef ossimToolFactoryBase FactoryType
 
typedef ossimTool NativeReturnType
 
- Protected Member Functions inherited from ossimReferenced
virtual ~ossimReferenced ()
 
- Protected Member Functions inherited from ossimFactoryListInterface< ossimToolFactoryBase, ossimTool >
bool findFactory (ossimToolFactoryBase *factory) const
 Utility to find a factory in the list. More...
 
- Protected Attributes inherited from ossimFactoryListInterface< ossimToolFactoryBase, ossimTool >
std::mutex m_factoryListMutex
 
FactoryListType m_factoryList
 

Detailed Description

Registry of all utility factories.

Presently only one factory exists, ossimUtilityFactory, but eventually plugins can provide their own utilities and corresponding factories.

Definition at line 22 of file ossimToolRegistry.h.

Constructor & Destructor Documentation

◆ ossimToolRegistry()

ossimToolRegistry::ossimToolRegistry ( )

Definition at line 22 of file ossimToolRegistry.cpp.

References ossimToolFactory::instance().

23 {
25 }
static ossimToolFactory * instance()
void registerFactory(ossimToolFactoryBase *factory, bool pushToFrontFlag=false)
Will register a factory to the factory list.

◆ ~ossimToolRegistry()

ossimToolRegistry::~ossimToolRegistry ( )

Definition at line 27 of file ossimToolRegistry.cpp.

28 {
29 
30 }

Member Function Documentation

◆ createTool()

ossimTool * ossimToolRegistry::createTool ( const std::string &  typeName) const
virtual

Implements ossimToolFactoryBase.

Definition at line 59 of file ossimToolRegistry.cpp.

Referenced by ossimDemTool::doOMG(), and ossimShorelineTool::execute().

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 }

◆ getCapabilities() [1/2]

virtual void ossimToolRegistry::getCapabilities ( std::map< std::string, std::string > &  capabilities) const
virtual

Appends map with available utilities along with descriptions as <name, decription> pairs.

The names are the human-readable name of the utility/service, typically the utility's class name without the "ossim" prefix nor "Util" suffix, all lowercase.

Implements ossimToolFactoryBase.

◆ getCapabilities() [2/2]

std::map< std::string, std::string > ossimToolRegistry::getCapabilities ( ) const
virtual

Implements ossimToolFactoryBase.

Definition at line 52 of file ossimToolRegistry.cpp.

53 {
54  std::map<std::string, std::string> result;
55  getCapabilities(result);
56  return result;
57 }
virtual std::map< std::string, std::string > getCapabilities() const

◆ getClassName()

virtual ossimString ossimToolRegistry::getClassName ( ) const
inlinevirtual

Reimplemented from ossimObject.

Definition at line 47 of file ossimToolRegistry.h.

47 { return "ossimToolRegistry"; }

◆ getTypeNameList()

void ossimToolRegistry::getTypeNameList ( std::vector< ossimString > &  typeList) const
virtual

This should return the type name of all objects in all factories. This is the name used to construct the objects dynamially and this name must be unique.

Implements ossimObjectFactory.

Definition at line 71 of file ossimToolRegistry.cpp.

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 }

◆ initialize()

bool ossimToolRegistry::initialize ( )
virtual

Initializes the utility factory.

Returns TRUE if successful.

Note
Throws ossimException on error.

Definition at line 32 of file ossimToolRegistry.cpp.

33 {
34  return false;
35 }

◆ instance()

ossimToolRegistry * ossimToolRegistry::instance ( )
static

Member Data Documentation

◆ s_instance

ossimToolRegistry * ossimToolRegistry::s_instance = 0
staticprivate

Definition at line 52 of file ossimToolRegistry.h.


The documentation for this class was generated from the following files: