OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
Public Member Functions | Static Public Member Functions | List of all members
ossim::ImageHandlerStateRegistry Class Reference

This is the state registry for all image handler states that will be supported. More...

#include <ImageHandlerStateRegistry.h>

Inheritance diagram for ossim::ImageHandlerStateRegistry:
ossim::FactoryListBase< std::shared_ptr< ossim::StateFactoryBase< std::shared_ptr< ossim::ImageHandlerState > > > >

Public Member Functions

 ImageHandlerStateRegistry ()
 
std::shared_ptr< ossim::ImageHandlerState > createState (const ossimKeywordlist &kwl, const ossimString &prefix="") const
 
std::shared_ptr< ossim::ImageHandlerState > createState (const ossimString &typeName) const
 
- Public Member Functions inherited from ossim::FactoryListBase< std::shared_ptr< ossim::StateFactoryBase< std::shared_ptr< ossim::ImageHandlerState > > > >
 FactoryListBase ()
 
void addFactory (std::shared_ptr< ossim::StateFactoryBase< std::shared_ptr< ossim::ImageHandlerState > > > factory)
 This is for backward compatability and calls registerFactory for simple adds. More...
 
bool isFactoryRegistered (std::shared_ptr< ossim::StateFactoryBase< std::shared_ptr< ossim::ImageHandlerState > > > factory) const
 Public access method to determine if a factory is already registered to this list. More...
 
void registerFactory (std::shared_ptr< ossim::StateFactoryBase< std::shared_ptr< ossim::ImageHandlerState > > > factory, bool pushToFrontFlag=false)
 Will register a factory to the factory list. More...
 
void unregisterFactory (std::shared_ptr< ossim::StateFactoryBase< std::shared_ptr< ossim::ImageHandlerState > > > factory)
 Will remove the factory from the registry. More...
 
void unregisterAllFactories ()
 Will remove all factories from the registry. More...
 
void registerFactoryToFront (std::shared_ptr< ossim::StateFactoryBase< std::shared_ptr< ossim::ImageHandlerState > > > factory)
 Inserts the factory to the front of the list. More...
 
void registerFactoryBefore (std::shared_ptr< ossim::StateFactoryBase< std::shared_ptr< ossim::ImageHandlerState > > > factory, std::shared_ptr< ossim::StateFactoryBase< std::shared_ptr< ossim::ImageHandlerState > > > beforeThisFactory)
 Will insert the factory before the beforeThisFactory. More...
 

Static Public Member Functions

static std::shared_ptr< ImageHandlerStateRegistryinstance ()
 

Additional Inherited Members

- Public Types inherited from ossim::FactoryListBase< std::shared_ptr< ossim::StateFactoryBase< std::shared_ptr< ossim::ImageHandlerState > > > >
typedef std::vector< std::shared_ptr< ossim::StateFactoryBase< std::shared_ptr< ossim::ImageHandlerState > > > > FactoryListType
 
typedef std::vector< ossimStringTypeNameList
 
- Protected Member Functions inherited from ossim::FactoryListBase< std::shared_ptr< ossim::StateFactoryBase< std::shared_ptr< ossim::ImageHandlerState > > > >
bool findFactory (std::shared_ptr< ossim::StateFactoryBase< std::shared_ptr< ossim::ImageHandlerState > > > factory) const
 Utility to find a factory in the list. More...
 
- Protected Attributes inherited from ossim::FactoryListBase< std::shared_ptr< ossim::StateFactoryBase< std::shared_ptr< ossim::ImageHandlerState > > > >
ossim::RWLock m_rwlock
 
FactoryListType m_factoryList
 

Detailed Description

This is the state registry for all image handler states that will be supported.

Definition at line 20 of file ImageHandlerStateRegistry.h.

Constructor & Destructor Documentation

◆ ImageHandlerStateRegistry()

ossim::ImageHandlerStateRegistry::ImageHandlerStateRegistry ( )

Definition at line 5 of file ImageHandlerStateRegistry.cpp.

6 {
7 }

Member Function Documentation

◆ createState() [1/2]

std::shared_ptr< ossim::ImageHandlerState > ossim::ImageHandlerStateRegistry::createState ( const ossimKeywordlist kwl,
const ossimString prefix = "" 
) const

Definition at line 17 of file ImageHandlerStateRegistry.cpp.

19 {
20  ScopeReadLock scopedReadLock(m_rwlock);
21  std::shared_ptr<ossim::ImageHandlerState> result;
22  for(const auto& factory:m_factoryList)
23  {
24  result = factory->createState(kwl, prefix);
25  if(result) break;
26  }
27 
28  return result;
29 }

◆ createState() [2/2]

std::shared_ptr< ossim::ImageHandlerState > ossim::ImageHandlerStateRegistry::createState ( const ossimString typeName) const

Definition at line 31 of file ImageHandlerStateRegistry.cpp.

32 {
33  ScopeReadLock scopedReadLock(m_rwlock);
34  std::shared_ptr<ossim::ImageHandlerState> result;
35  for(const auto& factory:m_factoryList)
36  {
37  result = factory->createState(typeName);
38  if(result) break;
39  }
40 
41  return result;
42 }

◆ instance()

std::shared_ptr< ossim::ImageHandlerStateRegistry > ossim::ImageHandlerStateRegistry::instance ( )
static

Definition at line 9 of file ImageHandlerStateRegistry.cpp.

Referenced by ossimInit::initializeDefaultFactories(), ossimInfo::openImageFromState(), and ossimInfo::openImageHandler().

10 {
11 
12  static std::shared_ptr<ossim::ImageHandlerStateRegistry> imageHandlerStateRegistry = std::make_shared<ImageHandlerStateRegistry>();
13 
14  return imageHandlerStateRegistry;
15 }

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