camerauis/cameraapp/generic/common/inc/CamUtility.h
changeset 19 d9aefe59d544
parent 3 8b2d6d0384b0
child 21 fa6d9f75d6a6
child 28 3075d9b614e6
--- a/camerauis/cameraapp/generic/common/inc/CamUtility.h	Tue Feb 02 00:01:39 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,452 +0,0 @@
-/*
-* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Utility functions for the Camera Application*
-*/
-
-
-
-
-#ifndef CAMUTILITY_H
-#define CAMUTILITY_H
-
-//  INCLUDES
-#include <e32base.h>
-#include <CAknMemorySelectionSettingPage.h>
- 
-#include <bldvariant.hrh>
-#include "CamPSI.h"	// Product Specific Information
-#include "CamSettings.hrh"  // for TCamMediaStorage
-#include "CamSettingsInternal.hrh"
-#include "camlogging.h"
-#include "camconfigurationtypes.h"
-
-#ifndef CAMERAAPP_PLUGIN_BUILD
-#include "CamResourceIDs.h"
-#endif //CAMERAAPP_PLUGIN_BUILD
-
-#include <driveinfo.h>
-
-// CONSTANTS
-/* estimated average image sizes */
-const TInt KCamImageSize3MP = 750000; 
-const TInt KCamImageSize2MP = 475000;
-const TInt KCamImageSize1_3MP = 325000;
-const TInt KCamImageSize1MP = 90000;
-const TInt KCamImageSizeVGA = 56500;
-
-const TInt KCamLocationTrailStopped = 0;
-const TInt KCamLocationTrailNoValidData = 1;
-const TInt KCamLocationTrailSearchingDevice = 2;
-const TInt KCamLocationTrailGPSDataAvail = 3;
-
-// A multiple of the image size is kept as a buffer to ensure that a
-// complex last image can be captured
-const TInt KCamImageDataBufferMultiplier = 1;
-
-// Name of the server that takes foreground when charger is inserted
-_LIT( KAknCapServer, "akncapserver" );
-// Location data notification windows use this server.
-_LIT( KAknNotifyServer, "aknnfysrv"    );
-
-// Phonebook server
-_LIT( KPbkServer, "Pbk2ServerApp" );
-
-// DATA TYPES
-/**
-* Memory card status, as returned by MemoryCardStatus()
-*/
-enum TCamMemoryCardStatus
-    {
-    ECamMemoryCardNotInserted,
-    ECamMemoryCardLocked,
-    ECamMemoryCardInserted
-    };
-
-#ifndef CAMERAAPP_PLUGIN_BUILD
-#define ROID(resource_id)               (CamUtility::ResourceOrientationID(resource_id))
-
-// Capture tone resources
-_LIT( KCamCaptureTone1,      "z:\\system\\sounds\\digital\\cameraappCapture1.wav"  );
-_LIT( KCamCaptureTone2,      "z:\\system\\sounds\\digital\\cameraappCapture2.wav"  );
-_LIT( KCamCaptureTone3,      "z:\\system\\sounds\\digital\\cameraappCapture3.wav"  );
-_LIT( KCamCaptureTone4,      "z:\\system\\sounds\\digital\\cameraappCapture4.wav"  );
-_LIT( KCamBurstCaptureTone1,      "z:\\system\\sounds\\digital\\cameraappCaptureShort1.wav"  );
-_LIT( KCamBurstCaptureTone2,      "z:\\system\\sounds\\digital\\cameraappCaptureShort2.wav"  );
-_LIT( KCamBurstCaptureTone3,      "z:\\system\\sounds\\digital\\cameraappCaptureShort3.wav"  );
-_LIT( KCamBurstCaptureTone4,      "z:\\system\\sounds\\digital\\cameraappCaptureShort4.wav"  );
-_LIT( KCamVideoStartTone,    "z:\\system\\sounds\\digital\\cameraappStart.wav"     );
-_LIT( KCamVideoPauseTone,    "z:\\system\\sounds\\digital\\cameraappStop.wav"      );
-_LIT( KCamVideoStopTone,     "z:\\system\\sounds\\digital\\cameraappStop.wav"      );
-_LIT( KCamAutoFocusComplete, "z:\\system\\sounds\\digital\\cameraappFocusSucc.wav" );
-
-#endif //CAMERAAPP_PLUGIN_BUILD
-
-// CLASS DECLARATION
-
-/**
-* Application wide utility functions
-*
-*  @since 2.8
-*/
-
-class CamUtility
-    {
-    public : // New functions
-
-        /**
-        * Get free space in selected memory
-        * @since 2.8
-        * @param aMemory memory card or internal memory
-        * @param aCriticalLevel The critical threshold on the specified drive 
-        * @return free space in selected memory (in bytes)
-        */
-        static TInt64 MemoryFree( 
-                    DriveInfo::TDefaultDrives aMemory,
-                    TInt aCriticalLevel = 0 );
-
-        /**
-        * Returns the memory card status.
-        * @since 2.8
-        * @return the status.
-        */
-        static TCamMemoryCardStatus MemoryCardStatus();
-
-        /**
-        * Get drive number for memory card.
-        * @since 2.8
-        * @return drive number for memory card
-        */
-        static TInt MemoryCardDrive();
-
-        /**
-        * Get drive number for phone memory.
-        * @since 2.8
-        * @return drive number for phone memory
-        */
-        static TInt PhoneMemoryDrive();
-
-
-        /**
-        * Get drive number for mass storage memory.
-        * @since 3.2
-        * @return drive number for mass storage memory
-        */
-        static TInt MassMemoryDrive();
-    
-        /**
-        * Get drive type for a given drive number.
-        * @since 3.2
-        * @return DriveInfo::TDefaultDrives type for the drive number
-        */
-    	static TInt GetDriveTypeFromDriveNumber( TInt aDrive );
-
-        /**
-        * Map camera storage location to memory selection dialog storage location
-        * @param aStorage The camera storage location to map 
-        * @since 3.0
-        * @return the memory selection dialog's mapped memory storage location value
-        */
-        static TInt MapToSettingsListMemory( TInt aStorage );
-        
-        /**
-        * Map memory selection dialog storage location to camera storage location 
-        * @param aStorage The settings list memory location to map 
-        * @since 3.0
-        * @return the camera storage location mapped from the memory selection dialog's location value
-        */
-        static TInt MapFromSettingsListMemory( TInt aStorage );
-
-        /**
-        * Suggest a new unique filename 
-        * @since 2.8
-        * @param aFilePath (in/out) drive and path for file name 
-        *                     (must include trailing '\')
-        *                     On return contains the full path and
-        *                     generated file name with extension
-        * @param aFilename    (in/out) filename (without path or extension)
-        * @param aSuggestedNumeral number initially appended to the name to ensure
-        *                     uniqueness, the actual number used may be higher
-        * @param aExt         file extension (".jpg" or ".3gp")
-        */
-        static void GetUniqueNameL( TDes& aFilePath, 
-                         TDes& aFilename, 
-                         TInt aSuggestedNumeral,
-                         const TDesC& aExt );
-
-        /**
-        * Generate a image file name based on base name and counter.
-        * @since 2.8
-        * @param aCounter image counter [1...]
-        * @param aBaseName name base 
-        * @param aFilename descriptor to hold the generated file name.
-        *                  Does not include path or extension. Example:
-        *                  "Image(001)"
-        */
-        static void FormatFileName( TUint aCounter,
-                             const TDesC& aBaseName,
-                             TDes& aFilename );
-
-        /** 
-        * Checks if given filename contains illegal characters or
-        * is otherwise illegal.
-        * @since 2.8
-        * @param aFilename descriptor that holds file name to check.
-        */
-        static TBool CheckFileNameValidityL( const TDesC& aFilename );
-
-        /** 
-        * Generate a file name based on date and counter.
-        * @since 2.8
-        * @param aFilename descriptor to hold the generated file name.
-        *                  Does not include path or extension. Example:
-        *                  "240305(001)"
-        */
-        static void FormatDateFileNameL( TDes& aFilename );
-
-        /** 
-        * Format current date into given descriptor in a format
-        * suitable for file names.        
-        * @since 2.8
-        * @param aBuffer the buffer to receive the formatted date.
-        */
-        static void GetCurrentDateForNameBaseL( TDes& aBuffer );
-
-
-        /** 
-        * Return the path and filename of the application MBM file
-        * @since 2.8
-        * @param aResName Populated with path and filename of MBM file
-        */
-        static void ResourceFileName( TDes& aResName );
-
-		/**
-		* Return Product Specific Information in the form of a TInt
-		* @since 2.8
-		* @param aKey The enumeration key identifying the data required
-		* @param aValue A reference to TInt that will hold the data
-		* @return KErrNone if successful, KErrNotSupported if no valid data.
-		*/		
-		static TInt GetPsiInt( TCamPsiKey aKey, TInt& aValue );
-
-		/**
-		* Return Product Specific Information in the form of a TInt array
-		* @since 3.0
-		* @param aKey The enumeration key identifying the data required
-		* @param aValue A reference to a TInt array that will hold the data
-		* @return KErrNone if successful, KErrNotSupported if no valid data.
-		*/		
-		static TInt GetPsiIntArrayL( TCamPsiKey aKey, RArray<TInt>& aValue );
-        
-        /**
-		* Return Product Specific Information in the form of a TInt
-		* @since 2.8
-		* @param aKey The enumeration key identifying the data required
-		* @param aValue A reference to TInt that will hold the data
-		* @return KErrNone if successful, KErrNotSupported if no valid data.
-		*/		
-		static TInt GetCommonPsiInt( TCamPsiKey aKey, TInt& aValue );
-
-		/**
-		* Return Product Specific Information in the form of a TAny*
-		* @since 2.8
-		* @param aKey The enumeration key identifying the data required
-		* @param aValue A pointer to where the data should be copied to.
-		*        note, data is Mem::Copied, so sufficient space must be
-		*        available in the buffer passed in to "aValue"
-		* @return KErrNone if successful, KErrNotSupported if no valid data.
-		*/
-        static TInt GetPsiAnyL( TCamPsiKey aKey, TAny* aValue );
-
-		/**
-		* Return maximum size for an MMS message
-		* @since 2.8
-		* @return The maximum size
-		*/
-        static TInt MaxMmsSizeInBytesL();
-
-		/**
-		* Compares two strings.
-		* @since 2.8
-		* @param aFirst The first string.
-		* @param aSecond The second string
-        * @return ETrue if the strings are equivalent.
-		*/
-        static TBool CompareIgnoreCase( const TDesC& aFirst, 
-                                      const TDesC& aSecond );
-
-		/**
-		* Deletes a video clip.
-		* @since 2.8
-		* @param aFilename The filename of the video clip
-		*/
-        static void DeleteVideoL( const TDesC& aFilename );
-
-		/**
-		* Deletes an image.
-		* @since 2.8
-		* @param aFilename The filename of the image
-		*/
-        static void DeleteStillImageL( const TDesC& aFilename );
-
-		/**
-		* Returns the thumbnail path for an image.
-		* @since 2.8
-		* @param aImagePath The path of the image
-		* @param aThumbnailPath The path of the thumbnail image
-		*/
-        static void GetThumbnailPath( const TDesC& aImagePath, 
-                                            TDes& aThumbnailPath );
-
-		/**
-		* Renames a still image.
-		* @since 2.8
-		* @param aOldPath The old path of the image
-		* @param aNewName The new name of the image
-		* @param aNewPath Receives the new path of the image.
-		*/
-        static void RenameStillImageL( const TDesC& aOldPath,
-                                              const TDesC& aNewName,
-                                              TDes& aNewPath );
-
-		/**
-		* Takes a window group ID and a group name.  Checks to see if the
-        * window group referred to by the ID has a name containing the 
-        * window group name string.
-		* @since 3.0
-		* @param aWindowId ID of the window group
-		* @param aWindowGroupName Name to check for
-        * @return ETrue if ID matches name
-		*/
-        static TBool IdMatchesName( TInt aWindowId, const TDesC& aWindowGroupName );
-            
-		/**
-		* Returns the correct resource ID for the current orientation
-		* @since 3.0
-		* @param aDefaultResourceID The resource ID for the default orientation
-		* @return The new resource ID
-		*/
-		
-        static TInt ResourceOrientationID( TInt aDefaultResourceID );
-        
-        /**
-        * Map light sensitivity id to ISO rating value.
-        * 
-        */
-        static TInt MapLightSensitivity2IsoValueL( TCamLightSensitivityId aLightSensitivityId, RArray<TInt>& aSupportedValues );
-
-        /**
-        * Map UI sharpness setting id to Camera sharpness setting value.
-        *
-        */
-        static TInt MapSharpnessId2SharpnessValueL( TCamImageSharpnessId aSharpnessId );
-
-        /**
-        * Obtain resource id for specific video reoslution 
-        * (for primary camera)
-        * @since 3.0
-        * @param aResolution video reoslution
-        * @return resource id
-        */
-        static TInt MapVideoQualityToViewFinderRes( TCamVideoResolution aResolution );
-                                                   
-		/**
-		* Determines if the battery power is good
-		* @since 3.0
-		* @return ETrue if the battery is OK, and EFalse if it is 
-		*         low or almost empty
-		*/
-		static TBool IsBatteryPowerOK();
-
-		/**
-		* Determines if the battery power is empty
-		* @since 3.0
-		* @return ETrue if the battery is Empty 
-		*/
-		static TBool IsBatteryPowerEmpty();
-		        
-		/**
-		* Determines if the battery is being charged
-		* @since 3.0
-		* @return ETrue if the battery is charging
-		*/
-		static TBool IsBatteryCharging();
-
-        /**
-        * Determines if LocationTrail is started
-        * @return ETrue if LocationTrail is started
-        */
-        static TBool IsLocationAware();
-
-        /**
-        * Replaces original bitmap by bitmap with alpha channel.
-        * @since S60 5.0
-        * @param aBmp, bitmap 
-        * @param aMask, mask 
-        * @param aColor, Color used instead of white.  
-        */                                    
-        static void SetAlphaL( CFbsBitmap*& aBmp, CFbsBitmap*& aMask, 
-                               TRgb aColor = KRgbWhite );
-        
-    /**
-    * Determines if USB is active
-    * @return ETrue if USB is active
-    */
-    static TBool IsUsbActive();
-    
-    /**
-    * Determines if the device has a NHD display.
-    * This method is meant to be used with the layouts only
-    * @return ETrue if NHD (640 x 360) display
-    */
-    static TBool IsNhdDevice();
-
-    /**
-    * Determines device qwerty-mode state.
-    * This method is meant to be used with secondary camera.
-    * @return ETrue if qwerty keyboard is open
-    */
-    static TBool IsQwertyOpen(); 
-
-    /**
-    * Get layout rectangle for given resolution in given mode.
-    * @param aMode ECamControllerVideo or ECamControllerImage.
-    * @param aResolution Resolution enumeration from 
-    * CCamAppController::GetCurrentVideoResolution or
-    * CCamAppController::GetCurrentImageResolution depending 
-    * on the mode.
-    *                    
-    */
-    static TRect ViewfinderLayout( TCamCameraMode aMode,
-                                   TInt           aResolution );
-
-  private:
-                                   
-    /**
-    * Helper method for ViewfinderLayout.
-    */
-    static TAknWindowLineLayout ViewfinderLayoutTouch( TCamCameraMode aMode,
-                                                       TInt           aResolution );
-
-    /**
-    * Helper method for ViewfinderLayout.
-    */
-    static TAknWindowLineLayout ViewfinderLayoutNonTouch( TCamCameraMode aMode,
-                                                          TInt           aResolution );
-
-
-    };
-
-#endif      // CAMUTILITY_H 
-            
-// End of File