--- /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 <e32base.h>
+
+// 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<TDriveUnit>& aDriveUnits,
+ const RArray<TInt64>& 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<TDriveUnit>& aDriveUnits,
+ const RArray<TInt64>& aDriveSpaces);
+
+ /**
+ * 2nd phase constructor.
+ */
+ void ConstructL();
+
+ private: // Data
+
+ TInt64 iSize;
+ const RArray<TDriveUnit>& iDriveUnits;
+ const RArray<TInt64>& iDriveSpaces;
+
+ TInt iInternalArrayIndex;
+ TInt iCardArrayIndex;
+
+ TChar iCardDriveLetter;
+
+ TInt64 iInternalFreeMemory;
+ TInt64 iCardFreeMemory;
+ };
+}
+}
+
+#endif // SWCOMMONUI_H
+
+// End of File