00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef EXIFMODIFY_H
00022 #define EXIFMODIFY_H
00023
00024
00025 #include <e32base.h>
00026 #include "ExifRead.h"
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037 class TExifTagInfo;
00038
00039
00040
00051 NONSHARABLE_CLASS( CExifModify ): public CBase
00052 {
00053 public:
00054
00058 enum TOperationMode
00059 {
00060 EModify = 0,
00061 ECreate
00062 };
00063
00064 public:
00065 enum TExifModifyOption
00066 {
00067 ENoOptions = 0x0000,
00068 ENoJpegParsing = 0x0001
00069 };
00070
00071
00072 public:
00073
00077 IMPORT_C static CExifModify* NewL(
00078 const TDesC8& aInData,
00079 CExifModify::TOperationMode aOperationMode = EModify );
00080
00081 IMPORT_C static CExifModify* NewL(
00082 const TDesC8& aInData,
00083 CExifModify::TOperationMode aOperationMode,
00084 TUint aExifModifyOption );
00085
00086
00090 IMPORT_C static CExifModify* NewL();
00091
00095 virtual ~CExifModify();
00096
00097 public:
00098
00105 virtual const CExifRead* Reader() const = 0;
00106
00116 virtual void SetTagL(
00117 TExifIfdType aIfdType,
00118 TExifTagInfo aExifTagInfo,
00119 const TDesC8& aTagData ) = 0;
00120
00129 virtual TInt DeleteTag( TExifIfdType aIfdType, TUint16 aTagId ) = 0;
00130
00138 virtual TInt DeleteIfd( TExifIfdType aIfdType ) = 0;
00139
00147 virtual void SetThumbnailL( const TDesC8& aThumbnailData ) = 0;
00148
00155 virtual TInt RemoveThumbnail() = 0;
00156
00165 virtual HBufC8* WriteDataL( const TDesC8& aInData ) = 0;
00166
00173 virtual void SetImageDescriptionL( const TDesC8& aImageDescription ) = 0;
00174
00181 virtual void SetMakeL( const TDesC8& aMake ) = 0;
00182
00189 virtual void SetModelL( const TDesC8& aModel ) = 0;
00190
00197 virtual void SetOrientationL( TUint16 aOrientation ) = 0;
00198
00206 virtual void SetXResolutionL(
00207 TUint32 aXResolution1,
00208 TUint32 aXResolution2 ) = 0;
00209
00217 virtual void SetYResolutionL(
00218 TUint32 aYResolution1,
00219 TUint32 aYResolution2 ) = 0;
00220
00227 virtual void SetResolutionUnitL( TUint16 aResolutionUnit ) = 0;
00228
00235 virtual void SetTransferFunctionL(
00236 const TDesC8& aTransferFunction ) = 0;
00237
00244 virtual void SetDateTimeL( const TDesC8& aDateTime ) = 0;
00245
00252 virtual void SetYCbCrPositioningL( TUint16 aYCbCrPositioning) = 0;
00253
00260 virtual void SetSoftwareL( const TDesC8& aSoftware ) = 0;
00261
00268 virtual void SetCopyrightL( const TDesC8& aCopyright ) = 0;
00269
00277 virtual void SetExposureTimeL(
00278 TUint32 aExposureTime1,
00279 TUint32 aExposureTime2 ) = 0;
00280
00287 virtual void SetComponentsConfigurationL(
00288 TUint8 aFirstComponent, TUint8 aSecondComponent,
00289 TUint8 aThirdComponent, TUint8 aFourthComponent ) = 0;
00290
00297 virtual void SetFlashL( TUint16 aFlash ) = 0;
00298
00305 virtual void SetColorSpaceL( TUint16 aColorSpace ) = 0;
00306
00313 virtual void SetPixelXDimensionL( TUint32 aPixelXDimension ) = 0;
00314
00321 virtual void SetPixelYDimensionL( TUint32 aPixelYDimension ) = 0;
00322
00329 virtual void SetExposureModeL( TUint16 aExposureMode ) = 0;
00330
00337 virtual void SetWhiteBalanceL( TUint16 aWhiteBalance ) = 0;
00338
00345 virtual void SetSceneCaptureTypeL( TUint16 aSceneCaptureType ) = 0;
00346
00347 virtual void SetExposureProgramL( TUint16 aExposureProgram ) = 0;
00354
00361 virtual void SetIsoSpeedRatingsL( const TDesC8& aIsoSpeedRatings ) = 0;
00362
00369 virtual void SetDateTimeOriginalL(
00370 const TDesC8& aDateTimeOriginal ) = 0;
00371
00378 virtual void SetDateTimeDigitizedL(
00379 const TDesC8& aDateTimeDigitized ) = 0;
00380
00388 virtual void SetApertureValueL(
00389 TUint32 aApertureValue1,
00390 TUint32 aApertureValue2 ) = 0;
00391
00399 virtual void SetExposureBiasValueL(
00400 TInt32 aExposureBiasValue1,
00401 TInt32 aExposureBiasValue2 ) = 0;
00402
00409 virtual void SetMeteringModeL( TUint16 aMeteringMode ) = 0;
00410
00417 virtual void SetLightSourceL( TUint16 aLightSource ) = 0;
00418
00425 virtual void SetMakerNoteL( const TDesC8& aMakerNote ) = 0;
00426
00433 virtual void SetUserCommentL( const TDesC8& aUserComment ) = 0;
00434
00441 virtual void SetRelatedSoundFileL(
00442 const TDesC8& aRelatedSoundFile ) = 0;
00443
00450 virtual void SetFileSourceL( TInt8 aFileSource ) = 0;
00451
00459 virtual void SetDigitalZoomRatioL(
00460 TUint32 aDigitalZoomRatio1,
00461 TUint32 aDigitalZoomRatio2 ) = 0;
00462
00469 virtual void SetContrastL( TUint16 aContrast ) = 0;
00470
00477 virtual void SetSaturationL( TUint16 aSaturation ) = 0;
00478
00485 virtual void SetSharpnessL( TUint16 aSharpness ) = 0;
00486
00494 virtual void SetThumbnailXResolutionL(
00495 TUint32 aXResolution1,
00496 TUint32 aXResolution2 ) = 0;
00497
00505 virtual void SetThumbnailYResolutionL(
00506 TUint32 aYResolution1,
00507 TUint32 aYResolution2 ) = 0;
00508
00515 virtual void SetThumbnailResolutionUnitL( TUint16 aResolutionUnit ) = 0;
00516
00524 virtual void SetShutterSpeedValueL(
00525 TInt32 aShutterSpeedValue1,
00526 TInt32 aShutterSpeedValue2 ) = 0;
00527
00535 virtual void SetBrightnessValueL(
00536 TInt32 aBrightnessValue1,
00537 TInt32 aBrightnessValue2 ) = 0;
00538
00545 virtual void SetCustomRenderedL( TUint16 aCustomRendered ) = 0;
00546
00553 virtual void SetGainControlL( TUint16 aGainControl ) = 0;
00554
00555 };
00556
00557
00558 #endif
00559
00560