diff -r 95243422089a -r 491b3ed49290 filesystemuis/memscaneng/serverinc/mseng.h --- a/filesystemuis/memscaneng/serverinc/mseng.h Thu Aug 19 09:42:45 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,201 +0,0 @@ -/* -* Copyright (c) 2006 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: -* The actual "engine". -* -*/ - - -#ifndef CMSENG_H -#define CMSENG_H - - -// SYSTEM INCLUDES -#include -#include // descriptor arrays -#include // enum TDriveNumber -#include -#include // CResourceFile -#include // RResourceReader - - -// USER INCLUDES -#include "msenguihandler.h" - - -// FORWARD DECLARATIOS -class CMsengScanner; -class RFs; -class MMsengUIHandler; - - -// CONSTANTS - -// Resource file path -_LIT(KMsengRscFilePath,"Z:mseng.rsc"); - - -// DATA TYPES - -/** -* Type definition to handle arrays of integers -* more conveniently -*/ -typedef CArrayFixFlat CIntArray; - - -// CLASS DECLARATION - -/** -* The actual "engine". -* This is the class which the UI instantiates. -*/ -class CMseng :public CBase - { - public: // Constructors and destructor - /** - * Two-phased constructor. - * @param aUIHandler Reference to a class implementing MMsengUIHandler interface - */ - IMPORT_C static CMseng* NewL(MMsengUIHandler& aUIHandler); - /** - * Destructor. - */ - IMPORT_C ~CMseng(); - - public: // New functions - - /** - * Get the data groups. - * @return CDesCArray* containing the names of the data groups. - */ - IMPORT_C CDesCArray* DataGroupsL() const; - - /** - * Get the scan result. This array contains exacly one - * integer per data group. - * @return Array of integers. - */ - IMPORT_C CArrayFix* ScanResultL() const; - - /** - * Is there scanning going on? - * @return ETrue if there is scanning going on, otherwise EFalse. - */ - IMPORT_C TBool ScanInProgress() const; - - /** - * Get the amount of total and free space on a disk - * @param aTotal Amount of total space in bytes in substituted here. - * @param aFree Amount of free space in bytes in substituted here. - * @param aVolume Disk identifier, e.g. 'C' - */ - IMPORT_C void DiskInfoL(TInt64& aTotal, TInt64& aFree, const TDriveNumber aVolume) const; - - /** - * Get the amount of total and free RAM. - * @param aTotal Amount of total RAM in bytes in substituted here. - * @param aTotal Amount of free RAM in bytes in substituted here. - */ - IMPORT_C static void MemInfoL(TInt64& aTotal, TInt64& aFree); - - /** - * Start scanning memory. - * This means starting the actual work of the engine. Starts scanning, - * which runs until finished. - * - * The scanning is only supported for drives C and E, otherwise - * leave occurs with error KErrNotSupported. - * - * NOTE: the support for scanning E drive is not properly tested. - * It is assumed to have the same directory structure than in C. - * - * @param aDrive the drive to be scanned - */ - IMPORT_C void ScanL(TDriveNumber aDrive); - - /** - * Cancel ongoing scanning operation. - */ - IMPORT_C void Cancel(); - - /** - * Check whether internal drive. - * @param aDrv Drive to be checked. - * @return ETrue if internal drive, otherwise EFalse. - */ - static TBool IsInternalDrive( RFs& aFs, const TInt aDrv ); - - /** - * Check whether removable drive. - * @param aDrv Drive to be checked. - * @return ETrue if internal drive, otherwise EFalse. - */ - static TBool IsRemovableDrive( RFs& aFs, const TInt aDrv ); - - /** - * Check whether mass storage drive. - * @param aDrv Drive to be checked. - * @return ETrue if mass storage drive, otherwise EFalse. - */ - static TBool IsMassStorageDrive( RFs& aFs, const TInt aDrv ); - - private: - - /** - * C++ default constructor is prohibited. - */ - CMseng(MMsengUIHandler& aUIHandler); - - /** - * By default Symbian OS constructor is private. - * - * Initialize iResultArray by reading the the data group - * names from resource file and setting all result values to zero. - * Initialize iDataGroupUidArray and iDataGroupExtArray - * from resource file. - */ - void ConstructL(); - - - // Prohibit copy constructor if not deriving from CBase. - CMseng( const CMseng& ); - // Prohibit assigment operator if not deriving from CBase. - CMseng& operator= ( const CMseng& ); - - - private: // Data members - - MMsengUIHandler& iUIHandler; - CMsengScanner* iScanner; - - // Number of data groups - TInt iNumberOfDataGroups; - - // These arrays are needed to when calculating the result. - // They are indexed using values from enum TDataGroups. - // This creates the mapping between data groups and the - // UIDs and extensions belonging to a particular data group - CArrayPtrFlat* iDataGroupUidArray; - CArrayPtrFlat* iDataGroupExtArray; - - RFs iFsSession; - CResourceFile* iResFile; - mutable TInt64 iFreeMemory; - - }; - -#endif // CMSENG_H - -// End of File