S60 3rd Edition API Reference: exifmodify.h Source File

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 #start_since SINCE_3_1_SDK
00065         public:
00069             enum TExifModifyOption
00070             {
00071                 ENoOptions        = 0x0000,
00072                 ENoJpegParsing    = 0x0001  // No jpeg validity checking is done
00073             };
00074 #end_since SINCE_3_1_SDK
00075 
00076 
00077         public:  // Constructors and destructor
00078 
00082         IMPORT_C static CExifModify* NewL( 
00083             const TDesC8& aInData, 
00084             CExifModify::TOperationMode aOperationMode = EModify );
00085 
00086 #start_since SINCE_3_1_SDK
00087 
00090         IMPORT_C static CExifModify* NewL( 
00091             const TDesC8& aInData, 
00092             CExifModify::TOperationMode aOperationMode,
00093             TUint aExifModifyOption );
00094 #end_since SINCE_3_1_SDK
00095 
00096 
00100         IMPORT_C static CExifModify* NewL();
00101             
00105         virtual ~CExifModify();
00106 
00107         public: // New functions
00108         
00115         virtual const CExifRead* Reader() const = 0;
00116 
00126         virtual void SetTagL( 
00127             TExifIfdType aIfdType, 
00128             TExifTagInfo aExifTagInfo, 
00129             const TDesC8& aTagData ) = 0;
00130 
00139         virtual TInt DeleteTag( TExifIfdType aIfdType, TUint16 aTagId ) = 0;
00140 
00148         virtual TInt DeleteIfd( TExifIfdType aIfdType ) = 0;
00149 
00157         virtual void SetThumbnailL( const TDesC8& aThumbnailData ) = 0;
00158         
00165         virtual TInt RemoveThumbnail() = 0;
00166         
00175         virtual HBufC8* WriteDataL( const TDesC8& aInData ) = 0;
00176 
00183         virtual void SetImageDescriptionL( const TDesC8& aImageDescription ) = 0;
00184 
00191         virtual void SetMakeL( const TDesC8& aMake ) = 0; 
00192         
00199         virtual void SetModelL( const TDesC8& aModel ) = 0; 
00200         
00207         virtual void SetOrientationL( TUint16 aOrientation ) = 0; 
00208         
00216         virtual void SetXResolutionL( 
00217             TUint32 aXResolution1, 
00218             TUint32 aXResolution2 ) = 0; 
00219         
00227         virtual void SetYResolutionL( 
00228             TUint32 aYResolution1, 
00229             TUint32 aYResolution2 ) = 0; 
00230         
00237         virtual void SetResolutionUnitL( TUint16 aResolutionUnit ) = 0; 
00238         
00245         virtual void SetTransferFunctionL( 
00246             const TDesC8& aTransferFunction ) = 0; 
00247         
00254         virtual void SetDateTimeL( const TDesC8& aDateTime ) = 0; 
00255         
00262         virtual void SetYCbCrPositioningL( TUint16 aYCbCrPositioning) = 0; 
00263         
00270         virtual void SetSoftwareL( const TDesC8& aSoftware ) = 0; 
00271         
00278         virtual void SetCopyrightL( const TDesC8& aCopyright ) = 0;
00279 
00287         virtual void SetExposureTimeL( 
00288             TUint32 aExposureTime1, 
00289             TUint32 aExposureTime2 ) = 0;
00290 
00297         virtual void SetComponentsConfigurationL( 
00298             TUint8 aFirstComponent, TUint8 aSecondComponent, 
00299             TUint8 aThirdComponent, TUint8 aFourthComponent ) = 0; 
00300         
00307         virtual void SetFlashL( TUint16 aFlash ) = 0; 
00308         
00315         virtual void SetColorSpaceL( TUint16 aColorSpace ) = 0;
00316         
00323         virtual void SetPixelXDimensionL( TUint32 aPixelXDimension ) = 0;
00324         
00331         virtual void SetPixelYDimensionL( TUint32 aPixelYDimension ) = 0;
00332         
00339         virtual void SetExposureModeL( TUint16 aExposureMode ) = 0;
00340         
00347         virtual void SetWhiteBalanceL( TUint16 aWhiteBalance ) = 0; 
00348         
00355         virtual void SetSceneCaptureTypeL( TUint16 aSceneCaptureType ) = 0; 
00356         
00357         virtual void SetExposureProgramL( TUint16 aExposureProgram ) = 0; 
00364         
00371         virtual void SetIsoSpeedRatingsL( const TDesC8& aIsoSpeedRatings ) = 0; 
00372         
00379         virtual void SetDateTimeOriginalL( 
00380             const TDesC8& aDateTimeOriginal ) = 0;
00381         
00388         virtual void SetDateTimeDigitizedL( 
00389             const TDesC8& aDateTimeDigitized ) = 0;
00390         
00398         virtual void SetApertureValueL( 
00399             TUint32 aApertureValue1, 
00400             TUint32 aApertureValue2 ) = 0; 
00401         
00409         virtual void SetExposureBiasValueL( 
00410             TInt32 aExposureBiasValue1, 
00411             TInt32 aExposureBiasValue2 ) = 0;
00412         
00419         virtual void SetMeteringModeL( TUint16 aMeteringMode ) = 0; 
00420         
00427         virtual void SetLightSourceL( TUint16 aLightSource ) = 0; 
00428         
00435         virtual void SetMakerNoteL( const TDesC8& aMakerNote ) = 0; 
00436         
00443         virtual void SetUserCommentL( const TDesC8& aUserComment ) = 0;
00444         
00451         virtual void SetRelatedSoundFileL( 
00452             const TDesC8& aRelatedSoundFile ) = 0; 
00453         
00460         virtual void SetFileSourceL( TInt8 aFileSource ) = 0; 
00461         
00469         virtual void SetDigitalZoomRatioL( 
00470             TUint32 aDigitalZoomRatio1, 
00471             TUint32 aDigitalZoomRatio2 ) = 0; 
00472         
00479         virtual void SetContrastL( TUint16 aContrast ) = 0; 
00480         
00487         virtual void SetSaturationL( TUint16 aSaturation ) = 0; 
00488         
00495         virtual void SetSharpnessL( TUint16 aSharpness ) = 0; 
00496 
00504         virtual void SetThumbnailXResolutionL( 
00505             TUint32 aXResolution1, 
00506             TUint32 aXResolution2 ) = 0;
00507         
00515         virtual void SetThumbnailYResolutionL( 
00516             TUint32 aYResolution1, 
00517             TUint32 aYResolution2 ) = 0;
00518         
00525         virtual void SetThumbnailResolutionUnitL( TUint16 aResolutionUnit ) = 0;
00526 
00534         virtual void SetShutterSpeedValueL( 
00535             TInt32 aShutterSpeedValue1, 
00536             TInt32 aShutterSpeedValue2 ) = 0;
00537 
00545         virtual void SetBrightnessValueL( 
00546             TInt32 aBrightnessValue1, 
00547             TInt32 aBrightnessValue2 ) = 0;
00548 
00555         virtual void SetCustomRenderedL( TUint16 aCustomRendered ) = 0; 
00556 
00563         virtual void SetGainControlL( TUint16 aGainControl ) = 0; 
00564 
00565     }; 
00566 
00567 // EXIFMODIFY_H
00568 #endif
00569 
00570 // End of File

Copyright © Nokia Corporation 2001-2007
Back to top