exifmodify.h

Go to the documentation of this file.
00001 /*
00002 * ==============================================================================
00003 *  Name        : ExifModify.h
00004 *  Part of     : Exif Library
00005 *  Interface   : Public API
00006 *  Description : Exif file format creator/modifier class
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 #ifndef EXIFMODIFY_H
00022 #define EXIFMODIFY_H
00023 
00024 // INCLUDES
00025 #include <e32base.h>
00026 #include "ExifRead.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 
00051 NONSHARABLE_CLASS( CExifModify ): public CBase
00052     {
00053         public:  // Enumerations
00054 
00058         enum TOperationMode
00059             {
00060                 EModify = 0,
00061                 ECreate
00062             };
00063             
00064         public:
00065             enum TExifModifyOption
00066             {
00067                 ENoOptions        = 0x0000,
00068                 ENoJpegParsing    = 0x0001  // No jpeg validity checking is done
00069             };
00070 
00071 
00072         public:  // Constructors and destructor
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: // New functions
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 // EXIFMODIFY_H
00558 #endif
00559 
00560 // End of File

Copyright © Nokia Corporation 2001-2008
Back to top