/usr/include/ossim/imaging/ossimImageMetaDataWriterRegistry.h is in libossim-dev 1.7.21-4.
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 | //----------------------------------------------------------------------------
// License: LGPL
//
// See LICENSE.txt file in the top level directory for more details.
//----------------------------------------------------------------------------
// $Id: ossimImageMetaDataWriterRegistry.h 13508 2008-08-27 15:51:38Z gpotts $
#ifndef ossimImageMetaDataWriterRegistry_HEADER
#define ossimImageMetaDataWriterRegistry_HEADER
#include <ossim/imaging/ossimImageMetaDataWriterFactoryBase.h>
#include <ossim/base/ossimRefPtr.h>
class ossimMetadataFileWriter;
class OSSIMDLLEXPORT ossimImageMetaDataWriterRegistry :
public ossimImageMetaDataWriterFactoryBase
{
public:
~ossimImageMetaDataWriterRegistry();
static ossimImageMetaDataWriterRegistry* instance();
void registerFactory(ossimImageMetaDataWriterFactoryBase* factory);
void unregisterFactory(ossimImageMetaDataWriterFactoryBase* factory);
bool findFactory(ossimImageMetaDataWriterFactoryBase* factory)const;
/**
* Creates an object given a type name.
*/
virtual ossimObject* createObject(const ossimString& typeName)const;
/**
* Creates and object given a keyword list.
*/
virtual ossimObject* createObject(const ossimKeywordlist& kwl,
const char* prefix=0)const;
/**
* Creates a writer from either a class name or a string representing the
* meta data type like "tiff_world_file".
*
* @return ossimRefPtr<ossimMetadataFileWriter>
*
* @note Return can have a null pointer if type is not found in a factory so
* the caller should always check the pointer like:
* ossimRefPtr<ossimMetadataFileWriter> mw =
* ossimImageMetaDataWriterRegistry::instance("ossim_readme");
* if (!mw.valid())
* {
* // not in factory
* }
*/
virtual ossimRefPtr<ossimMetadataFileWriter> createWriter(
const ossimString& type)const;
/**
* This should return the type name of all objects in all factories.
* This is the name used to construct the objects dynamially and this
* name must be unique.
*/
virtual void getTypeNameList(std::vector<ossimString>& typeList)const;
/**
* Initializes list with meta data types from all registered
* metadata factories.
*
* This is the actual image type name like:
* ossim_geometry
* envi_header
* tiff_world_file
* jpeg_world_file
*
* @param metadatatypeList stl::vector<ossimString> list to append to.
*
* @note Since this is the master registry for all meta data factories
* this method starts by clearing the metadatatypeList.
*/
virtual void getMetadatatypeList(
std::vector<ossimString>& metadatatypeList)const;
protected:
ossimImageMetaDataWriterRegistry();
ossimImageMetaDataWriterRegistry(
const ossimImageMetaDataWriterRegistry& rhs);
const ossimImageMetaDataWriterRegistry& operator=(
const ossimImageMetaDataWriterRegistry &rhs);
// static ossimImageMetaDataWriterRegistry* theInstance;
std::vector<ossimImageMetaDataWriterFactoryBase*> theFactoryList;
};
extern "C"
{
OSSIMDLLEXPORT void* ossimImageMetaDataWriterRegistryGetInstance();
}
#endif
|