epoc32/include/exifmodify.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
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@4
     5
* under the terms of "Eclipse Public License v1.0"
williamr@2
     6
* which accompanies this distribution, and is available
williamr@4
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.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 creator/modifier class
williamr@2
    15
*
williamr@2
    16
*/
williamr@2
    17
williamr@2
    18
williamr@2
    19
#ifndef EXIFMODIFY_H
williamr@2
    20
#define EXIFMODIFY_H
williamr@2
    21
williamr@2
    22
// INCLUDES
williamr@2
    23
#include <e32base.h>
williamr@2
    24
#include "ExifRead.h"
williamr@2
    25
williamr@2
    26
// CONSTANTS
williamr@2
    27
williamr@2
    28
// MACROS
williamr@2
    29
williamr@2
    30
// DATA TYPES
williamr@2
    31
williamr@2
    32
// FUNCTION PROTOTYPES
williamr@2
    33
williamr@2
    34
// FORWARD DECLARATIONS
williamr@2
    35
class TExifTagInfo;
williamr@2
    36
williamr@2
    37
// CLASS DECLARATION
williamr@2
    38
williamr@2
    39
/**
williamr@2
    40
*  CExifModify
williamr@2
    41
*  Interface class for modifying existing Exif v2.2 (or prior) file format or 
williamr@2
    42
*  creating Exif v2.2 file format using valid Jpeg image. 
williamr@2
    43
*  An instance of this class can be instantiated in one of two ways:
williamr@2
    44
*  by providing valid Exif data or by providing valid Jpeg image.
williamr@2
    45
* 
williamr@2
    46
*  @lib ExifLib
williamr@2
    47
*  @since 2.6 
williamr@2
    48
*/
williamr@2
    49
NONSHARABLE_CLASS( CExifModify ): public CBase
williamr@2
    50
    {
williamr@2
    51
	public:  // Enumerations
williamr@2
    52
williamr@2
    53
        /**
williamr@2
    54
        *  The operation mode enumeration specifying the create or modify modes.
williamr@2
    55
        */
williamr@2
    56
    	enum TOperationMode
williamr@2
    57
            {
williamr@2
    58
        	EModify = 0,
williamr@2
    59
        	ECreate
williamr@2
    60
            };
williamr@2
    61
            
williamr@2
    62
        public:
williamr@2
    63
            enum TExifModifyOption
williamr@2
    64
            {
williamr@4
    65
            ENoOptions        = 0x0000,
williamr@4
    66
            ENoJpegParsing    = 0x0001, // No jpeg validity checking is done
williamr@4
    67
            ENoTagChecking    = 0x0002  // Ignore unknown EXIF tags and mandatory tag checking
williamr@2
    68
            };
williamr@2
    69
williamr@2
    70
	public:  // Constructors and destructor
williamr@2
    71
williamr@2
    72
        /**
williamr@2
    73
        * Two-phased constructor.
williamr@2
    74
        */
williamr@2
    75
    	IMPORT_C static CExifModify* NewL( 
williamr@2
    76
            const TDesC8& aInData, 
williamr@2
    77
            CExifModify::TOperationMode aOperationMode = EModify );
williamr@2
    78
williamr@2
    79
    	IMPORT_C static CExifModify* NewL( 
williamr@2
    80
            const TDesC8& aInData, 
williamr@2
    81
            CExifModify::TOperationMode aOperationMode,
williamr@2
    82
            TUint aExifModifyOption );
williamr@2
    83
williamr@2
    84
williamr@2
    85
        /**
williamr@2
    86
        * Two-phased constructor.
williamr@2
    87
        */
williamr@2
    88
    	IMPORT_C static CExifModify* NewL();
williamr@2
    89
            
williamr@2
    90
        /**
williamr@2
    91
        * Destructor.
williamr@2
    92
        */
williamr@2
    93
    	virtual ~CExifModify();
williamr@2
    94
williamr@2
    95
	public: // New functions
williamr@2
    96
        
williamr@2
    97
        /**
williamr@2
    98
        * Returns a constant pointer to a CExifRead instance that can be used 
williamr@2
    99
        * to parse the associated Exif image.
williamr@2
   100
        * @since 2.6 
williamr@2
   101
        * @return Unmodifiable pointer to Exif reader instance.
williamr@2
   102
        */
williamr@2
   103
    	virtual const CExifRead* Reader() const = 0;
williamr@2
   104
williamr@2
   105
        /**
williamr@2
   106
        * Inserts/Updates the given tag in the specified IFD structure of the 
williamr@2
   107
        * Exif data.
williamr@2
   108
        * @since 2.6 
williamr@2
   109
        * @param aIfdType The hosting IFD type.
williamr@2
   110
        * @param aExifTagInfo The informative fields of tag that is updated.
williamr@2
   111
        * @param aExifData Data of the tag that is updated.
williamr@2
   112
        * @return void
williamr@2
   113
        */
williamr@2
   114
    	virtual void SetTagL( 
williamr@2
   115
            TExifIfdType aIfdType, 
williamr@2
   116
            TExifTagInfo aExifTagInfo, 
williamr@2
   117
            const TDesC8& aTagData ) = 0;
williamr@2
   118
williamr@2
   119
        /**
williamr@2
   120
        * Removes the tag with the given tag ID from the specified IFD 
williamr@2
   121
        * structure in the Exif data.
williamr@2
   122
        * @since 2.6 
williamr@2
   123
        * @param aIfdType The hosting IFD type.
williamr@2
   124
        * @param aTagId The target tag ID.
williamr@2
   125
        * @return Error code.
williamr@2
   126
        */
williamr@2
   127
    	virtual TInt DeleteTag( TExifIfdType aIfdType, TUint16 aTagId ) = 0;
williamr@2
   128
williamr@2
   129
        /**
williamr@2
   130
        * Removes the specified IFD structure and all its tags from the Exif 
williamr@2
   131
        * data.
williamr@2
   132
        * @since 2.6 
williamr@2
   133
        * @param aIfdType The target IFD type.
williamr@2
   134
        * @return Error code.
williamr@2
   135
        */
williamr@2
   136
    	virtual TInt DeleteIfd( TExifIfdType aIfdType ) = 0;
williamr@2
   137
williamr@2
   138
        /**
williamr@2
   139
        * Inserts/Updates the given thumbnail Jpeg image data into the 1st IFD 
williamr@2
   140
        * structure in the Exif data.
williamr@2
   141
        * @since 2.6 
williamr@2
   142
        * @param aThumbnailData The Exif thumbnail image data that is updated.
williamr@2
   143
        * @return void
williamr@2
   144
        */
williamr@2
   145
    	virtual void SetThumbnailL( const TDesC8& aThumbnailData ) = 0;
williamr@2
   146
        
williamr@2
   147
        /**
williamr@2
   148
        * Removes the thumbnail Jpeg image data from the 1st IFD structure in 
williamr@2
   149
        * the Exif data.
williamr@2
   150
        * @since 2.6 
williamr@2
   151
        * @return Error code.
williamr@2
   152
        */
williamr@2
   153
    	virtual TInt RemoveThumbnail() = 0;
williamr@2
   154
        
williamr@2
   155
        /**
williamr@2
   156
        * Flushes the Exif data into the given data buffer, and releases the 
williamr@2
   157
        * internal structures.
williamr@2
   158
        * @since 2.6 
williamr@2
   159
        * @param aInData The original Exif image data, which contains identical 
williamr@2
   160
        * data provided while calling the NewL function.
williamr@2
   161
        * @return Pointer to descriptor containing new Exif image data.
williamr@2
   162
        */
williamr@2
   163
    	virtual HBufC8* WriteDataL( const TDesC8& aInData ) = 0;
williamr@2
   164
williamr@2
   165
        /**
williamr@2
   166
        * Inserts/Updates given Image Description in the Exif data.
williamr@2
   167
        * @since 2.6
williamr@2
   168
        * @param aImageDescription Updated Image Description data.
williamr@2
   169
        * @return void
williamr@2
   170
        */
williamr@2
   171
    	virtual void SetImageDescriptionL( const TDesC8& aImageDescription ) = 0;
williamr@2
   172
williamr@2
   173
        /**
williamr@2
   174
        * Inserts/Updates given Make in the Exif data.
williamr@2
   175
        * @since 2.6
williamr@2
   176
        * @param aMake Updated Make data.
williamr@2
   177
        * @return void
williamr@2
   178
        */
williamr@2
   179
        virtual void SetMakeL( const TDesC8& aMake ) = 0; 
williamr@2
   180
    	
williamr@2
   181
        /**
williamr@2
   182
        * Inserts/Updates given Model in the Exif data.
williamr@2
   183
        * @since 2.6
williamr@2
   184
        * @param aModel Updated Model data.
williamr@2
   185
        * @return void
williamr@2
   186
        */        
williamr@2
   187
        virtual void SetModelL( const TDesC8& aModel ) = 0; 
williamr@2
   188
    	
williamr@2
   189
        /**
williamr@2
   190
        * Inserts/Updates given Orientation in the Exif data.
williamr@2
   191
        * @since 2.6
williamr@2
   192
        * @param aOrientation Updated Orientation data.
williamr@2
   193
        * @return void
williamr@2
   194
        */
williamr@2
   195
        virtual void SetOrientationL( TUint16 aOrientation ) = 0; 
williamr@2
   196
    	
williamr@2
   197
        /**
williamr@2
   198
        * Inserts/Updates given X Resolution in the Exif data.
williamr@2
   199
        * @since 2.6
williamr@2
   200
        * @param aXResolution1 Updated X Resolution numerator.
williamr@2
   201
        * @param aXResolution2 Updated X Resolution denominator.
williamr@2
   202
        * @return void
williamr@2
   203
        */        
williamr@2
   204
        virtual void SetXResolutionL( 
williamr@2
   205
            TUint32 aXResolution1, 
williamr@2
   206
            TUint32 aXResolution2 ) = 0; 
williamr@2
   207
    	
williamr@2
   208
        /**
williamr@2
   209
        * Inserts/Updates given Y Resolution in the Exif data.
williamr@2
   210
        * @since 2.6
williamr@2
   211
        * @param aYResolution1 Updated Y Resolution numerator.
williamr@2
   212
        * @param aYResolution2 Updated Y Resolution denominator.
williamr@2
   213
        * @return void
williamr@2
   214
        */        
williamr@2
   215
        virtual void SetYResolutionL( 
williamr@2
   216
            TUint32 aYResolution1, 
williamr@2
   217
            TUint32 aYResolution2 ) = 0; 
williamr@2
   218
    	
williamr@2
   219
        /**
williamr@2
   220
        * Inserts/Updates given Resolution Unit in the Exif data.
williamr@2
   221
        * @since 2.6
williamr@2
   222
        * @param aResolutionUnit Updated Resolution Unit data.
williamr@2
   223
        * @return void
williamr@2
   224
        */        
williamr@2
   225
        virtual void SetResolutionUnitL( TUint16 aResolutionUnit ) = 0; 
williamr@2
   226
    	
williamr@2
   227
        /**
williamr@2
   228
        * Inserts/Updates given Transfer Function in the Exif data.
williamr@2
   229
        * @since 2.6
williamr@2
   230
        * @param aTransferFunction Updated Transfer Function data.
williamr@2
   231
        * @return void
williamr@2
   232
        */        
williamr@2
   233
        virtual void SetTransferFunctionL( 
williamr@2
   234
            const TDesC8& aTransferFunction ) = 0; 
williamr@2
   235
    	
williamr@2
   236
        /**
williamr@2
   237
        * Inserts/Updates given Date Time in the Exif data.
williamr@2
   238
        * @since 2.6
williamr@2
   239
        * @param aDateTime Updated Date Time data.
williamr@2
   240
        * @return void
williamr@2
   241
        */        
williamr@2
   242
        virtual void SetDateTimeL( const TDesC8& aDateTime ) = 0; 
williamr@2
   243
    	
williamr@2
   244
        /**
williamr@2
   245
        * Inserts/Updates given YCbCr Positioning in the Exif data.
williamr@2
   246
        * @since 2.6
williamr@2
   247
        * @param aYCbCrPositioning YCbCr Positioning data.
williamr@2
   248
        * @return void
williamr@2
   249
        */        
williamr@2
   250
        virtual void SetYCbCrPositioningL( TUint16 aYCbCrPositioning) = 0; 
williamr@2
   251
    	
williamr@2
   252
        /**
williamr@2
   253
        * Inserts/Updates given Software in the Exif data.
williamr@2
   254
        * @since 2.6
williamr@2
   255
        * @param aSoftware Updated Software data.
williamr@2
   256
        * @return void
williamr@2
   257
        */        
williamr@2
   258
        virtual void SetSoftwareL( const TDesC8& aSoftware ) = 0; 
williamr@2
   259
    	
williamr@2
   260
        /**
williamr@2
   261
        * Inserts/Updates given Copyright in the Exif data.
williamr@2
   262
        * @since 2.6
williamr@2
   263
        * @param aCopyright Updated Copyright data.
williamr@2
   264
        * @return void
williamr@2
   265
        */        
williamr@2
   266
        virtual void SetCopyrightL( const TDesC8& aCopyright ) = 0;
williamr@2
   267
williamr@2
   268
        /**
williamr@2
   269
        * Inserts/Updates given Exposure Time in the Exif data.
williamr@2
   270
        * @since 2.6
williamr@2
   271
        * @param aExposureTime1 Updated Exposure Time numerator.
williamr@2
   272
        * @param aExposureTime2 Updated Exposure Time denominator.
williamr@2
   273
        * @return void
williamr@2
   274
        */
williamr@2
   275
    	virtual void SetExposureTimeL( 
williamr@2
   276
            TUint32 aExposureTime1, 
williamr@2
   277
            TUint32 aExposureTime2 ) = 0;
williamr@2
   278
williamr@2
   279
        /**
williamr@2
   280
        * Inserts/Updates given Components Configuration in the Exif data.
williamr@2
   281
        * @since 2.6
williamr@2
   282
        * @param aComponentsConfiguration Updated Components Configuration data.
williamr@2
   283
        * @return void
williamr@2
   284
        */    	
williamr@2
   285
        virtual void SetComponentsConfigurationL( 
williamr@2
   286
            TUint8 aFirstComponent, TUint8 aSecondComponent, 
williamr@2
   287
            TUint8 aThirdComponent, TUint8 aFourthComponent ) = 0; 
williamr@2
   288
    	
williamr@2
   289
        /**
williamr@2
   290
        * Inserts/Updates given Flash in the Exif data.
williamr@2
   291
        * @since 2.6
williamr@2
   292
        * @param aFlash Updated Flash data.
williamr@2
   293
        * @return void
williamr@2
   294
        */        
williamr@2
   295
        virtual void SetFlashL( TUint16 aFlash ) = 0; 
williamr@2
   296
    	
williamr@2
   297
        /**
williamr@2
   298
        * Inserts/Updates given Color Space in the Exif data.
williamr@2
   299
        * @since 2.6
williamr@2
   300
        * @param aColorSpace Updated Color Space data.
williamr@2
   301
        * @return void
williamr@2
   302
        */        
williamr@2
   303
        virtual void SetColorSpaceL( TUint16 aColorSpace ) = 0;
williamr@2
   304
    	
williamr@2
   305
        /**
williamr@2
   306
        * Inserts/Updates given Pixel X Dimension in the Exif data.
williamr@2
   307
        * @since 2.6
williamr@2
   308
        * @param aPixelXDimension Updated Pixel X Dimension data.
williamr@2
   309
        * @return void
williamr@2
   310
        */        
williamr@2
   311
        virtual void SetPixelXDimensionL( TUint32 aPixelXDimension ) = 0;
williamr@2
   312
    	
williamr@2
   313
        /**
williamr@2
   314
        * Inserts/Updates given Pixel Y Dimension in the Exif data.
williamr@2
   315
        * @since 2.6
williamr@2
   316
        * @param aPixelYDimension Updated Pixel Y Dimension data.
williamr@2
   317
        * @return void
williamr@2
   318
        */        
williamr@2
   319
        virtual void SetPixelYDimensionL( TUint32 aPixelYDimension ) = 0;
williamr@2
   320
    	
williamr@2
   321
        /**
williamr@2
   322
        * Inserts/Updates given Exposure Mode in the Exif data.
williamr@2
   323
        * @since 2.6
williamr@2
   324
        * @param aExposureMode Updated Exposure Mode data.
williamr@2
   325
        * @return void
williamr@2
   326
        */        
williamr@2
   327
        virtual void SetExposureModeL( TUint16 aExposureMode ) = 0;
williamr@2
   328
    	
williamr@2
   329
        /**
williamr@2
   330
        * Inserts/Updates given White Balance in the Exif data.
williamr@2
   331
        * @since 2.6
williamr@2
   332
        * @param aWhiteBalance Updated White Balance data.
williamr@2
   333
        * @return void
williamr@2
   334
        */        
williamr@2
   335
        virtual void SetWhiteBalanceL( TUint16 aWhiteBalance ) = 0; 
williamr@2
   336
    	
williamr@2
   337
        /**
williamr@2
   338
        * Inserts/Updates given Scene Capture Type in the Exif data.
williamr@2
   339
        * @since 2.6
williamr@2
   340
        * @param aSceneCaptureType Updated Scene Capture Type data.
williamr@2
   341
        * @return void
williamr@2
   342
        */        
williamr@2
   343
        virtual void SetSceneCaptureTypeL( TUint16 aSceneCaptureType ) = 0; 
williamr@2
   344
    	
williamr@2
   345
        
williamr@2
   346
        /**
williamr@2
   347
        * Inserts/Updates given Exposure Program in the Exif data.
williamr@2
   348
        * @since 2.6
williamr@2
   349
        * @param aExposureProgram Updated Exposure Program data.
williamr@2
   350
        * @return void
williamr@2
   351
        */virtual void SetExposureProgramL( TUint16 aExposureProgram ) = 0; 
williamr@2
   352
    	
williamr@2
   353
        /**
williamr@2
   354
        * Inserts/Updates given Iso Speed Ratings in the Exif data.
williamr@2
   355
        * @since 2.6
williamr@2
   356
        * @param aIsoSpeedRatings Updated Iso Speed Ratings data.
williamr@2
   357
        * @return void
williamr@2
   358
        */        
williamr@2
   359
        virtual void SetIsoSpeedRatingsL( const TDesC8& aIsoSpeedRatings ) = 0; 
williamr@2
   360
    	
williamr@2
   361
        /**
williamr@2
   362
        * Inserts/Updates given Date Time Original in the Exif data.
williamr@2
   363
        * @since 2.6
williamr@2
   364
        * @param aDateTimeOriginal Updated Date Time Original data.
williamr@2
   365
        * @return void
williamr@2
   366
        */        
williamr@2
   367
        virtual void SetDateTimeOriginalL( 
williamr@2
   368
            const TDesC8& aDateTimeOriginal ) = 0;
williamr@2
   369
    	
williamr@2
   370
        /**
williamr@2
   371
        * Inserts/Updates given Date Time Digitized in the Exif data.
williamr@2
   372
        * @since 2.6
williamr@2
   373
        * @param aDateTimeDigitized Updated Date Time Digitized data.
williamr@2
   374
        * @return void
williamr@2
   375
        */        
williamr@2
   376
        virtual void SetDateTimeDigitizedL( 
williamr@2
   377
            const TDesC8& aDateTimeDigitized ) = 0;
williamr@2
   378
    	
williamr@2
   379
        /**
williamr@2
   380
        * Inserts/Updates given Aperture Value in the Exif data.
williamr@2
   381
        * @since 2.6
williamr@2
   382
        * @param aApertureValue1 Updated Aperture Value numerator.
williamr@2
   383
        * @param aApertureValue2 Updated Aperture Value denominator.
williamr@2
   384
        * @return void
williamr@2
   385
        */        
williamr@2
   386
        virtual void SetApertureValueL( 
williamr@2
   387
            TUint32 aApertureValue1, 
williamr@2
   388
            TUint32 aApertureValue2 ) = 0; 
williamr@2
   389
    	
williamr@2
   390
        /**
williamr@2
   391
        * Inserts/Updates given  Exposure Bias Value in the Exif data.
williamr@2
   392
        * @since 2.6
williamr@2
   393
        * @param aExposureBiasValue1 Updated Exposure Bias Value numerator.
williamr@2
   394
        * @param aExposureBiasValue2 Updated Exposure Bias Value denominator.
williamr@2
   395
        * @return void
williamr@2
   396
        */        
williamr@2
   397
        virtual void SetExposureBiasValueL( 
williamr@2
   398
            TInt32 aExposureBiasValue1, 
williamr@2
   399
            TInt32 aExposureBiasValue2 ) = 0;
williamr@2
   400
    	
williamr@2
   401
        /**
williamr@2
   402
        * Inserts/Updates given Metering Mode in the Exif data.
williamr@2
   403
        * @since 2.6
williamr@2
   404
        * @param aMeteringMode Updated Metering Mode data.
williamr@2
   405
        * @return void
williamr@2
   406
        */        
williamr@2
   407
        virtual void SetMeteringModeL( TUint16 aMeteringMode ) = 0; 
williamr@2
   408
    	
williamr@2
   409
        /**
williamr@2
   410
        * Inserts/Updates given Light Source in the Exif data.
williamr@2
   411
        * @since 2.6
williamr@2
   412
        * @param aLightSource Updated Light Source data.
williamr@2
   413
        * @return void
williamr@2
   414
        */        
williamr@2
   415
        virtual void SetLightSourceL( TUint16 aLightSource ) = 0; 
williamr@2
   416
    	
williamr@2
   417
        /**
williamr@2
   418
        * Inserts/Updates given Maker Note in the Exif data.
williamr@2
   419
        * @since 2.6
williamr@2
   420
        * @param aMakerNote Updated Maker Note data.
williamr@2
   421
        * @return void
williamr@2
   422
        */        
williamr@2
   423
        virtual void SetMakerNoteL( const TDesC8& aMakerNote ) = 0; 
williamr@2
   424
    	
williamr@2
   425
        /**
williamr@2
   426
        * Inserts/Updates given User Comment in the Exif data.
williamr@2
   427
        * @since 2.6
williamr@2
   428
        * @param aUserComment Updated User Comment data.
williamr@2
   429
        * @return void
williamr@2
   430
        */        
williamr@2
   431
        virtual void SetUserCommentL( const TDesC8& aUserComment ) = 0;
williamr@2
   432
    	
williamr@2
   433
        /**
williamr@2
   434
        * Inserts/Updates given Related Sound File in the Exif data.
williamr@2
   435
        * @since 2.6
williamr@2
   436
        * @param aRelatedSoundFile Updated Related Sound File data.
williamr@2
   437
        * @return void
williamr@2
   438
        */        
williamr@2
   439
        virtual void SetRelatedSoundFileL( 
williamr@2
   440
            const TDesC8& aRelatedSoundFile ) = 0; 
williamr@2
   441
    	
williamr@2
   442
        /**
williamr@2
   443
        * Inserts/Updates given File Source in the Exif data.
williamr@2
   444
        * @since 2.6
williamr@2
   445
        * @param aFileSource Updated File Source data.
williamr@2
   446
        * @return void
williamr@2
   447
        */        
williamr@2
   448
        virtual void SetFileSourceL( TInt8 aFileSource ) = 0; 
williamr@2
   449
    	
williamr@2
   450
        /**
williamr@2
   451
        * Inserts/Updates given Digital Zoom Ratio in the Exif data.
williamr@2
   452
        * @since 2.6
williamr@2
   453
        * @param aDigitalZoomRatio1 Updated Digital Zoom Ratio numerator.
williamr@2
   454
        * @param aDigitalZoomRatio2 Updated Digital Zoom Ratio denominator.
williamr@2
   455
        * @return void
williamr@2
   456
        */        
williamr@2
   457
        virtual void SetDigitalZoomRatioL( 
williamr@2
   458
            TUint32 aDigitalZoomRatio1, 
williamr@2
   459
            TUint32 aDigitalZoomRatio2 ) = 0; 
williamr@2
   460
    	
williamr@2
   461
        /**
williamr@2
   462
        * Inserts/Updates given Contrast in the Exif data.
williamr@2
   463
        * @since 2.6
williamr@2
   464
        * @param aContrast Updated Contrast data.
williamr@2
   465
        * @return void
williamr@2
   466
        */        
williamr@2
   467
        virtual void SetContrastL( TUint16 aContrast ) = 0; 
williamr@2
   468
    	
williamr@2
   469
        /**
williamr@2
   470
        * Inserts/Updates given Saturation in the Exif data.
williamr@2
   471
        * @since 2.6
williamr@2
   472
        * @param aSaturation Updated Saturation data.
williamr@2
   473
        * @return void
williamr@2
   474
        */        
williamr@2
   475
        virtual void SetSaturationL( TUint16 aSaturation ) = 0; 
williamr@2
   476
    	
williamr@2
   477
        /**
williamr@2
   478
        * Inserts/Updates given Sharpness in the Exif data.
williamr@2
   479
        * @since 2.6
williamr@2
   480
        * @param aSharpness Updated Sharpness data.
williamr@2
   481
        * @return void
williamr@2
   482
        */        
williamr@2
   483
        virtual void SetSharpnessL( TUint16 aSharpness ) = 0; 
williamr@2
   484
williamr@2
   485
        /**
williamr@2
   486
        * Inserts/Updates given thumbnail X Resolution in the Exif data.
williamr@2
   487
        * @since 2.6
williamr@2
   488
        * @param aXResolution1 Updated thumbnail X Resolution numerator.
williamr@2
   489
        * @param aXResolution2 Updated thumbnail X Resolution denominator.
williamr@2
   490
        * @return void
williamr@2
   491
        */
williamr@2
   492
    	virtual void SetThumbnailXResolutionL( 
williamr@2
   493
            TUint32 aXResolution1, 
williamr@2
   494
            TUint32 aXResolution2 ) = 0;
williamr@2
   495
    	
williamr@2
   496
        /**
williamr@2
   497
        * Inserts/Updates given thumbnail Y Resolution in the Exif data.
williamr@2
   498
        * @since 2.6
williamr@2
   499
        * @param aYResolution1 Updated thumbnail Y Resolution numerator.
williamr@2
   500
        * @param aYResolution2 Updated thumbnail Y Resolution denominator.
williamr@2
   501
        * @return void
williamr@2
   502
        */
williamr@2
   503
        virtual void SetThumbnailYResolutionL( 
williamr@2
   504
            TUint32 aYResolution1, 
williamr@2
   505
            TUint32 aYResolution2 ) = 0;
williamr@2
   506
    	
williamr@2
   507
        /**
williamr@2
   508
        * Inserts/Updates given thumbnail Resolution Unit in the Exif data.
williamr@2
   509
        * @since 2.6
williamr@2
   510
        * @param aResolutionUnit Updated thumbnail Resolution Unit data.
williamr@2
   511
        * @return void
williamr@2
   512
        */        
williamr@2
   513
        virtual void SetThumbnailResolutionUnitL( TUint16 aResolutionUnit ) = 0;
williamr@2
   514
williamr@2
   515
        /**
williamr@2
   516
        * Inserts/Updates given Shutter Speed Value in the Exif data.
williamr@2
   517
        * @since 2.6
williamr@2
   518
        * @param aShutterSpeedValue1 Updated Shutter Speed Value numerator.
williamr@2
   519
        * @param aShutterSpeedValue2 Updated Shutter Speed Value denominator.
williamr@2
   520
        * @return void
williamr@2
   521
        */
williamr@2
   522
    	virtual void SetShutterSpeedValueL( 
williamr@2
   523
            TInt32 aShutterSpeedValue1, 
williamr@2
   524
            TInt32 aShutterSpeedValue2 ) = 0;
williamr@2
   525
williamr@2
   526
        /**
williamr@2
   527
        * Inserts/Updates given Brightness Value in the Exif data.
williamr@2
   528
        * @since 2.6
williamr@2
   529
        * @param aBrightnessValue1 Updated Brightness Value numerator.
williamr@2
   530
        * @param aBrightnessValue2 Updated Brightness Value denominator.
williamr@2
   531
        * @return void
williamr@2
   532
        */
williamr@2
   533
    	virtual void SetBrightnessValueL( 
williamr@2
   534
            TInt32 aBrightnessValue1, 
williamr@2
   535
            TInt32 aBrightnessValue2 ) = 0;
williamr@2
   536
williamr@2
   537
        /**
williamr@2
   538
        * Inserts/Updates given Custom Rendered in the Exif data.
williamr@2
   539
        * @since 2.6
williamr@2
   540
        * @param aCustomRendered Updated Custom Rendered data.
williamr@2
   541
        * @return void
williamr@2
   542
        */        
williamr@2
   543
        virtual void SetCustomRenderedL( TUint16 aCustomRendered ) = 0; 
williamr@2
   544
williamr@2
   545
        /**
williamr@2
   546
        * Inserts/Updates given Gain Control in the Exif data.
williamr@2
   547
        * @since 2.6
williamr@2
   548
        * @param aGainControl Updated Gain Control data.
williamr@2
   549
        * @return void
williamr@2
   550
        */        
williamr@2
   551
        virtual void SetGainControlL( TUint16 aGainControl ) = 0; 
williamr@2
   552
williamr@2
   553
    }; 
williamr@2
   554
williamr@2
   555
#endif // EXIFMODIFY_H
williamr@2
   556
williamr@2
   557
// End of File