OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimImageWriterFactoryRegistry.h
Go to the documentation of this file.
1 //*******************************************************************
2 // Copyright (C) 2000 ImageLinks Inc.
3 //
4 // License: MIT
5 //
6 // See LICENSE.txt file in the top level directory for more details.
7 //
8 // Author: Frank Warmerdam (warmerda@home.com)
9 //
10 //*******************************************************************
11 // $Id: ossimImageWriterFactoryRegistry.h 22865 2014-08-06 11:17:03Z gpotts $
12 
13 #ifndef ossimImageWriterFactoryRegistry_HEADER
14 #define ossimImageWriterFactoryRegistry_HEADER
18 #include <vector>
19 #include <iosfwd>
20 
22 class ossimKeywordlist;
23 
25  public ossimObjectFactory,
26  public ossimFactoryListInterface<ossimImageWriterFactoryBase, ossimImageFileWriter>
27 {
28 public:
29  static ossimImageWriterFactoryRegistry* instance();
30 
31  ossimImageFileWriter *createWriter(const ossimFilename& filename)const;
32  ossimImageFileWriter *createWriterFromExtension(const ossimString& fileExtension)const;
33  ossimImageFileWriter *createWriter(const ossimKeywordlist &kwl,
34  const char *prefix=0)const;
35  ossimImageFileWriter* createWriter(const ossimString& typeName)const;
36 
38  const char *prefix=0)const;
39 
40  ossimObject* createObject(const ossimString& typeName)const;
41 
46  virtual void getTypeNameList(std::vector<ossimString>& typeList)const;
47 
57  virtual void getImageTypeList(std::vector<ossimString>& imageTypeList)const;
58 
59  virtual void getImageFileWritersBySuffix(ossimImageWriterFactoryBase::ImageFileWriterList& result,
60  const ossimString& ext)const;
61  virtual void getImageFileWritersByMimeType(ossimImageWriterFactoryBase::ImageFileWriterList& result,
62  const ossimString& mimeType)const;
68  std::ostream& printImageTypeList(std::ostream& out)const;
69 
75  std::ostream& printWriterProps(std::ostream& out)const;
76 
77 protected:
81 
82  //static ossimImageWriterFactoryRegistry* theInstance;
83 };
84 
85 extern "C"
86 {
88 }
89 #endif
#define OSSIMDLLEXPORT
Represents serializable keyword/value map.
virtual void getTypeNameList(std::vector< ossimString > &typeList) const =0
Pure virtual base class for image file writers.
The is a factory list interface that allows registries to be accessed in a common way...
OSSIMDLLEXPORT void * ossimImageWriterFactoryRegistryGetInstance()
ossimObject * createObject(const ossimString &objectType)
Definition: kwl.cpp:64
std::vector< ossimRefPtr< ossimImageFileWriter > > ImageFileWriterList
ossimReferenced & operator=(const ossimReferenced &)
std::basic_ostream< char > ostream
Base class for char output streams.
Definition: ossimIosFwd.h:23