epoc32/include/exifread.h
author William Roberts <williamr@symbian.org>
Tue, 16 Mar 2010 16:12:26 +0000
branchSymbian2
changeset 2 2fe1408b6811
parent 0 061f57f2323e
child 4 837f303aceeb
permissions -rw-r--r--
Final list of Symbian^2 public API header files
williamr@2
     1
/*
williamr@2
     2
* Copyright (c) 2003, 2004 Nokia Corporation and/or its subsidiary(-ies).
williamr@2
     3
* All rights reserved.
williamr@2
     4
* This component and the accompanying materials are made available
williamr@2
     5
* under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
williamr@2
     6
* which accompanies this distribution, and is available
williamr@2
     7
* at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
williamr@2
     8
*
williamr@2
     9
* Initial Contributors:
williamr@2
    10
* Nokia Corporation - initial contribution.
williamr@2
    11
*
williamr@2
    12
* Contributors:
williamr@2
    13
*
williamr@2
    14
* Description:  Exif file format parser ( reader ) class
williamr@2
    15
*
williamr@2
    16
*/
williamr@2
    17
williamr@2
    18
williamr@2
    19
#ifndef EXIFREAD_H
williamr@2
    20
#define EXIFREAD_H
williamr@2
    21
williamr@2
    22
//  INCLUDES
williamr@2
    23
#include <e32base.h>
williamr@2
    24
williamr@2
    25
// CONSTANTS
williamr@2
    26
williamr@2
    27
// MACROS
williamr@2
    28
williamr@2
    29
// DATA TYPES
williamr@2
    30
enum TExifIfdType
williamr@2
    31
    {
williamr@2
    32
	EIfd0 = 0,
williamr@2
    33
	EIfdExif,
williamr@2
    34
	EIfd1,
williamr@2
    35
	EIfdGps,
williamr@2
    36
	EIfdIntOp
williamr@2
    37
    };
williamr@2
    38
williamr@2
    39
williamr@2
    40
// FUNCTION PROTOTYPES
williamr@2
    41
williamr@2
    42
// FORWARD DECLARATIONS
williamr@2
    43
class CExifTag;
williamr@2
    44
williamr@2
    45
// CLASS DECLARATION
williamr@2
    46
williamr@2
    47
/**
williamr@2
    48
* CExifRead
williamr@2
    49
* Interface class for parsing Exif v2.2 file format. An instance of this class 
williamr@2
    50
* can be instantiated providing valid Exif data. 
williamr@2
    51
*
williamr@2
    52
* @lib ExifLib
williamr@2
    53
* @since 2.6 
williamr@2
    54
*/
williamr@2
    55
NONSHARABLE_CLASS( CExifRead ): public CBase
williamr@2
    56
    {
williamr@2
    57
williamr@2
    58
    public:  // Enumerations
williamr@2
    59
        enum TExifReadOption
williamr@2
    60
        {
williamr@2
    61
	    ENoOptions          = 0x0000, // Original, safe full parsing
williamr@2
    62
	    ENoJpeg             = 0x0001, // No main JPEG included, no parsing for main image
williamr@2
    63
	    EFastJpegParsing    = 0x0002, // Fast JPEG marker parsing
williamr@2
    64
	    ENoTagChecking      = 0x0004  // Ignore unknown EXIF tags and mandatory tag checking
williamr@2
    65
        };
williamr@2
    66
williamr@2
    67
    public:  // Constructors and destructor
williamr@2
    68
        
williamr@2
    69
        /**
williamr@2
    70
        * Two-phased constructor.
williamr@2
    71
        */
williamr@2
    72
    	IMPORT_C static CExifRead* NewL( const TDesC8& aExifData );
williamr@2
    73
williamr@2
    74
    	IMPORT_C static CExifRead* NewL( const TDesC8& aExifData, TUint aExifReadOption );
williamr@2
    75
        
williamr@2
    76
        /**
williamr@2
    77
        * Destructor.
williamr@2
    78
        */
williamr@2
    79
    	virtual ~CExifRead();
williamr@2
    80
williamr@2
    81
    public: // New functions
williamr@2
    82
williamr@2
    83
        /**
williamr@2
    84
        * Returns the Tag instance, which has the specified ID from the 
williamr@2
    85
        * requested IFD.
williamr@2
    86
        * @since 2.6
williamr@2
    87
        * @param aIfdType The hosting IFD type
williamr@2
    88
        * @param aTagId The queried tag ID.
williamr@2
    89
        * @return Unmodifiable tag instance returned.
williamr@2
    90
        */
williamr@2
    91
    	virtual const CExifTag* GetTagL( 
williamr@2
    92
            TExifIfdType aIfdType, 
williamr@2
    93
            TUint16 aTagId ) const = 0;
williamr@2
    94
williamr@2
    95
        /**
williamr@2
    96
        * Returns the IDs of all the tags that are stored in the Exif data.
williamr@2
    97
        * @since 2.6
williamr@2
    98
        * @param aIfdType The hosting IFD type.
williamr@2
    99
        * @param aNoTags Number of tag IDs returned.
williamr@2
   100
        * @return Pointer to the tag IDs.
williamr@2
   101
        */
williamr@2
   102
    	virtual TUint16* GetTagIdsL( 
williamr@2
   103
            TExifIfdType aIfdType, 
williamr@2
   104
            TInt& aNoTags ) const = 0;
williamr@2
   105
williamr@2
   106
        /**
williamr@2
   107
        * Returns the types of the IFDs stored in the Exif data.
williamr@2
   108
        * @since 2.6
williamr@2
   109
        * @param aNoIfd Number of IFD types returned.
williamr@2
   110
        * @return Pointer to the IFD types.
williamr@2
   111
        */
williamr@2
   112
    	virtual TExifIfdType* GetIfdTypesL( TInt& aNoIfd ) const = 0;
williamr@2
   113
williamr@2
   114
        /**
williamr@2
   115
        * Returns pointer to a copy of the thumbnail image data.
williamr@2
   116
        * @since 2.6
williamr@2
   117
        * @return Pointer to the descriptor containing a copy of the 
williamr@2
   118
        * Exif thumbnail image.
williamr@2
   119
        */
williamr@2
   120
    	virtual HBufC8* GetThumbnailL() const = 0;
williamr@2
   121
williamr@2
   122
        /**
williamr@2
   123
        * Returns a boolean stating if the queried IFD structure exists in the 
williamr@2
   124
        * Exif data.
williamr@2
   125
        * @since 2.6
williamr@2
   126
        * @param aIfdType The queried IFD type.
williamr@2
   127
        * @return Boolean stating if the specified IFD exists or not.
williamr@2
   128
        */
williamr@2
   129
    	virtual TBool IfdExists( TExifIfdType aIfdType ) const = 0;
williamr@2
   130
williamr@2
   131
        /**
williamr@2
   132
        * Returns a boolean stating if the queried tag exists in the specified 
williamr@2
   133
        * IFD structure.
williamr@2
   134
        * @since 2.6
williamr@2
   135
        * @param aTagId Queried tag ID.
williamr@2
   136
        * @param aIfdType The hosting IFD type.
williamr@2
   137
        * @return Boolean stating if the specified tag exists or not.
williamr@2
   138
        */
williamr@2
   139
    	virtual TBool TagExists( 
williamr@2
   140
            TUint16 aTagId, 
williamr@2
   141
            TExifIfdType aIfdType ) const = 0;
williamr@2
   142
williamr@2
   143
        /**
williamr@2
   144
        * Gets the Image Description tag data.
williamr@2
   145
        * @since 2.6
williamr@2
   146
        * @return Pointer to the descriptor containing copy of the Image 
williamr@2
   147
        * Description data.
williamr@2
   148
        */
williamr@2
   149
    	virtual HBufC8* GetImageDescriptionL() const = 0;
williamr@2
   150
williamr@2
   151
        /**
williamr@2
   152
        * Gets the Make tag data.
williamr@2
   153
        * @since 2.6
williamr@2
   154
        * @return Pointer to the descriptor containing copy of the Make data.
williamr@2
   155
        */
williamr@2
   156
    	virtual HBufC8* GetMakeL() const = 0;
williamr@2
   157
    	
williamr@2
   158
        /**
williamr@2
   159
        * Gets the Model tag data.
williamr@2
   160
        * @since 2.6
williamr@2
   161
        * @return Pointer to the descriptor containing copy of the Model data.
williamr@2
   162
        */
williamr@2
   163
        virtual HBufC8* GetModelL() const = 0;
williamr@2
   164
    	
williamr@2
   165
        /**
williamr@2
   166
        * Gets the Transfer Function tag data.
williamr@2
   167
        * @since 2.6
williamr@2
   168
        * @return Pointer to the descriptor containing copy of the Transfer 
williamr@2
   169
        * Function data.
williamr@2
   170
        */
williamr@2
   171
        virtual HBufC8* GetTransferFunctionL() const = 0; 
williamr@2
   172
    	
williamr@2
   173
        /**
williamr@2
   174
        * Gets the Date Time tag data.
williamr@2
   175
        * @since 2.6
williamr@2
   176
        * @return Pointer to the descriptor containing copy of the Date Time 
williamr@2
   177
        * data.
williamr@2
   178
        */
williamr@2
   179
        virtual HBufC8* GetDateTimeL() const = 0; 
williamr@2
   180
    	
williamr@2
   181
        /**
williamr@2
   182
        * Gets the Software tag data.
williamr@2
   183
        * @since 2.6
williamr@2
   184
        * @return Pointer to the descriptor containing copy of the Software 
williamr@2
   185
        * data.
williamr@2
   186
        */
williamr@2
   187
        virtual HBufC8* GetSoftwareL() const = 0; 
williamr@2
   188
    	
williamr@2
   189
        /**
williamr@2
   190
        * Gets the Copyright tag data.
williamr@2
   191
        * @since 2.6
williamr@2
   192
        * @return Pointer to the descriptor containing copy of the Copyright 
williamr@2
   193
        * data.
williamr@2
   194
        */
williamr@2
   195
        virtual HBufC8* GetCopyrightL() const = 0; 
williamr@2
   196
williamr@2
   197
        /**
williamr@2
   198
        * Gets the Orientation tag data.
williamr@2
   199
        * @since 2.6
williamr@2
   200
        * @param aOrientation Returned Orientation data.
williamr@2
   201
        * @return Error code.
williamr@2
   202
        */
williamr@2
   203
    	virtual TInt GetOrientation( TUint16& aOrientation ) const = 0;
williamr@2
   204
    	
williamr@2
   205
        /**
williamr@2
   206
        * Gets the X Resolution tag data.
williamr@2
   207
        * @since 2.6
williamr@2
   208
        * @param aXResolution1 Returned X Resolution numerator.
williamr@2
   209
        * @param aXResolution2 Returned X Resolution denominator.
williamr@2
   210
        * @return Error code. 
williamr@2
   211
        */
williamr@2
   212
        virtual TInt GetXResolution( 
williamr@2
   213
            TUint32& aXResolution1, 
williamr@2
   214
            TUint32& aXResolution2 ) const = 0;
williamr@2
   215
    	
williamr@2
   216
        /**
williamr@2
   217
        * Gets the Y Resolution tag data.
williamr@2
   218
        * @since 2.6
williamr@2
   219
        * @param aYResolution1 Returned Y Resolution numerator.
williamr@2
   220
        * @param aYResolution2 Returned Y Resolution denominator.
williamr@2
   221
        * @return Error code.
williamr@2
   222
        */
williamr@2
   223
        virtual TInt GetYResolution( 
williamr@2
   224
            TUint32& aYResolution1, 
williamr@2
   225
            TUint32& aYResolution2 ) const = 0;
williamr@2
   226
    	
williamr@2
   227
        /**
williamr@2
   228
        * Gets the Resolution Unit tag data.
williamr@2
   229
        * @since 2.6
williamr@2
   230
        * @param aResolutionUnit Returned Resolution Unit data.
williamr@2
   231
        * @return Error code. 
williamr@2
   232
        */
williamr@2
   233
        virtual TInt GetResolutionUnit( TUint16& aResolutionUnit ) const = 0; 
williamr@2
   234
    	
williamr@2
   235
        /**
williamr@2
   236
        * Gets the YCbCr Positioning tag data.
williamr@2
   237
        * @since 2.6
williamr@2
   238
        * @param aYCbCrPositioning Returned YCbCr Positioning data.
williamr@2
   239
        * @return Error code.
williamr@2
   240
        */
williamr@2
   241
        virtual TInt GetYCbCrPositioning( 
williamr@2
   242
            TUint16& aYCbCrPositioning ) const = 0; 
williamr@2
   243
    	
williamr@2
   244
        /**
williamr@2
   245
        * Gets the Exif Ifd Pointer tag data.
williamr@2
   246
        * @since 2.6
williamr@2
   247
        * @param aExifIfdPointer Returned Exif Ifd Pointer data.
williamr@2
   248
        * @return Error code.
williamr@2
   249
        */
williamr@2
   250
        virtual TInt GetExifIfdPointer( TUint32& aExifIfdPointer ) const = 0; 
williamr@2
   251
    	
williamr@2
   252
        /**
williamr@2
   253
        * Gets the Gps Info Ifd Pointer tag data.
williamr@2
   254
        * @since 2.6
williamr@2
   255
        * @param aGpsInfoIfdPointer Returned Gps Info Ifd Pointer data.
williamr@2
   256
        * @return Error code.
williamr@2
   257
        */
williamr@2
   258
        virtual TInt GetGpsInfoIfdPointer( 
williamr@2
   259
            TUint32& aGpsInfoIfdPointer ) const = 0; 
williamr@2
   260
williamr@2
   261
        /**
williamr@2
   262
        * Gets the Iso Speed Ratings tag data.
williamr@2
   263
        * @since 2.6
williamr@2
   264
        * @return Pointer to the descriptor containing copy of the Iso Speed 
williamr@2
   265
        * Ratings data.
williamr@2
   266
        */
williamr@2
   267
    	virtual HBufC8* GetIsoSpeedRatingsL() const = 0; 
williamr@2
   268
    	
williamr@2
   269
        /**
williamr@2
   270
        * Gets the Date Time Original tag data.
williamr@2
   271
        * @since 2.6
williamr@2
   272
        * @return Pointer to the descriptor containing copy of the Date Time 
williamr@2
   273
        * Original data.
williamr@2
   274
        */
williamr@2
   275
        virtual HBufC8* GetDateTimeOriginalL() const = 0;
williamr@2
   276
    	
williamr@2
   277
        /**
williamr@2
   278
        * Gets the Date Time Digitized tag data.
williamr@2
   279
        * @since 2.6
williamr@2
   280
        * @return Pointer to the descriptor containing copy of the Date Time 
williamr@2
   281
        * Digitized data.
williamr@2
   282
        */
williamr@2
   283
        virtual HBufC8* GetDateTimeDigitizedL() const = 0; 
williamr@2
   284
williamr@2
   285
    	/**
williamr@2
   286
        * Gets the Maker Note tag data.
williamr@2
   287
        * @since 2.6
williamr@2
   288
        * @return Pointer to the descriptor containing copy of the Maker Note 
williamr@2
   289
        * data.
williamr@2
   290
        */
williamr@2
   291
        virtual HBufC8* GetMakerNoteL() const = 0; 
williamr@2
   292
    	
williamr@2
   293
        /**
williamr@2
   294
        * Gets the User Comment tag data.
williamr@2
   295
        * @since 2.6
williamr@2
   296
        * @return Pointer to the descriptor containing copy of the User 
williamr@2
   297
        * Comment data.
williamr@2
   298
        */
williamr@2
   299
        virtual HBufC8* GetUserCommentL() const = 0; 
williamr@2
   300
    	
williamr@2
   301
        /**
williamr@2
   302
        * Gets the Related Sound File tag data.
williamr@2
   303
        * @since 2.6
williamr@2
   304
        * @return Pointer to the descriptor containing copy of the Related 
williamr@2
   305
        * Sound File data.
williamr@2
   306
        */
williamr@2
   307
        virtual HBufC8* GetRelatedSoundFileL() const = 0; 
williamr@2
   308
williamr@2
   309
        /**
williamr@2
   310
        * Gets the Exposure Time tag data.
williamr@2
   311
        * @since 2.6
williamr@2
   312
        * @param ExposureTime Returned Exposure Time data.
williamr@2
   313
        * @return Error code.
williamr@2
   314
        */
williamr@2
   315
    	virtual TInt GetExposureTime( 
williamr@2
   316
            TUint32& aExposureTime1, 
williamr@2
   317
            TUint32& aExposureTime2 ) const = 0; 
williamr@2
   318
    	
williamr@2
   319
        /**
williamr@2
   320
        * Gets the Components Configuration tag data.
williamr@2
   321
        * @since 2.6
williamr@2
   322
        * @param aComponentsConfiguration Returned Components Configuration 
williamr@2
   323
        * data.
williamr@2
   324
        * @return Error code.
williamr@2
   325
        */
williamr@2
   326
        virtual TInt GetComponentsConfiguration( 
williamr@2
   327
            TUint8& aFirstComponent, TUint8& aSecondComponent,
williamr@2
   328
            TUint8& aThirdComponent, TUint8& aFourthComponent) const = 0; 
williamr@2
   329
    	
williamr@2
   330
        /**
williamr@2
   331
        * Gets the Flash tag data.
williamr@2
   332
        * @since 2.6
williamr@2
   333
        * @param aFlash Returned Flash data.
williamr@2
   334
        * @return Error code.
williamr@2
   335
        */
williamr@2
   336
        virtual TInt GetFlash( TUint16& aFlash ) const = 0; 
williamr@2
   337
    	
williamr@2
   338
        /**
williamr@2
   339
        * Gets the ColorSpace tag data.
williamr@2
   340
        * @since 2.6
williamr@2
   341
        * @param aColorSpace Returned ColorSpace data.
williamr@2
   342
        * @return Error code.
williamr@2
   343
        */
williamr@2
   344
        virtual TInt GetColorSpace( TUint16& aColorSpace ) const = 0; 
williamr@2
   345
    	
williamr@2
   346
        /**
williamr@2
   347
        * Gets the Pixel X Dimension tag data.
williamr@2
   348
        * @since 2.6
williamr@2
   349
        * @param aPixelXDimension Returned Pixel X Dimension data.
williamr@2
   350
        * @return Error code.
williamr@2
   351
        */
williamr@2
   352
        virtual TInt GetPixelXDimension( TUint32& aPixelXDimension ) const = 0; 
williamr@2
   353
    	
williamr@2
   354
        /**
williamr@2
   355
        * Gets the Pixel Y Dimension tag data.
williamr@2
   356
        * @since 2.6
williamr@2
   357
        * @param aPixelYDimension Returned Pixel Y Dimension data.
williamr@2
   358
        * @return Error code.
williamr@2
   359
        */
williamr@2
   360
        virtual TInt GetPixelYDimension( TUint32& aPixelYDimension ) const = 0; 
williamr@2
   361
    	
williamr@2
   362
        /**
williamr@2
   363
        * Gets the Exposure Mode tag data.
williamr@2
   364
        * @since 2.6
williamr@2
   365
        * @param aExposureMode Returned Exposure Mode data.
williamr@2
   366
        * @return Error code.
williamr@2
   367
        */
williamr@2
   368
        virtual TInt GetExposureMode( TUint16& aExposureMode ) const = 0; 
williamr@2
   369
    	
williamr@2
   370
        /**
williamr@2
   371
        * Gets the White Balance tag data.
williamr@2
   372
        * @since 2.6
williamr@2
   373
        * @param aWhiteBalance Returned White Balance data.
williamr@2
   374
        * @return Error code.
williamr@2
   375
        */
williamr@2
   376
        virtual TInt GetWhiteBalance( TUint16& aWhiteBalance ) const = 0; 
williamr@2
   377
    	
williamr@2
   378
        /**
williamr@2
   379
        * Gets the Scene Capture Type tag data.
williamr@2
   380
        * @since 2.6
williamr@2
   381
        * @param aSceneCaptureType Returned Scene Capture Type data.
williamr@2
   382
        * @return Error code.
williamr@2
   383
        */
williamr@2
   384
        virtual TInt GetSceneCaptureType( 
williamr@2
   385
            TUint16& aSceneCaptureType ) const = 0; 
williamr@2
   386
    	
williamr@2
   387
        /**
williamr@2
   388
        * Gets the Exposure Program tag data.
williamr@2
   389
        * @since 2.6
williamr@2
   390
        * @param aExposureProgram Returned Exposure Program data.
williamr@2
   391
        * @return Error code.
williamr@2
   392
        */
williamr@2
   393
        virtual TInt GetExposureProgram( TUint16& aExposureProgram ) const = 0;
williamr@2
   394
    	
williamr@2
   395
        /**
williamr@2
   396
        * Gets the Aperture Value tag data.
williamr@2
   397
        * @since 2.6
williamr@2
   398
        * @param aApertureValue1 Returned Aperture Value numerator.
williamr@2
   399
        * @param aApertureValue2 Returned Aperture Value denominator.
williamr@2
   400
        * @return Error code.
williamr@2
   401
        */
williamr@2
   402
        virtual TInt GetApertureValue( 
williamr@2
   403
            TUint32& aApertureValue1, 
williamr@2
   404
            TUint32& aApertureValue2 ) const = 0; 
williamr@2
   405
    	
williamr@2
   406
        /**
williamr@2
   407
        * Gets the Exposure Bias Value tag data.
williamr@2
   408
        * @since 2.6
williamr@2
   409
        * @param aExposureBiasValue1 Returned Exposure Bias Value numerator.
williamr@2
   410
        * @param aExposureBiasValue1 Returned Exposure Bias Value denominator.
williamr@2
   411
        * @return Error code.
williamr@2
   412
        */
williamr@2
   413
        virtual TInt GetExposureBiasValue( 
williamr@2
   414
            TInt32& aExposureBiasValue1, 
williamr@2
   415
            TInt32& aExposureBiasValue2 ) const = 0; 
williamr@2
   416
    	
williamr@2
   417
        /**
williamr@2
   418
        * Gets the Metering Mode tag data.
williamr@2
   419
        * @since 2.6
williamr@2
   420
        * @param aMeteringMode Returned Metering Mode data.
williamr@2
   421
        * @return Error code.
williamr@2
   422
        */
williamr@2
   423
        virtual TInt GetMeteringMode( TUint16& aMeteringMode ) const = 0; 
williamr@2
   424
    	
williamr@2
   425
        /**
williamr@2
   426
        * Gets the Light Source tag data.
williamr@2
   427
        * @since 2.6
williamr@2
   428
        * @param aLightSource Returned Light Source data.
williamr@2
   429
        * @return Error code.
williamr@2
   430
        */
williamr@2
   431
        virtual TInt GetLightSource( TUint16& aLightSource ) const = 0; 
williamr@2
   432
    	
williamr@2
   433
        /**
williamr@2
   434
        * Gets the File Source tag data.
williamr@2
   435
        * @since 2.6
williamr@2
   436
        * @param aFileSource Returned File Source data.
williamr@2
   437
        * @return Error code.
williamr@2
   438
        */
williamr@2
   439
        virtual TInt GetFileSource( TInt8& aFileSource ) const = 0; 
williamr@2
   440
    	
williamr@2
   441
        /**
williamr@2
   442
        * Gets the Digital Zoom Ratio tag data.
williamr@2
   443
        * @since 2.6
williamr@2
   444
        * @param aDigitalZoomRatio1 Returned Digital Zoom Ratio numerator.
williamr@2
   445
        * @param aDigitalZoomRatio2 Returned Digital Zoom Ratio denominator.
williamr@2
   446
        * @return Error code.
williamr@2
   447
        */
williamr@2
   448
        virtual TInt GetDigitalZoomRatio( 
williamr@2
   449
            TUint32& aDigitalZoomRatio1, 
williamr@2
   450
            TUint32& aDigitalZoomRatio2 ) const = 0; 
williamr@2
   451
    	
williamr@2
   452
        /**
williamr@2
   453
        * Gets the Contrast tag data.
williamr@2
   454
        * @since 2.6
williamr@2
   455
        * @param aContrast Returned Contrast data.
williamr@2
   456
        * @return Error code.
williamr@2
   457
        */
williamr@2
   458
        virtual TInt GetContrast( TUint16& aContrast ) const = 0; 
williamr@2
   459
    	
williamr@2
   460
        /**
williamr@2
   461
        * Gets the Saturation tag data.
williamr@2
   462
        * @since 2.6
williamr@2
   463
        * @param aSaturation Returned Saturation data.
williamr@2
   464
        * @return Error code.
williamr@2
   465
        */
williamr@2
   466
        virtual TInt GetSaturation( TUint16& aSaturation ) const = 0; 
williamr@2
   467
    	
williamr@2
   468
        /**
williamr@2
   469
        * Gets the Sharpness tag data.
williamr@2
   470
        * @since 2.6
williamr@2
   471
        * @param aSharpness Returned Sharpness data.
williamr@2
   472
        * @return Error code.
williamr@2
   473
        */
williamr@2
   474
        virtual TInt GetSharpness( TUint16& aSharpness ) const = 0; 
williamr@2
   475
    	
williamr@2
   476
        /**
williamr@2
   477
        * Gets the Exif Version tag data.
williamr@2
   478
        * @since 2.6
williamr@2
   479
        * @param aExifVersion Returned Exif Version data.
williamr@2
   480
        * @return Error code.
williamr@2
   481
        */
williamr@2
   482
        virtual TInt GetExifVersion( TUint32& aExifVersion ) const = 0; 
williamr@2
   483
    	
williamr@2
   484
        /**
williamr@2
   485
        * Gets the Flash Pix Version tag data.
williamr@2
   486
        * @since 2.6
williamr@2
   487
        * @param aFlashPixVersion Returned Flash Pix Version data.
williamr@2
   488
        * @return Error code.
williamr@2
   489
        */
williamr@2
   490
        virtual TInt GetFlashPixVersion( TUint32& aFlashPixVersion ) const = 0; 
williamr@2
   491
    	
williamr@2
   492
        /**
williamr@2
   493
        * Gets the Interoperability Ifd Pointer tag data.
williamr@2
   494
        * @since 2.6
williamr@2
   495
        * @param aInteroperabilityIfdPointer Returned Interoperability Ifd 
williamr@2
   496
        * Pointer data.
williamr@2
   497
        * @return Error code.
williamr@2
   498
        */
williamr@2
   499
        virtual TInt GetInteroperabilityIfdPointer( 
williamr@2
   500
            TUint32& aInteroperabilityIfdPointer ) const = 0; 
williamr@2
   501
williamr@2
   502
        /**
williamr@2
   503
        * Gets the thumbnail X Resolution tag data.
williamr@2
   504
        * @since 2.6
williamr@2
   505
        * @param aXResolution1 Returned thumbnail X Resolution numerator.
williamr@2
   506
        * @param aXResolution1 Returned thumbnail X Resolution denominator.
williamr@2
   507
        * @return Error code.
williamr@2
   508
        */
williamr@2
   509
    	virtual TInt GetThumbnailXResolution( 
williamr@2
   510
            TUint32& aXResolution1, 
williamr@2
   511
            TUint32& aXResolution2 ) const = 0;
williamr@2
   512
    	
williamr@2
   513
        /**
williamr@2
   514
        * Gets the thumbnail Y Resolution tag data.
williamr@2
   515
        * @since 2.6
williamr@2
   516
        * @param aYResolution1 Returned thumbnail Y Resolution numerator.
williamr@2
   517
        * @param aYResolution1 Returned thumbnail Y Resolution denominator.
williamr@2
   518
        * @return Error code.
williamr@2
   519
        */        
williamr@2
   520
        virtual TInt GetThumbnailYResolution( 
williamr@2
   521
            TUint32& aYResolution1, 
williamr@2
   522
            TUint32& aYResolution2 ) const = 0;
williamr@2
   523
    	
williamr@2
   524
        /**
williamr@2
   525
        * Gets the thumbnail Resolution Unit tag data.
williamr@2
   526
        * @since 2.6
williamr@2
   527
        * @param aResolutionUnit Returned thumbnail Resolution Unit data.
williamr@2
   528
        * @return Error code.
williamr@2
   529
        */            
williamr@2
   530
        virtual TInt GetThumbnailResolutionUnit( 
williamr@2
   531
            TUint16& aResolutionUnit ) const = 0;
williamr@2
   532
    	
williamr@2
   533
        /**
williamr@2
   534
        * Gets the thumbnail Compression tag data.
williamr@2
   535
        * @since 2.6
williamr@2
   536
        * @param aCompression Returned thumbnail Compression data.
williamr@2
   537
        * @return Error code.
williamr@2
   538
        */            
williamr@2
   539
        virtual TInt GetThumbnailCompression( TUint16& aCompression ) const = 0; 
williamr@2
   540
    	
williamr@2
   541
        /**
williamr@2
   542
        * Gets the thumbnail Jpeg Interchange Format tag data.
williamr@2
   543
        * @since 2.6
williamr@2
   544
        * @param aJpegInterchangeFormat Returned thumbnail Jpeg Interchange 
williamr@2
   545
        * Format data.
williamr@2
   546
        * @return Error code.
williamr@2
   547
        */            
williamr@2
   548
        virtual TInt GetJpegInterchangeFormat( 
williamr@2
   549
            TUint32& aJpegInterchangeFormat ) const = 0; 
williamr@2
   550
    	
williamr@2
   551
        /**
williamr@2
   552
        * Gets the thumbnail Jpeg Interchange Format Length tag data.
williamr@2
   553
        * @since 2.6
williamr@2
   554
        * @param aJpegInterchangeFormatLength Returned thumbnail Jpeg 
williamr@2
   555
        * Interchange Format Length data.
williamr@2
   556
        * @return Error code.
williamr@2
   557
        */    
williamr@2
   558
        virtual TInt GetJpegInterchangeFormatLength( 
williamr@2
   559
            TUint32& aJpegInterchangeFormatLength ) const = 0;
williamr@2
   560
williamr@2
   561
        /**
williamr@2
   562
        * Returns a copy of whole Exif APP1 segment in a descriptor.
williamr@2
   563
        * @since 2.6
williamr@2
   564
        * @return Descriptor containing the Exif APP1 segment data.
williamr@2
   565
        */    
williamr@2
   566
        virtual HBufC8* GetExifAppSegmentL() const = 0;
williamr@2
   567
williamr@2
   568
        /**
williamr@2
   569
        * Gets the Shutter Speed Value tag data.
williamr@2
   570
        * @since 2.6
williamr@2
   571
        * @param aShutterSpeedValue1 Shutter Speed Value numerator.
williamr@2
   572
        * @param aShutterSpeedValue2 Shutter Speed Value denominator.
williamr@2
   573
        * @return Error code.
williamr@2
   574
        */
williamr@2
   575
        virtual TInt GetShutterSpeedValue( TInt32& aShutterSpeedValue1, 
williamr@2
   576
            TInt32& aShutterSpeedValue2 ) const = 0;
williamr@2
   577
williamr@2
   578
        /**
williamr@2
   579
        * Gets the Brightness Value tag data.
williamr@2
   580
        * @since 2.6
williamr@2
   581
        * @param aBrightnessValue1 Brightness Value numerator.
williamr@2
   582
        * @param aBrightnessValue2 Brightness Value denominator.
williamr@2
   583
        * @return Error code.
williamr@2
   584
        */
williamr@2
   585
        virtual TInt GetBrightnessValue( TInt32& aBrightnessValue1, 
williamr@2
   586
            TInt32& aBrightnessValue2 ) const = 0;
williamr@2
   587
williamr@2
   588
        /**
williamr@2
   589
        * Gets the Custom Rendered tag data.
williamr@2
   590
        * @since 2.6
williamr@2
   591
        * @param aCustomRendered Returned Custom Rendered data.
williamr@2
   592
        * @return Error code.
williamr@2
   593
        */
williamr@2
   594
        virtual TInt GetCustomRendered( TUint16& aCustomRendered ) const = 0;
williamr@2
   595
williamr@2
   596
        /**
williamr@2
   597
        * Gets the Gain Control tag data.
williamr@2
   598
        * @since 2.6
williamr@2
   599
        * @param aGainControl Returned Gain Control data.
williamr@2
   600
        * @return Error code.
williamr@2
   601
        */
williamr@2
   602
        virtual TInt GetGainControl( TUint16& aGainControl ) const = 0;
williamr@2
   603
williamr@2
   604
        /**
williamr@2
   605
        * Gets the Gps Version tag data.
williamr@2
   606
        * @since 2.6
williamr@2
   607
        * @param aGpsVersion Returned Gps Version data.
williamr@2
   608
        * @return Error code.
williamr@2
   609
        */
williamr@2
   610
        virtual TInt GetGpsVersion( TUint32& aGpsVersion ) const = 0; 
williamr@2
   611
    };
williamr@2
   612
williamr@2
   613
#endif      // EXIFREAD_H   
williamr@2
   614
            
williamr@2
   615
// End of File