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

exifread.h

Go to the documentation of this file.
00001 /*
00002 * ==============================================================================
00003 *  Name        : ExifRead.h
00004 *  Part of     : Exif Library
00005 *  Interface   : Public API
00006 *  Description : Exif file format parser ( reader ) 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 EXIFREAD_H
00022 #define EXIFREAD_H
00023 
00024 //  INCLUDES
00025 #include <e32base.h>
00026 
00027 // CONSTANTS
00028 
00029 // MACROS
00030 
00031 // DATA TYPES
00032 enum TExifIfdType
00033     {
00034         EIfd0 = 0,
00035         EIfdExif,
00036         EIfd1,
00037         EIfdGps,
00038         EIfdIntOp
00039     };
00040 
00041 
00042 // FUNCTION PROTOTYPES
00043 
00044 // FORWARD DECLARATIONS
00045 class CExifTag;
00046 
00047 // CLASS DECLARATION
00048 
00057 NONSHARABLE_CLASS( CExifRead ): public CBase
00058     {
00059 #start_since SINCE_3_1_SDK
00060 
00061     public:  // Enumerations
00065         enum TExifReadOption
00066         {
00067             ENoOptions        = 0x0000, // Original, safe full parsing
00068             ENoJpeg           = 0x0001, // No main JPEG included, no parsing for main image
00069             EFastJpegParsing  = 0x0002  // Fast JPEG marker parsing
00070         };
00071 #end_since SINCE_3_1_SDK
00072 
00073     public:  // Constructors and destructor
00074         
00078         IMPORT_C static CExifRead* NewL( const TDesC8& aExifData );
00079 
00080 #start_since SINCE_3_1_SDK
00081 
00084         IMPORT_C static CExifRead* NewL( const TDesC8& aExifData, TUint aExifReadOption );
00085 #end_since SINCE_3_1_SDK
00086         
00090         virtual ~CExifRead();
00091 
00092     public: // New functions
00093 
00102         virtual const CExifTag* GetTagL( 
00103             TExifIfdType aIfdType, 
00104             TUint16 aTagId ) const = 0;
00105 
00113         virtual TUint16* GetTagIdsL( 
00114             TExifIfdType aIfdType, 
00115             TInt& aNoTags ) const = 0;
00116 
00123         virtual TExifIfdType* GetIfdTypesL( TInt& aNoIfd ) const = 0;
00124 
00131         virtual HBufC8* GetThumbnailL() const = 0;
00132 
00140         virtual TBool IfdExists( TExifIfdType aIfdType ) const = 0;
00141 
00150         virtual TBool TagExists( 
00151             TUint16 aTagId, 
00152             TExifIfdType aIfdType ) const = 0;
00153 
00160         virtual HBufC8* GetImageDescriptionL() const = 0;
00161 
00167         virtual HBufC8* GetMakeL() const = 0;
00168         
00174         virtual HBufC8* GetModelL() const = 0;
00175         
00182         virtual HBufC8* GetTransferFunctionL() const = 0; 
00183         
00190         virtual HBufC8* GetDateTimeL() const = 0; 
00191         
00198         virtual HBufC8* GetSoftwareL() const = 0; 
00199         
00206         virtual HBufC8* GetCopyrightL() const = 0; 
00207 
00214         virtual TInt GetOrientation( TUint16& aOrientation ) const = 0;
00215         
00223         virtual TInt GetXResolution( 
00224             TUint32& aXResolution1, 
00225             TUint32& aXResolution2 ) const = 0;
00226         
00234         virtual TInt GetYResolution( 
00235             TUint32& aYResolution1, 
00236             TUint32& aYResolution2 ) const = 0;
00237         
00244         virtual TInt GetResolutionUnit( TUint16& aResolutionUnit ) const = 0; 
00245         
00252         virtual TInt GetYCbCrPositioning( 
00253             TUint16& aYCbCrPositioning ) const = 0; 
00254         
00261         virtual TInt GetExifIfdPointer( TUint32& aExifIfdPointer ) const = 0; 
00262         
00269         virtual TInt GetGpsInfoIfdPointer( 
00270             TUint32& aGpsInfoIfdPointer ) const = 0; 
00271 
00278         virtual HBufC8* GetIsoSpeedRatingsL() const = 0; 
00279         
00286         virtual HBufC8* GetDateTimeOriginalL() const = 0;
00287         
00294         virtual HBufC8* GetDateTimeDigitizedL() const = 0; 
00295 
00302         virtual HBufC8* GetMakerNoteL() const = 0; 
00303         
00310         virtual HBufC8* GetUserCommentL() const = 0; 
00311         
00318         virtual HBufC8* GetRelatedSoundFileL() const = 0; 
00319 
00326         virtual TInt GetExposureTime( 
00327             TUint32& aExposureTime1, 
00328             TUint32& aExposureTime2 ) const = 0; 
00329         
00337         virtual TInt GetComponentsConfiguration( 
00338             TUint8& aFirstComponent, TUint8& aSecondComponent,
00339             TUint8& aThirdComponent, TUint8& aFourthComponent) const = 0; 
00340         
00347         virtual TInt GetFlash( TUint16& aFlash ) const = 0; 
00348         
00355         virtual TInt GetColorSpace( TUint16& aColorSpace ) const = 0; 
00356         
00363         virtual TInt GetPixelXDimension( TUint32& aPixelXDimension ) const = 0; 
00364         
00371         virtual TInt GetPixelYDimension( TUint32& aPixelYDimension ) const = 0; 
00372         
00379         virtual TInt GetExposureMode( TUint16& aExposureMode ) const = 0; 
00380         
00387         virtual TInt GetWhiteBalance( TUint16& aWhiteBalance ) const = 0; 
00388         
00395         virtual TInt GetSceneCaptureType( 
00396             TUint16& aSceneCaptureType ) const = 0; 
00397         
00404         virtual TInt GetExposureProgram( TUint16& aExposureProgram ) const = 0;
00405         
00413         virtual TInt GetApertureValue( 
00414             TUint32& aApertureValue1, 
00415             TUint32& aApertureValue2 ) const = 0; 
00416         
00424         virtual TInt GetExposureBiasValue( 
00425             TInt32& aExposureBiasValue1, 
00426             TInt32& aExposureBiasValue2 ) const = 0; 
00427         
00434         virtual TInt GetMeteringMode( TUint16& aMeteringMode ) const = 0; 
00435         
00442         virtual TInt GetLightSource( TUint16& aLightSource ) const = 0; 
00443         
00450         virtual TInt GetFileSource( TInt8& aFileSource ) const = 0; 
00451         
00459         virtual TInt GetDigitalZoomRatio( 
00460             TUint32& aDigitalZoomRatio1, 
00461             TUint32& aDigitalZoomRatio2 ) const = 0; 
00462         
00469         virtual TInt GetContrast( TUint16& aContrast ) const = 0; 
00470         
00477         virtual TInt GetSaturation( TUint16& aSaturation ) const = 0; 
00478         
00485         virtual TInt GetSharpness( TUint16& aSharpness ) const = 0; 
00486         
00493         virtual TInt GetExifVersion( TUint32& aExifVersion ) const = 0; 
00494         
00501         virtual TInt GetFlashPixVersion( TUint32& aFlashPixVersion ) const = 0; 
00502         
00510         virtual TInt GetInteroperabilityIfdPointer( 
00511             TUint32& aInteroperabilityIfdPointer ) const = 0; 
00512 
00520         virtual TInt GetThumbnailXResolution( 
00521             TUint32& aXResolution1, 
00522             TUint32& aXResolution2 ) const = 0;
00523         
00531         virtual TInt GetThumbnailYResolution( 
00532             TUint32& aYResolution1, 
00533             TUint32& aYResolution2 ) const = 0;
00534         
00541         virtual TInt GetThumbnailResolutionUnit( 
00542             TUint16& aResolutionUnit ) const = 0;
00543         
00550         virtual TInt GetThumbnailCompression( TUint16& aCompression ) const = 0; 
00551         
00559         virtual TInt GetJpegInterchangeFormat( 
00560             TUint32& aJpegInterchangeFormat ) const = 0; 
00561         
00569         virtual TInt GetJpegInterchangeFormatLength( 
00570             TUint32& aJpegInterchangeFormatLength ) const = 0;
00571 
00577         virtual HBufC8* GetExifAppSegmentL() const = 0;
00578 
00586         virtual TInt GetShutterSpeedValue( TInt32& aShutterSpeedValue1, 
00587             TInt32& aShutterSpeedValue2 ) const = 0;
00588 
00596         virtual TInt GetBrightnessValue( TInt32& aBrightnessValue1, 
00597             TInt32& aBrightnessValue2 ) const = 0;
00598 
00605         virtual TInt GetCustomRendered( TUint16& aCustomRendered ) const = 0;
00606 
00613         virtual TInt GetGainControl( TUint16& aGainControl ) const = 0;
00614 
00621         virtual TInt GetGpsVersion( TUint32& aGpsVersion ) const = 0; 
00622     };
00623 
00624 // EXIFREAD_H   
00625 #endif
00626             
00627 // End of File

Copyright © Nokia Corporation 2001-2007
Back to top