qtinternetradio/irqdiskspacewatcher/src/irqdiskspaceobserver.cpp
changeset 3 ee64f059b8e1
parent 2 2e1adbfc62af
child 4 3f2d53f144fe
child 5 0930554dc389
--- a/qtinternetradio/irqdiskspacewatcher/src/irqdiskspaceobserver.cpp	Mon May 03 12:25:23 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,179 +0,0 @@
-/*
-* Copyright (c) 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:  Contains logic for watching certain disk's space
-*
-*/
-#include <pathinfo.h>
-#include "irqdiskspaceobserver.h"
-#include "irqdiskspaceobserverinterface.h"
-
-const TDriveNumber KQtIRDefaultDrive = EDriveC;
-
-const TUint KDriveAValue = 'A';
-const TUint KDriveZValue = 'Z';
-const TUint KDriveaValue = 'a';
-const TUint KDrivezValue = 'z';
-
-static TDriveNumber phoneMemRootDrive();
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-IRQDiskSpaceObserver* IRQDiskSpaceObserver::NewL(MIRQDiskSpaceObserver* aObserver)
-{
-    IRQDiskSpaceObserver* self = new (ELeave) IRQDiskSpaceObserver(aObserver);
-
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop(self);
-    return self;
-    
-}
-
-// ---------------------------------------------------------------------------
-// Second stage constructor
-// ---------------------------------------------------------------------------
-//
-void IRQDiskSpaceObserver::ConstructL()
-{
-    CActiveScheduler::Add(this);
-    User::LeaveIfError(iFs.Connect());
-}
-
-// ---------------------------------------------------------------------------
-// C++ Constructor
-// ---------------------------------------------------------------------------
-//
-IRQDiskSpaceObserver::IRQDiskSpaceObserver( MIRQDiskSpaceObserver* aObserver )
-                              : CActive( CActive::EPriorityStandard ),       
-                                iObserver( aObserver ),
-                                iCriticalLevel(0)
-{
-}
-            
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//            
-IRQDiskSpaceObserver::~IRQDiskSpaceObserver()
-{
-    Cancel();
-    iFs.Close();    
-}
-
-// ---------------------------------------------------------------------------
-// Critical Level
-// ---------------------------------------------------------------------------
-//
-TInt64 IRQDiskSpaceObserver::criticalLevel() const
-{
-    if(IsActive())
-    {
-        return iCriticalLevel;
-    }
-    else
-    {
-        return -1;
-    }    
-}
-
-// ---------------------------------------------------------------------------
-// Start Monitoring
-// ---------------------------------------------------------------------------
-//
-void IRQDiskSpaceObserver::start(const TInt64 aCriticalLevel)
-{
-    Cancel();
-    iCriticalLevel = aCriticalLevel;
-    run();
-}
-
-
-// ---------------------------------------------------------------------------
-// From class CActive. 
-// Cancels the pending request.
-// ---------------------------------------------------------------------------
-//
-void IRQDiskSpaceObserver::DoCancel() 
-{    
-    iFs.NotifyDiskSpaceCancel(iStatus);
-}
-
-
-// ---------------------------------------------------------------------------
-// From class CActive. 
-// Invoked when the observed disk's free disk space has run below
-// the supplied critical level.
-// Notifies the observer and regenerates the request to RFs' NotifyDiskSpace.
-// ---------------------------------------------------------------------------
-//
-void IRQDiskSpaceObserver::RunL()
-{       
-    run();   
-}
-    
-
-// ---------------------------------------------------------------------------
-// Returns true if below the critical level in defined disk, otherwise false
-// ---------------------------------------------------------------------------
-//
-bool IRQDiskSpaceObserver::isBelowCriticalLevel(const TInt64 aCriticalLevel) const
-{
-    TVolumeInfo volInfo;
-    if(KErrNone == iFs.Volume(volInfo, KQtIRDefaultDrive))
-    {
-        if(volInfo.iFree < aCriticalLevel)
-        {
-            return true;
-        }
-    }
-    
-    return false;
-}
-
-void IRQDiskSpaceObserver::run()
-{
-    if( iObserver && isBelowCriticalLevel(iCriticalLevel))
-    {
-        iObserver->notifyLowDiskSpace((qint64)iCriticalLevel);
-    }
-        
-    iFs.NotifyDiskSpace(iCriticalLevel, phoneMemRootDrive(), iStatus);
-    SetActive(); 
-}
-
-TDriveNumber phoneMemRootDrive()
-{
-    TParsePtrC phoneMemoryRootPath( PathInfo::PhoneMemoryRootPath() );
-    TPtrC drive( phoneMemoryRootPath.Drive() );
-    TUint driveValue = drive[0];
-    TUint delta = 0;
-    if( driveValue >= KDriveAValue &&
-        driveValue <= KDriveZValue)
-    {
-        delta = driveValue - KDriveAValue;
-    }
-    else if( driveValue >= KDriveaValue &&
-            driveValue <= KDrivezValue)
-    {
-        delta = driveValue - KDriveaValue;
-    }
-    else
-    {
-        return KQtIRDefaultDrive;
-    }
-    
-    return static_cast<TDriveNumber>(EDriveA + delta);
-}