exiftag.h

Go to the documentation of this file.
00001 /*
00002 * ==============================================================================
00003 *  Name        : ExifTag.h
00004 *  Part of     : Exif Library
00005 *  Interface   : Public API
00006 *  Description : Exif tag wrapper 
00007 *  Version     : 
00008 *
00009 *  Copyright (c) 2003, 2004 Nokia Corporation.
00010 *  This material, including documentation and any related 
00011 *  computer programs, is protected by copyright controlled by 
00012 *  Nokia Corporation. All rights are reserved. Copying, 
00013 *  including reproducing, storing, adapting or translating, any 
00014 *  or all of this material requires the prior written consent of 
00015 *  Nokia Corporation. This material also contains confidential 
00016 *  information which may not be disclosed to others without the 
00017 *  prior written consent of Nokia Corporation.
00018 * ==============================================================================
00019 */
00020 
00021 
00022 #ifndef EXIFTAG_H
00023 #define EXIFTAG_H
00024 
00025 //  INCLUDES
00026 #include <e32base.h>
00027 
00028 // CONSTANTS
00029 
00030 // MACROS
00031 
00032 // DATA TYPES
00033 
00034 // FUNCTION PROTOTYPES
00035 
00036 // FORWARD DECLARATIONS
00037 class TExifTagInfo;
00038 
00039 // CLASS DECLARATION
00040 
00047 NONSHARABLE_CLASS( CExifTag ): public CBase
00048     {
00049         public:  // Enumerations
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: // New functions
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:  // Constructors and destructor
00106 
00107         IMPORT_C TExifTagInfo( 
00108             TUint16 aTagId, 
00109             CExifTag::TExifTagDataType aDataType, 
00110             TUint32 aDataCount );
00111     
00112     public:     // Data
00113 
00114         // Tag ID
00115         TUint16 iId;
00116 
00117         // Tag data type
00118         CExifTag::TExifTagDataType iDataType;
00119 
00120         // Number of tag data elements (having tag data type).
00121         TUint32 iDataCount;
00122     };
00123 
00124 // EXIFTAG_H   
00125 #endif
00126             
00127 // End of File

Copyright © Nokia Corporation 2001-2008
Back to top