00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef EXIFTAG_H
00023 #define EXIFTAG_H
00024
00025
00026 #include <e32base.h>
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037 class TExifTagInfo;
00038
00039
00040
00047 NONSHARABLE_CLASS( CExifTag ): public CBase
00048 {
00049 public:
00050
00054 enum TExifTagDataType
00055 {
00056 ETagByte = 1,
00057 ETagAscii = 2,
00058 ETagShort = 3,
00059 ETagLong = 4,
00060 ETagRational = 5,
00061 ETagUndefined = 7,
00062 ETagSlong = 9,
00063 ETagSrational = 10
00064 };
00065
00066 public:
00067
00071 virtual ~CExifTag();
00072
00073 public:
00074
00082 virtual CExifTag* DuplicateL() const = 0;
00083
00090 virtual TExifTagInfo TagInfo() const = 0;
00091
00098 virtual TPtrC8 Data() const = 0;
00099
00100 };
00101
00102
00103 class TExifTagInfo
00104 {
00105 public:
00106
00107 IMPORT_C TExifTagInfo(
00108 TUint16 aTagId,
00109 CExifTag::TExifTagDataType aDataType,
00110 TUint32 aDataCount );
00111
00112 public:
00113
00114
00115 TUint16 iId;
00116
00117
00118 CExifTag::TExifTagDataType iDataType;
00119
00120
00121 TUint32 iDataCount;
00122 };
00123
00124
00125 #endif
00126
00127