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,
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;