21#ifndef OR_INTERNALS_RAWFILEFACTORY_H_
22#define OR_INTERNALS_RAWFILEFACTORY_H_
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,
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;
static const char ** fileExtensions()
static Extensions & extensions()
std::map< RawFile::Type, raw_file_factory_t > Table
RawFileFactory(RawFile::Type type, const raw_file_factory_t &fn, const char *ext)
CIFF is the container for CRW files. It is an attempt from Canon to make this a standard....