35 static bool initInst =
false;
65 const char *prefix)
const 87 writer = result[0].release();
94 const char *prefix)
const 102 if(type ==
"ossimImageFileWriter")
106 if((filename !=
"")&&
107 (filename.
ext() !=
""))
119 vector<ossimImageWriterFactoryBase*>::const_iterator factories;
125 result = (*factories)->createWriter(kwl, prefix);
138 vector<ossimImageWriterFactoryBase*>::const_iterator factories;
144 result = (*factories)->createWriter(typeName);
158 vector<ossimString> result;
159 vector<ossimImageWriterFactoryBase*>::const_iterator iter =
m_factoryList.begin();
164 (*iter)->getImageTypeList(result);
167 typeList.insert(typeList.end(),
178 vector<ossimImageWriterFactoryBase*>::const_iterator iter =
m_factoryList.begin();
183 (*iter)->getImageFileWritersBySuffix(tempResult, ext);
186 result.insert(result.end(),
198 vector<ossimImageWriterFactoryBase*>::const_iterator iter =
m_factoryList.begin();
203 (*iter)->getImageFileWritersByMimeType(tempResult, mimeType);
206 result.insert(result.end(),
216 std::vector<ossimString> outputType;
219 std::copy(outputType.begin(),
221 std::ostream_iterator<ossimString>(out,
"\n"));
229 vector<ossimImageWriterFactoryBase*>::const_iterator factoryIter =
m_factoryList.begin();
232 out <<
"factory: " << (*factoryIter)->getClassName() <<
"\n\n";
235 std::vector<ossimString> typeNames;
236 (*factoryIter)->getTypeNameList(typeNames);
237 std::vector<ossimString>::const_iterator typeNamesIter = typeNames.begin();
238 while (typeNamesIter != typeNames.end())
241 if ( writer.
valid() )
246 std::vector<ossimString> imageTypeList;
248 std::vector<ossimString>::const_iterator imageTypeListIter = imageTypeList.begin();
250 while ( imageTypeListIter != imageTypeList.end() )
252 out << (*imageTypeListIter) <<
"\n";
257 std::vector<ossimString> propNames;
259 if ( propNames.size() )
261 out <<
"\nproperties:\n";
263 std::vector<ossimString>::const_iterator p = propNames.begin();
264 while ( p != propNames.end() )
266 out <<
" " << (*p) <<
"\n";
276 out <<
" constraints:\n";
277 std::vector<ossimString>::const_iterator strPropIter =
281 out <<
" " << (*strPropIter) <<
"\n";
void operator=(const ossimImageWriterFactoryRegistry &)
ossimImageFileWriter * createWriterFromExtension(const ossimString &fileExtension) const
ossimImageWriterFactoryRegistry()
static ossimImageWriterFactory * instance()
Represents serializable keyword/value map.
const char * find(const char *key) const
virtual void getImageFileWritersBySuffix(ossimImageWriterFactoryBase::ImageFileWriterList &result, const ossimString &ext) const
static ossimImageWriterFactoryRegistry * instance()
static ossimObjectFactoryRegistry * instance()
ossimObject * createObject(const ossimKeywordlist &kwl, const char *prefix=0) const
virtual ossimString getClassName() const
void * ossimImageWriterFactoryRegistryGetInstance()
Pure virtual base class for image file writers.
const std::vector< ossimString > & getConstraints() const
virtual void getPropertyNames(std::vector< ossimString > &propertyNames) const
std::ostream & printWriterProps(std::ostream &out) const
Prints list of writers from getImageTypeList.
static const char * TYPE_KW
FactoryListType m_factoryList
virtual void getImageTypeList(std::vector< ossimString > &imageTypeList) const =0
void getImageTypeList(std::vector<ossimString>& imageTypeList)const
static ossimString downcase(const ossimString &aString)
virtual ossimRefPtr< ossimProperty > getProperty(const ossimString &name) const
void registerFactory(T *factory, bool pushToFrontFlag=false)
Will register a factory to the factory list.
virtual void getImageFileWritersByMimeType(ossimImageWriterFactoryBase::ImageFileWriterList &result, const ossimString &mimeType) const
virtual void setFilename(const ossimFilename &file)
std::vector< ossimRefPtr< ossimImageFileWriter > > ImageFileWriterList
ossimImageFileWriter * createWriter(const ossimFilename &filename) const
std::ostream & printImageTypeList(std::ostream &out) const
Prints list of writers from getImageTypeList.
void getAllTypeNamesFromRegistry(std::vector< ossimString > &typeList) const
Will add all object types the factories can allocate.
virtual void getTypeNameList(std::vector< ossimString > &typeList) const
getTypeNameList.
ossimObject * createObjectFromRegistry(const ossimString &typeName) const
This is the base object return for all objects in the system.
static const char * FILENAME_KW
std::basic_ostream< char > ostream
Base class for char output streams.
virtual void getImageTypeList(std::vector< ossimString > &imageTypeList) const
getImageTypeList.