/usr/include/ossim/imaging/ossimImageHandlerFactoryBase.h is in libossim-dev 2.2.2-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 | //*******************************************************************
//
// License: MIT
//
// Author: Garrett Potts
//
//*******************************************************************
// $Id$
#ifndef ossimImageHandlerFactoryBase_HEADER
#define ossimImageHandlerFactoryBase_HEADER 1
#include <ossim/base/ossimString.h>
#include <ossim/base/ossimRefPtr.h>
#include <ossim/imaging/ossimImageHandler.h>
#include <ossim/support_data/ImageHandlerState.h>
#include <ossim/base/ossimObjectFactory.h>
#include <ossim/base/ossimIosFwd.h>
#include <algorithm>
#include <iosfwd>
#include <memory>
#include <vector>
class ossimFilename;
class ossimKeywordlist;
class OSSIM_DLL ossimImageHandlerFactoryBase : public ossimObjectFactory
{
public:
template <class T> class UniqueList
{
public:
void push_back(const T& value)
{
if(std::find(theList.begin(),theList.end(), value) == theList.end())
{
theList.push_back(value);
}
}
const std::vector<T>& getList()const
{
return theList;
}
ossim_uint32 size()const
{
return theList.size();
}
const T& operator[](ossim_uint32 idx)const
{
return theList[idx];
}
T& operator[](ossim_uint32 idx)
{
return theList[idx];
}
protected:
std::vector<T> theList;
};
typedef UniqueList<ossimString> UniqueStringList;
typedef std::vector<ossimRefPtr<ossimImageHandler> > ImageHandlerList;
virtual ossimImageHandler* open(const ossimFilename& fileName,
bool openOverview=true)const = 0;
virtual ossimImageHandler* open(const ossimKeywordlist& kwl,
const char* prefix=0)const = 0;
#if 0
/**
* @brief Open method.
*
* This open takes a stream, position and a flag.
*
* @param str Open stream to image.
*
* @param restartPosition Typically 0, this is the stream offset to the
* front of the image.
*
* @param youOwnIt If true the opener takes ownership of the stream
* pointer and will destroy on close.
*
* @return This implementation returns an ossimRefPtr with a null pointer.
*/
virtual ossimRefPtr<ossimImageHandler> open( ossim::istream* str,
std::streamoff restartPosition,
bool youOwnIt ) const;
#endif
/**
* @brief Open method that takes a stream.
*
* This implementation returns an ossimRefPtr with a null pointer.
*
* @param str Open stream to image.
* @param connectionString
* @param openOverview If true attempt to open overview file.
* @return ossimImageHandler
*/
virtual ossimRefPtr<ossimImageHandler> open(
std::shared_ptr<ossim::istream>& str,
const std::string& connectionString,
bool openOverview=true ) const;
virtual ossimRefPtr<ossimImageHandler> open(std::shared_ptr<ossim::ImageHandlerState> state)const;
/**
* @brief Open overview that takes a file name.
*
* This default implementation returns a null ref pointer.
* Derived factories that have overview readers should override.
*
* @param file File to open.
*
* @return This default implementation returns a null ref pointer.
*/
virtual ossimRefPtr<ossimImageHandler> openOverview(
const ossimFilename& file ) const;
/**
* @brief Open method that takes a stream.
*
* This implementation returns an ossimRefPtr with a null pointer.
*
* @param str Open stream to image.
* @param connectionString
* @return ossimImageHandler
*/
virtual ossimRefPtr<ossimImageHandler> openOverview(
std::shared_ptr<ossim::istream>& str,
const ossimString& connectionString ) const;
virtual void getImageHandlersBySuffix(ImageHandlerList& result,
const ossimString& ext)const;
virtual void getImageHandlersByMimeType(ImageHandlerList& result,
const ossimString& mimeType)const;
virtual void getSupportedExtensions(ossimImageHandlerFactoryBase::UniqueStringList& extensionList)const=0;
TYPE_DATA
};
#endif
|