diff -r 000000000000 -r 72b543305e3a email/imum/Mtms/Src/ImumDiskSpaceObserver.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/email/imum/Mtms/Src/ImumDiskSpaceObserver.cpp Thu Dec 17 08:44:11 2009 +0200 @@ -0,0 +1,166 @@ +/* +* 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: ImumDiskSpaceObserver.cpp +* +*/ + + +// INCLUDE FILES +#include +#include // Muiu Utilities + +#include "ImumDiskSpaceObserver.h" +#include "ImumMtmLogging.h" + +// EXTERNAL DATA STRUCTURES +// EXTERNAL FUNCTION PROTOTYPES +// CONSTANTS +// MACROS +// LOCAL CONSTANTS AND MACROS +// MODULE DATA STRUCTURES +// LOCAL FUNCTION PROTOTYPES +// FORWARD DECLARATIONS + +// ============================ MEMBER FUNCTIONS =============================== + +// ---------------------------------------------------------------------------- +// CImumDiskSpaceObserver::CImumDiskSpaceObserver() +// ---------------------------------------------------------------------------- +// +CImumDiskSpaceObserver::CImumDiskSpaceObserver( + MImumDiskSpaceObserver& aObserver, + RFs& aFileSession ) + : + CActive( CActive::EPriorityStandard ), + iDiskObserver( aObserver ), + iFileSession( aFileSession ) + { + IMUM_CONTEXT( CImumDiskSpaceObserver::CImumDiskSpaceObserver, 0, KImumMtmLog ); + IMUM_IN(); + IMUM_OUT(); + + } + +// ---------------------------------------------------------------------------- +// CImumDiskSpaceObserver::~CImumDiskSpaceObserver() +// ---------------------------------------------------------------------------- +// +CImumDiskSpaceObserver::~CImumDiskSpaceObserver() + { + IMUM_CONTEXT( CImumDiskSpaceObserver::~CImumDiskSpaceObserver, 0, KImumMtmLog ); + IMUM_IN(); + + Cancel(); + IMUM_OUT(); + } + +// ---------------------------------------------------------------------------- +// CImumDiskSpaceObserver::ConstructL() +// ---------------------------------------------------------------------------- +// +void CImumDiskSpaceObserver::ConstructL() + { + IMUM_CONTEXT( CImumDiskSpaceObserver::ConstructL, 0, KImumMtmLog ); + IMUM_IN(); + + CActiveScheduler::Add( this ); + IMUM_OUT(); + } + +// ---------------------------------------------------------------------------- +// CImumDiskSpaceObserver::NewL() +// ---------------------------------------------------------------------------- +// +CImumDiskSpaceObserver* CImumDiskSpaceObserver::NewL( + MImumDiskSpaceObserver& aObserver, + RFs& aFileSession ) + { + IMUM_STATIC_CONTEXT( CImumDiskSpaceObserver::NewL, 0, mtm, KImumMtmLog ); + IMUM_IN(); + + CImumDiskSpaceObserver* self = NewLC( aObserver, aFileSession ); + CleanupStack::Pop( self ); + IMUM_OUT(); + + return self; + } + +// ---------------------------------------------------------------------------- +// CImumDiskSpaceObserver::NewLC() +// ---------------------------------------------------------------------------- +// +CImumDiskSpaceObserver* CImumDiskSpaceObserver::NewLC( + MImumDiskSpaceObserver& aObserver, + RFs& aFileSession ) + { + IMUM_STATIC_CONTEXT( CImumDiskSpaceObserver::NewLC, 0, mtm, KImumMtmLog ); + IMUM_IN(); + + CImumDiskSpaceObserver* self = + new ( ELeave ) CImumDiskSpaceObserver( aObserver, aFileSession ); + CleanupStack::PushL( self ); + self->ConstructL(); + IMUM_OUT(); + + return self; + } + +// ---------------------------------------------------------------------------- +// CImumDiskSpaceObserver::DoCancel() +// ---------------------------------------------------------------------------- +// +void CImumDiskSpaceObserver::DoCancel() + { + IMUM_CONTEXT( CImumDiskSpaceObserver::DoCancel, 0, KImumMtmLog ); + IMUM_IN(); + + // Cancel notifications + iFileSession.NotifyDiskSpaceCancel( iStatus ); + IMUM_OUT(); + } + +// ---------------------------------------------------------------------------- +// CImumDiskSpaceObserver::RunL() +// ---------------------------------------------------------------------------- +// +void CImumDiskSpaceObserver::RunL() + { + IMUM_CONTEXT( CImumDiskSpaceObserver::RunL, 0, KImumMtmLog ); + IMUM_IN(); + + iDiskObserver.HandleDiskSpaceEvent(); + IMUM_OUT(); + } + +// ---------------------------------------------------------------------------- +// CImumDiskSpaceObserver::NotifyDiskSpace() +// ---------------------------------------------------------------------------- +// +void CImumDiskSpaceObserver::NotifyDiskSpace( + const TInt64 aThreshold, + const TInt aDrive ) + { + IMUM_CONTEXT( CImumDiskSpaceObserver::NotifyDiskSpace, 0, KImumMtmLog ); + IMUM_IN(); + + if ( !IsActive() ) + { + iFileSession.NotifyDiskSpace( aThreshold, aDrive, iStatus ); + SetActive(); + } + IMUM_OUT(); + } + +// End of File +