22 #ifndef OR_INTERNALS_MRWFILE_H_
23 #define OR_INTERNALS_MRWFILE_H_
28 #include <libopenraw/consts.h>
30 #include "rawfile.hpp"
31 #include "ifdfile.hpp"
32 #include "io/stream.hpp"
45 static RawFile *factory(
const IO::Stream::Ptr&);
46 MRWFile(
const IO::Stream::Ptr &);
49 MRWFile(
const MRWFile&) =
delete;
50 MRWFile & operator=(
const MRWFile&) =
delete;
53 virtual IfdDir::Ref _locateCfaIfd()
override;
54 virtual IfdDir::Ref _locateMainIfd()
override;
56 virtual void _identifyId()
override;
58 virtual ::or_error _enumThumbnailSizes(std::vector<uint32_t> &list)
override;
59 virtual ::or_error _getThumbnail(uint32_t size, Thumbnail & thumbnail)
override;
60 virtual ::or_error _getRawData(RawData & data, uint32_t options)
override;
63 static const struct IfdFile::camera_ids_t s_def[];