23 #ifndef __RAWFILEFACTORY_H
24 #define __RAWFILEFACTORY_H
29 #include <boost/function.hpp>
31 #include <libopenraw++/rawfile.h>
39 typedef boost::function<RawFile *(IO::Stream *)> raw_file_factory_t;
44 std::map<RawFile::Type, raw_file_factory_t>
Table;
46 std::map<std::string, RawFile::Type> Extensions;
56 const raw_file_factory_t & fn,
60 static Table &
table();
67 static void registerType(RawFile::Type type,
68 const raw_file_factory_t & fn,
70 static void unRegisterType(RawFile::Type type);
81 static Table rawFactoryTable;
82 return rawFactoryTable;
88 static Extensions rawExtensionsTable;
89 return rawExtensionsTable;
CIFF is the container for CRW files. It is an attempt from Canon to make this a standard. I guess it failed.
static const char ** fileExtensions()
RawFileFactory(RawFile::Type type, const raw_file_factory_t &fn, const char *ext)
static Extensions & extensions()
std::map< RawFile::Type, raw_file_factory_t > Table