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

Info factory. More...

#include <ossimInfoFactory.h>

Inheritance diagram for ossimInfoFactory:
ossimInfoFactoryInterface

Public Member Functions

virtual ~ossimInfoFactory ()
 virtual destructor More...
 
virtual std::shared_ptr< ossimInfoBasecreate (const ossimFilename &file) const
 create method. More...
 
virtual std::shared_ptr< ossimInfoBasecreate (std::shared_ptr< ossim::istream > &str, const std::string &connectionString) const
 
- Public Member Functions inherited from ossimInfoFactoryInterface
 ossimInfoFactoryInterface ()
 default constructor More...
 
virtual ~ossimInfoFactoryInterface ()
 virtual destructor More...
 

Static Public Member Functions

static ossimInfoFactoryinstance ()
 

Private Member Functions

 ossimInfoFactory ()
 hidden from use default constructor More...
 
 ossimInfoFactory (const ossimInfoFactory &obj)
 hidden from use copy constructor More...
 
const ossimInfoFactoryoperator= (const ossimInfoFactory &rhs)
 hidden from use operator = More...
 

Static Private Attributes

static ossimInfoFactorytheInstance = 0
 The single instance of this class. More...
 

Detailed Description

Info factory.

Definition at line 24 of file ossimInfoFactory.h.

Constructor & Destructor Documentation

◆ ~ossimInfoFactory()

ossimInfoFactory::~ossimInfoFactory ( )
virtual

virtual destructor

Definition at line 40 of file ossimInfoFactory.cpp.

41 {}

◆ ossimInfoFactory() [1/2]

ossimInfoFactory::ossimInfoFactory ( )
private

hidden from use default constructor

Definition at line 364 of file ossimInfoFactory.cpp.

Referenced by instance().

365 {}

◆ ossimInfoFactory() [2/2]

ossimInfoFactory::ossimInfoFactory ( const ossimInfoFactory obj)
private

hidden from use copy constructor

Definition at line 367 of file ossimInfoFactory.cpp.

368 {}

Member Function Documentation

◆ create() [1/2]

std::shared_ptr< ossimInfoBase > ossimInfoFactory::create ( const ossimFilename file) const
virtual

create method.

Parameters
fileSome file you want info for.
Returns
ossimInfoBase* on success 0 on failure. Caller is responsible for memory.

Implements ossimInfoFactoryInterface.

Definition at line 138 of file ossimInfoFactory.cpp.

Referenced by ossimRpfInfo::print().

139 {
140  std::shared_ptr<ossimInfoBase> result(0);
141 
142  result = std::make_shared<ossimNitfInfo>();
143  if ( result->open( file ) )
144  {
145  return result;
146  }
147  else
148  {
149  result.reset();
150  }
151 
152  result = std::make_shared<ossimTiffInfo>();
153  if ( result->open( file ) )
154  {
155  return result;
156  }
157  else
158  {
159  result.reset();
160  }
161 
162  result = std::make_shared<ossimCcfInfo>();
163  if ( result->open( file ) )
164  {
165  return result;
166  }
167  else
168  {
169  result.reset();
170  }
171 
172  result = std::make_shared<ossimDtedInfo>();
173  if ( result->open( file ) )
174  {
175  return result;
176  }
177  else
178  {
179  result.reset();
180  }
181 
182  result = std::make_shared<ossimDoqq>();
183  if ( result->open( file ) )
184  {
185  return result;
186  }
187  else
188  {
189  result.reset();
190  }
191 
192  result = std::make_shared<ossimDemInfo>();
193  if ( result->open( file ) )
194  {
195  return result;
196  }
197  else
198  {
199  result.reset();
200  }
201 
202  result = std::make_shared<ossimJp2Info>();
203  if ( result->open( file ) )
204  {
205  return result;
206  }
207  else
208  {
209  result.reset();
210  }
211 
212  result = std::make_shared<ossimEnviInfo>();
213  if ( result->open( file ) )
214  {
215  return result;
216  }
217  else
218  {
219  result.reset();
220  }
221 
222  result = std::make_shared<ossimRpfInfo>();
223  if ( result->open( file ) )
224  {
225  return result;
226  }
227  else
228  {
229  result.reset();
230  }
231 
232  result = std::make_shared<ossimXmpInfo>();
233  if ( result->open( file ) )
234  {
235  return result;
236  }
237  else
238  {
239  result.reset();
240  }
241 
242  result = std::make_shared<ossimLasInfo>();
243  if ( result->open( file ) )
244  {
245  return result;
246  }
247  else
248  {
249  result.reset();
250  }
251 
252  result = std::make_shared<ossimJ2kInfo>();
253  if ( result->open( file ) )
254  {
255  return result;
256  }
257  else
258  {
259  result.reset();
260  }
261 
262 #if OSSIM_HAS_HDF5
263  result = std::make_shared<ossimHdf5Info>();
264  if ( result->open( file ) )
265  {
266  return result;
267  }
268  else
269  {
270  result.reset();
271  }
272 #endif
273 
274  return result;
275 }

◆ create() [2/2]

std::shared_ptr< ossimInfoBase > ossimInfoFactory::create ( std::shared_ptr< ossim::istream > &  str,
const std::string &  connectionString 
) const
virtual

Implements ossimInfoFactoryInterface.

Definition at line 52 of file ossimInfoFactory.cpp.

54 {
55  std::shared_ptr<ossimInfoBase> result(0);
56 
57  if ( str )
58  {
59  str->clear();
60  str->seekg(0);
61  result = std::make_shared<ossimNitfInfo>();
62  if ( result->open(str, connectionString) )
63  {
64  return result;
65  }
66  else
67  {
68  result.reset();
69  }
70 
71  str->clear();
72  str->seekg(0);
73  result = std::make_shared<ossimTiffInfo>();
74  if ( result->open(str, connectionString) )
75  {
76  return result;
77  }
78  else
79  {
80  result.reset();
81  }
82 
83  str->clear();
84  str->seekg(0);
85  result = std::make_shared<ossimCcfInfo>();
86  if ( result->open(str, connectionString) )
87  {
88  return result;
89  }
90  else
91  {
92  result.reset();
93  }
94 
95  str->clear();
96  str->seekg(0);
97  result = std::make_shared<ossimDtedInfo>();
98  if ( result->open(str, connectionString) )
99  {
100  return result;
101  }
102  else
103  {
104  result.reset();
105  }
106 
107  str->clear();
108  str->seekg(0);
109  result = std::make_shared<ossimDoqq>();
110  if ( result->open(str, connectionString) )
111  {
112  return result;
113  }
114  else
115  {
116  result.reset();
117  }
118 
119  str->clear();
120  str->seekg(0);
121  result = std::make_shared<ossimDemInfo>();
122  if ( result->open(str, connectionString) )
123  {
124  return result;
125  }
126  else
127  {
128  result.reset();
129  }
130 
131  str->clear();
132  str->seekg(0);
133  }
134 
135  return result;
136 }

◆ instance()

ossimInfoFactory * ossimInfoFactory::instance ( )
static

Definition at line 43 of file ossimInfoFactory.cpp.

References ossimInfoFactory(), and theInstance.

Referenced by ossimInfoFactoryRegistry::ossimInfoFactoryRegistry(), and ossimRpfInfo::print().

44 {
45  if ( !theInstance )
46  {
48  }
49  return theInstance;
50 }
static ossimInfoFactory * theInstance
The single instance of this class.
ossimInfoFactory()
hidden from use default constructor

◆ operator=()

const ossimInfoFactory & ossimInfoFactory::operator= ( const ossimInfoFactory rhs)
private

hidden from use operator =

Definition at line 370 of file ossimInfoFactory.cpp.

372 {
373  return *this;
374 }

Member Data Documentation

◆ theInstance

ossimInfoFactory * ossimInfoFactory::theInstance = 0
staticprivate

The single instance of this class.

Definition at line 59 of file ossimInfoFactory.h.

Referenced by instance().


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