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

Factory for image reader. More...

#include <ossimJpeg12ReaderFactory.h>

Inheritance diagram for ossimJpeg12ReaderFactory:
ossimImageHandlerFactoryBase ossimObjectFactory ossimObject ossimReferenced

Public Member Functions

virtual ~ossimJpeg12ReaderFactory ()
 virtual destructor More...
 
virtual ossimImageHandleropen (const ossimFilename &fileName, bool openOverview=true) const
 open that takes a file name. More...
 
virtual ossimImageHandleropen (const ossimKeywordlist &kwl, const char *prefix=0) const
 Open overview that takes a file name. More...
 
virtual ossimObjectcreateObject (const ossimString &typeName) const
 createObject that takes a class name (ossimJpeg12Reader) More...
 
virtual ossimObjectcreateObject (const ossimKeywordlist &kwl, const char *prefix=0) const
 Creates and object given a keyword list and prefix. More...
 
virtual void getTypeNameList (std::vector< ossimString > &typeList) const
 Adds ossimJpeg12Writer to the typeList. More...
 
virtual void getSupportedExtensions (ossimImageHandlerFactoryBase::UniqueStringList &extensionList) const
 Method to add supported extension to the list, like "jp2". More...
 
virtual void getImageHandlersBySuffix (ossimImageHandlerFactoryBase::ImageHandlerList &result, const ossimString &ext) const
 Will add to the result list any handler that supports the passed in extensions. More...
 
virtual void getImageHandlersByMimeType (ossimImageHandlerFactoryBase::ImageHandlerList &result, const ossimString &mimeType) const
 Will add to the result list and handler that supports the passed in mime type. More...
 
- Public Member Functions inherited from ossimImageHandlerFactoryBase
virtual ossimRefPtr< ossimImageHandleropen (std::shared_ptr< ossim::istream > &str, const std::string &connectionString, bool openOverview=true) const
 Open method that takes a stream. More...
 
virtual ossimRefPtr< ossimImageHandleropen (std::shared_ptr< ossim::ImageHandlerState > state) const
 
virtual ossimRefPtr< ossimImageHandleropenOverview (const ossimFilename &file) const
 Open overview that takes a file name. More...
 
virtual ossimRefPtr< ossimImageHandleropenOverview (std::shared_ptr< ossim::istream > &str, const ossimString &connectionString) const
 Open method that takes a stream. More...
 
- 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 ossimString getClassName () 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
 

Static Public Member Functions

static ossimJpeg12ReaderFactoryinstance ()
 static method to return instance (the only one) of this class. More...
 

Protected Member Functions

bool hasExcludedExtension (const ossimFilename &file) const
 Method to weed out extensions that this plugin knows it does not support. More...
 
 ossimJpeg12ReaderFactory ()
 hidden from use default constructor More...
 
 ossimJpeg12ReaderFactory (const ossimJpeg12ReaderFactory &)
 hidden from use copy constructor More...
 
void operator= (const ossimJpeg12ReaderFactory &)
 hidden from use copy constructor More...
 
- Protected Member Functions inherited from ossimReferenced
virtual ~ossimReferenced ()
 

Additional Inherited Members

- Public Types inherited from ossimImageHandlerFactoryBase
typedef UniqueList< ossimStringUniqueStringList
 
typedef std::vector< ossimRefPtr< ossimImageHandler > > ImageHandlerList
 

Detailed Description

Factory for image reader.

Definition at line 21 of file ossimJpeg12ReaderFactory.h.

Constructor & Destructor Documentation

◆ ~ossimJpeg12ReaderFactory()

ossimJpeg12ReaderFactory::~ossimJpeg12ReaderFactory ( )
virtual

virtual destructor

Definition at line 28 of file ossimJpeg12ReaderFactory.cpp.

29 {
30 }

◆ ossimJpeg12ReaderFactory() [1/2]

ossimJpeg12ReaderFactory::ossimJpeg12ReaderFactory ( )
protected

hidden from use default constructor

Definition at line 192 of file ossimJpeg12ReaderFactory.cpp.

192 {}

◆ ossimJpeg12ReaderFactory() [2/2]

ossimJpeg12ReaderFactory::ossimJpeg12ReaderFactory ( const ossimJpeg12ReaderFactory )
protected

hidden from use copy constructor

Definition at line 194 of file ossimJpeg12ReaderFactory.cpp.

194 {}

Member Function Documentation

◆ createObject() [1/2]

ossimObject * ossimJpeg12ReaderFactory::createObject ( const ossimString typeName) const
virtual

createObject that takes a class name (ossimJpeg12Reader)

Parameters
typeNameShould be "ossimJpeg12Reader".
Returns
pointer to image writer on success, NULL on failure.

Implements ossimObjectFactory.

Definition at line 113 of file ossimJpeg12ReaderFactory.cpp.

References ossimRefPtr< T >::release().

115 {
116  ossimRefPtr<ossimObject> result = 0;
117  if(typeName == "ossimJpeg12NitfReader")
118  {
119  result = new ossimJpeg12NitfReader;
120  }
121  return result.release();
122 }
ossimJpeg12NitfReader class for reading NITF images with 12 bit jpeg compressed blocks using libjpeg-...
T * release()
Definition: ossimRefPtr.h:93

◆ createObject() [2/2]

ossimObject * ossimJpeg12ReaderFactory::createObject ( const ossimKeywordlist kwl,
const char *  prefix = 0 
) const
virtual

Creates and object given a keyword list and prefix.

Parameters
kwlThe keyword list.
prefixthe keyword list prefix.
Returns
pointer to image handler on success, NULL on failure.

Implements ossimObjectFactory.

Definition at line 124 of file ossimJpeg12ReaderFactory.cpp.

References open().

127 {
128  return this->open(kwl, prefix);
129 }
virtual ossimImageHandler * open(const ossimFilename &fileName, bool openOverview=true) const
open that takes a file name.

◆ getImageHandlersByMimeType()

void ossimJpeg12ReaderFactory::getImageHandlersByMimeType ( ossimImageHandlerFactoryBase::ImageHandlerList result,
const ossimString mimeType 
) const
virtual

Will add to the result list and handler that supports the passed in mime type.

Reimplemented from ossimImageHandlerFactoryBase.

Definition at line 176 of file ossimJpeg12ReaderFactory.cpp.

References ossimString::begin(), ossimString::end(), and ossimString::push_back().

179 {
180  ossimString test(mimeType.begin(), mimeType.begin()+6);
181  if(test == "image/")
182  {
183  ossimString mimeTypeTest(mimeType.begin() + 6, mimeType.end());
184  if(mimeTypeTest == "nitf")
185  {
186  result.push_back(new ossimJpeg12NitfReader);
187  }
188  }
189 }
ossimJpeg12NitfReader class for reading NITF images with 12 bit jpeg compressed blocks using libjpeg-...
std::string::iterator end()
Definition: ossimString.h:423
void push_back(char c)
Equivalent to insert(end(), c).
Definition: ossimString.h:905
std::string::iterator begin()
Definition: ossimString.h:420

◆ getImageHandlersBySuffix()

void ossimJpeg12ReaderFactory::getImageHandlersBySuffix ( ossimImageHandlerFactoryBase::ImageHandlerList result,
const ossimString ext 
) const
virtual

Will add to the result list any handler that supports the passed in extensions.

Reimplemented from ossimImageHandlerFactoryBase.

Definition at line 162 of file ossimJpeg12ReaderFactory.cpp.

References ossimString::downcase(), and ossimString::push_back().

165 {
166  ossimString testExt = ext.downcase();
167  if( (testExt == "ntf") || (testExt == "nitf") )
168  {
169  result.push_back(new ossimJpeg12NitfReader);
170  }
171 }
ossimJpeg12NitfReader class for reading NITF images with 12 bit jpeg compressed blocks using libjpeg-...
void push_back(char c)
Equivalent to insert(end(), c).
Definition: ossimString.h:905
static ossimString downcase(const ossimString &aString)
Definition: ossimString.cpp:48

◆ getSupportedExtensions()

void ossimJpeg12ReaderFactory::getSupportedExtensions ( ossimImageHandlerFactoryBase::UniqueStringList extensionList) const
virtual

Method to add supported extension to the list, like "jp2".

Parameters
extensionListThe list to add to.

Implements ossimImageHandlerFactoryBase.

Definition at line 137 of file ossimJpeg12ReaderFactory.cpp.

139 {
140  /* Nothing to do here. */
141 }

◆ getTypeNameList()

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

Adds ossimJpeg12Writer to the typeList.

Parameters
typeListList to add to.

Implements ossimObjectFactory.

Definition at line 131 of file ossimJpeg12ReaderFactory.cpp.

133 {
134  typeList.push_back(ossimString("ossimJpeg12NitfReader"));
135 }

◆ hasExcludedExtension()

bool ossimJpeg12ReaderFactory::hasExcludedExtension ( const ossimFilename file) const
protected

Method to weed out extensions that this plugin knows it does not support.

This is to avoid a costly open on say a tiff or jpeg that is not handled by this plugin.

Returns
true if extension, false if not.

Definition at line 143 of file ossimJpeg12ReaderFactory.cpp.

References ossimString::downcase(), and ossimFilename::ext().

145 {
146  bool result = false;
147  ossimString ext = file.ext().downcase();
148  if ( (ext == "tif") ||
149  (ext == "tiff") ||
150  (ext == "jpg") ||
151  (ext == "jpeg") ||
152  (ext == "png") )
153  {
154  result = true;
155  }
156  return result;
157 }
static ossimString downcase(const ossimString &aString)
Definition: ossimString.cpp:48
ossimString ext() const

◆ instance()

ossimJpeg12ReaderFactory * ossimJpeg12ReaderFactory::instance ( )
static

static method to return instance (the only one) of this class.

Returns
pointer to instance of this class.

Definition at line 32 of file ossimJpeg12ReaderFactory.cpp.

Referenced by ossimSharedLibraryFinalize(), and ossimSharedLibraryInitialize().

33 {
34  static ossimJpeg12ReaderFactory inst;
35  return &inst;
36 }
Factory for image reader.

◆ open() [1/2]

ossimImageHandler * ossimJpeg12ReaderFactory::open ( const ossimFilename fileName,
bool  openOverview = true 
) const
virtual

open that takes a file name.

Parameters
fileThe file to open.
openOverviewIf true image handler will attempt to open overview. default = true
Returns
pointer to image handler on success, NULL on failure.

Implements ossimImageHandlerFactoryBase.

Definition at line 38 of file ossimJpeg12ReaderFactory.cpp.

Referenced by createObject().

40 {
41  static const char* M = "ossimJpeg12ReaderFactory::open(filename) -- ";
42  if(traceDebug())
43  ossimNotify(ossimNotifyLevel_DEBUG)<<M<<"Entered with filename <"<<fileName<<">" ;
44 
46  while (true)
47  {
48  if (hasExcludedExtension(fileName)) break;
49 
50  if (traceDebug()) ossimNotify(ossimNotifyLevel_DEBUG)<<M<< "Trying ossimJpeg12NitfReader...";
51  reader = new ossimJpeg12NitfReader;
53  if(reader->open(fileName)) break;
54 
55  reader = 0;
56  break;
57  }
58 
59  if (traceDebug())
60  {
61  if (reader.valid())
62  ossimNotify(ossimNotifyLevel_DEBUG)<<M<< " SUCCESS" << std::endl;
63  else
64  ossimNotify(ossimNotifyLevel_DEBUG)<<M<< " Open FAILED" << std::endl;
65  }
66 
67  return reader.release();
68 }
virtual bool open()=0
Pure virtual open.
void setOpenOverviewFlag(bool flag)
Sets theOpenOverviewFlag.
bool valid() const
Definition: ossimRefPtr.h:75
virtual ossimRefPtr< ossimImageHandler > openOverview(const ossimFilename &file) const
Open overview that takes a file name.
ossimJpeg12NitfReader class for reading NITF images with 12 bit jpeg compressed blocks using libjpeg-...
bool hasExcludedExtension(const ossimFilename &file) const
Method to weed out extensions that this plugin knows it does not support.
T * release()
Definition: ossimRefPtr.h:93
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)

◆ open() [2/2]

ossimImageHandler * ossimJpeg12ReaderFactory::open ( const ossimKeywordlist kwl,
const char *  prefix = 0 
) const
virtual

Open overview that takes a file name.

Parameters
fileFile to open.
Returns
ossimRefPtr to image handler on success or null on failure.

Implements ossimImageHandlerFactoryBase.

Definition at line 70 of file ossimJpeg12ReaderFactory.cpp.

72 {
73  if(traceDebug())
74  {
76  << "ossimJpeg12ReaderFactory::open(kwl, prefix) DEBUG: entered..."
77  << std::endl;
78  }
79 
81 
82  // To save time check the file name first.
83  const char* lookup = kwl.find(prefix, ossimKeywordNames::FILENAME_KW);
84  if (!lookup)
85  {
86  // Deprecated...
87  lookup = kwl.find(prefix, ossimKeywordNames::IMAGE_FILE_KW);
88  }
89 
90  if (lookup)
91  {
92  ossimFilename f = lookup;
93  if ( hasExcludedExtension(f) == false )
94  {
95  reader = new ossimJpeg12NitfReader;
96  if(reader->loadState(kwl, prefix) == false)
97  {
98  reader = 0;
99  }
100  }
101  }
102 
103  if(traceDebug())
104  {
106  << "ossimJpeg12ReaderFactory::open(kwl, prefix) DEBUG: leaving..."
107  << std::endl;
108  }
109 
110  return reader.release();
111 }
const char * find(const char *key) const
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
Method to the load (recreate) the state of an object from a keyword list.
ossimJpeg12NitfReader class for reading NITF images with 12 bit jpeg compressed blocks using libjpeg-...
bool hasExcludedExtension(const ossimFilename &file) const
Method to weed out extensions that this plugin knows it does not support.
T * release()
Definition: ossimRefPtr.h:93
static const char * IMAGE_FILE_KW
static const char * FILENAME_KW
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)

◆ operator=()

void ossimJpeg12ReaderFactory::operator= ( const ossimJpeg12ReaderFactory )
protected

hidden from use copy constructor

Definition at line 196 of file ossimJpeg12ReaderFactory.cpp.

196 {}

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