27#include <libopenraw/debug.h>
30#include "rawfilefactory.hpp"
40 const RawFileFactory::raw_file_factory_t &fn,
43 LOGDBG1(
"registering type %d\n", (
int)type);
44 registerType(type, fn, ext);
47void RawFileFactory::registerType(RawFile::Type type,
48 const RawFileFactory::raw_file_factory_t &fn,
52 LOGERR(
"NULL fn for registerFactory()\n");
53 assert(fn ==
nullptr);
59void RawFileFactory::unRegisterType(RawFile::Type type)
61 Table::iterator iter =
table().find(type);
62 if (iter ==
table().end()) {
63 LOGERR(
"attempting to unregisterFactory() in unregistered element\n");
71 static const char **_fileExtensions = NULL;
72 if (!_fileExtensions) {
74 size_t s = ext.size();
75 _fileExtensions = (
const char **)calloc((s + 1),
sizeof(
char *));
76 const char **current = _fileExtensions;
77 Extensions::const_iterator iter(ext.begin());
78 for (; iter != ext.end(); ++iter) {
79 *current = iter->first.c_str();
84 return _fileExtensions;
static const char ** fileExtensions()
static Extensions & extensions()
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....