mrwfile.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef __MRWFILE_H_
00026 #define __MRWFILE_H_
00027
00028 #include "ifdfile.h"
00029
00030 namespace OpenRaw {
00031
00032 class Thumbnail;
00033
00034 namespace Internals {
00035
00036 class MRWFile
00037 : public IFDFile
00038 {
00039 public:
00040 static RawFile *factory(IO::Stream* _filename);
00041 MRWFile(IO::Stream* _filename);
00042 virtual ~MRWFile();
00043
00044 protected:
00045 virtual IFDDir::Ref _locateCfaIfd();
00046 virtual IFDDir::Ref _locateMainIfd();
00047
00048 virtual void _identifyId();
00049
00050 virtual ::or_error _enumThumbnailSizes(std::vector<uint32_t> &list);
00051 virtual ::or_error _getThumbnail(uint32_t size, Thumbnail & thumbnail);
00052 virtual ::or_error _getRawData(RawData & data, uint32_t options);
00053
00054 private:
00055
00056 MRWFile(const MRWFile&);
00057 MRWFile & operator=(const MRWFile&);
00058
00059 static const struct IFDFile::camera_ids_t s_def[];
00060 };
00061 }
00062
00063 }
00064
00065 #endif