diff -r 000000000000 -r ba25891c3a9e appinstaller/AppinstUi/Plugin/CommonUI/Inc/CUIDriveUtils.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/appinstaller/AppinstUi/Plugin/CommonUI/Inc/CUIDriveUtils.h Thu Dec 17 08:51:10 2009 +0200 @@ -0,0 +1,155 @@ +/* +* Copyright (c) 2002-2004 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: This file contains the header file of the CCUIDriveUtils class +* +*/ + + +#ifndef CUIDRIVEUTILS_H +#define CUIDRIVEUTILS_H + +// INCLUDES +#include + +// FORWARD DECLARATIONS + +namespace SwiUI +{ +namespace CommonUI +{ + +/** +* This class provides functions to launch a common file selection dialog. +* @lib SWInstCommonUI.lib +* @since 3.0 +*/ +NONSHARABLE_CLASS(CCUIDriveUtils) : public CBase + { + public: // Constructors and destructor + + /** + * Two-phased constructor. + * @param aSize - Size of the package. + * @param aDriveUnits - Array of available drives as drive units. + * @param aDriveSpaces - Array of free space on each of the drives in the + * aDriveLetters array. + */ + static CCUIDriveUtils* NewL( TInt64 aSize, + const RArray& aDriveUnits, + const RArray& aDriveSpaces); + + /** + * Destructor. + */ + virtual ~CCUIDriveUtils(); + + + public: // New functions + + /** + * Show a drive selection dialog. + * @since 3.0 + * @param aSelectedDrive - Contains the drive letter that user selected. + * @return ETrue is user selected a drive, EFalse if user canceled the query. + */ + TBool ShowSelectionDialogL( TInt& aSelectedDrive ); + + /** + * Function to get info if internal drive is present (phone memory). + * @since 3.0 + * @return ETrue if yes, EFalse if no. + */ + TBool IsInternalDrivePresent() const; + + /** + * Function to get info if memory card is present. + * @since 3.0 + * @return ETrue if yes, EFalse if no. + */ + TBool IsCardDrivePresent() const; + + /** + * Get the free space on phone memory. + * @since 3.0 + * @return Free space on phone memory. + */ + TInt64 GetInternalDriveSpace() const; + + /** + * Get the free space on memory card. + * @since 3.0 + * @return Free space on memory card. + */ + TInt64 GetCardDriveSpace() const; + + /** + * Get the free space on drive. + * @since 3.0 + * @param aIndex - Drive index. + * @return Free space on memory card. + */ + TInt64 GetDriveSpace( TInt aIndex ) const; + + /** + * Get array index of the phone memory in the aDriveLetters array. + * @since 3.0 + * @return Array index of the phone memory. + */ + TInt GetInternalDriveIndex() const; + + /** + * Get array index of the memory card in the aDriveLetters array. + * @since 3.0 + * @return Array index of the memory card. + */ + TInt GetCardDriveIndex() const; + + private: + + /** + * Constructor. + * @param aSize - Size of the package. + * @param aDriveUnits - Array of available drives as drive units. + * @param aDriveSpaces - Array of free space on each of the drives in the + * aDriveLetters array. + */ + CCUIDriveUtils( TInt64 aSize, + const RArray& aDriveUnits, + const RArray& aDriveSpaces); + + /** + * 2nd phase constructor. + */ + void ConstructL(); + + private: // Data + + TInt64 iSize; + const RArray& iDriveUnits; + const RArray& iDriveSpaces; + + TInt iInternalArrayIndex; + TInt iCardArrayIndex; + + TChar iCardDriveLetter; + + TInt64 iInternalFreeMemory; + TInt64 iCardFreeMemory; + }; +} +} + +#endif // SWCOMMONUI_H + +// End of File