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

#include <ossimNitfDesFactoryRegistry.h>

Public Member Functions

virtual ~ossimNitfDesFactoryRegistry ()
 
void registerFactory (ossimNitfDesFactory *aFactory)
 
void unregisterFactory (ossimNitfDesFactory *aFactory)
 
ossimRefPtr< ossimNitfRegisteredDescreate (const ossimString &desName) const
 
bool exists (ossimNitfDesFactory *factory) const
 

Static Public Member Functions

static ossimNitfDesFactoryRegistryinstance ()
 

Protected Member Functions

 ossimNitfDesFactoryRegistry ()
 

Private Member Functions

 ossimNitfDesFactoryRegistry (const ossimNitfDesFactoryRegistry &factory)
 hidden copy constructory More...
 
const ossimNitfDesFactoryRegistryoperator= (const ossimNitfDesFactoryRegistry &factory)
 hidden operator= More...
 
void initializeDefaults ()
 

Private Attributes

std::vector< ossimNitfDesFactory * > theFactoryList
 

Detailed Description

Definition at line 21 of file ossimNitfDesFactoryRegistry.h.

Constructor & Destructor Documentation

◆ ~ossimNitfDesFactoryRegistry()

ossimNitfDesFactoryRegistry::~ossimNitfDesFactoryRegistry ( )
virtual

Definition at line 22 of file ossimNitfDesFactoryRegistry.cpp.

23 {
24 }

◆ ossimNitfDesFactoryRegistry() [1/2]

ossimNitfDesFactoryRegistry::ossimNitfDesFactoryRegistry ( )
protected

Definition at line 17 of file ossimNitfDesFactoryRegistry.cpp.

References initializeDefaults().

◆ ossimNitfDesFactoryRegistry() [2/2]

ossimNitfDesFactoryRegistry::ossimNitfDesFactoryRegistry ( const ossimNitfDesFactoryRegistry factory)
private

hidden copy constructory

Definition at line 90 of file ossimNitfDesFactoryRegistry.cpp.

92 {
93 }

Member Function Documentation

◆ create()

ossimRefPtr< ossimNitfRegisteredDes > ossimNitfDesFactoryRegistry::create ( const ossimString desName) const

Definition at line 53 of file ossimNitfDesFactoryRegistry.cpp.

References theFactoryList, and ossimRefPtr< T >::valid().

Referenced by ossimNitfDesInformation::parseStream().

54 {
55  std::vector<ossimNitfDesFactory*>::const_iterator factory;
57 
58  factory = theFactoryList.begin();
59  while(factory != theFactoryList.end())
60  {
61  result = (*factory)->create(desName);
62 
63  if(result.valid())
64  {
65  return result;
66  }
67  ++factory;
68  }
69 
70  return result;
71  //ossimRefPtr<ossimNitfRegisteredDes> des = new ossimNitfUnknownDes;
72  //return des;
73 }
bool valid() const
Definition: ossimRefPtr.h:75
std::vector< ossimNitfDesFactory * > theFactoryList

◆ exists()

bool ossimNitfDesFactoryRegistry::exists ( ossimNitfDesFactory factory) const

Definition at line 80 of file ossimNitfDesFactoryRegistry.cpp.

References theFactoryList.

Referenced by registerFactory().

81 {
82  std::vector<ossimNitfDesFactory*>::const_iterator iter = std::find(theFactoryList.begin(),
83  theFactoryList.end(),
84  factory);
85 
86  return (iter != theFactoryList.end());
87 
88 }
std::vector< ossimNitfDesFactory * > theFactoryList

◆ initializeDefaults()

void ossimNitfDesFactoryRegistry::initializeDefaults ( )
private

Definition at line 75 of file ossimNitfDesFactoryRegistry.cpp.

References ossimNitfRegisteredDesFactory::instance(), and theFactoryList.

Referenced by ossimNitfDesFactoryRegistry().

76 {
78 }
static ossimNitfRegisteredDesFactory * instance()
std::vector< ossimNitfDesFactory * > theFactoryList

◆ instance()

ossimNitfDesFactoryRegistry * ossimNitfDesFactoryRegistry::instance ( )
static

Definition at line 47 of file ossimNitfDesFactoryRegistry.cpp.

Referenced by ossimNitfDesInformation::parseStream().

48 {
49  static ossimNitfDesFactoryRegistry inst;
50  return &inst;
51 }

◆ operator=()

const ossimNitfDesFactoryRegistry & ossimNitfDesFactoryRegistry::operator= ( const ossimNitfDesFactoryRegistry factory)
private

hidden operator=

Definition at line 95 of file ossimNitfDesFactoryRegistry.cpp.

97 {
98  return *this;
99 }

◆ registerFactory()

void ossimNitfDesFactoryRegistry::registerFactory ( ossimNitfDesFactory aFactory)

Definition at line 26 of file ossimNitfDesFactoryRegistry.cpp.

References exists(), and theFactoryList.

27 {
28  if(aFactory&&!exists(aFactory))
29  {
30  theFactoryList.push_back(aFactory);
31  }
32 }
std::vector< ossimNitfDesFactory * > theFactoryList
bool exists(ossimNitfDesFactory *factory) const

◆ unregisterFactory()

void ossimNitfDesFactoryRegistry::unregisterFactory ( ossimNitfDesFactory aFactory)

Definition at line 35 of file ossimNitfDesFactoryRegistry.cpp.

36 {
37  std::vector<ossimNitfDesFactory*>::iterator iter =
38  std::find(theFactoryList.begin(),
39  theFactoryList.end(),
40  aFactory);
41  if(iter != theFactoryList.end())
42  {
43  theFactoryList.erase(iter);
44  }
45 }
std::vector< ossimNitfDesFactory * > theFactoryList

Member Data Documentation

◆ theFactoryList

std::vector<ossimNitfDesFactory*> ossimNitfDesFactoryRegistry::theFactoryList
private

Definition at line 46 of file ossimNitfDesFactoryRegistry.h.

Referenced by create(), exists(), initializeDefaults(), and registerFactory().


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