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(const char* _filename);
00041 MRWFile(const char* _filename);
00042 virtual ~MRWFile();
00043
00044 protected:
00045 virtual IFDDir::Ref _locateCfaIfd();
00046 virtual IFDDir::Ref _locateMainIfd();
00047
00048 virtual ::or_error _enumThumbnailSizes(std::vector<uint32_t> &list);
00049 virtual ::or_error _getThumbnail(uint32_t size, Thumbnail & thumbnail);
00050 virtual ::or_error _getRawData(RawData & data, uint32_t options);
00051
00052 private:
00053
00054 MRWFile(const MRWFile&);
00055 MRWFile & operator=(const MRWFile&);
00056 };
00057 }
00058
00059 }
00060
00061 #endif