21 #ifndef OR_INTERNALS_RAWFILEFACTORY_H_ 22 #define OR_INTERNALS_RAWFILEFACTORY_H_ 28 #include "rawfile.hpp" 29 #include "io/stream.hpp" 37 typedef std::function<RawFile*(const IO::Stream::Ptr&)> raw_file_factory_t;
42 std::map<RawFile::Type, raw_file_factory_t>
Table;
44 std::map<std::string, RawFile::Type> Extensions;
54 const raw_file_factory_t & fn,
58 static Table &
table();
65 static void registerType(RawFile::Type type,
66 const raw_file_factory_t & fn,
68 static void unRegisterType(RawFile::Type type);
79 static Table rawFactoryTable;
80 return rawFactoryTable;
86 static Extensions rawExtensionsTable;
87 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