--- /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 <e32base.h>
+#include <MuiuMsvUiServiceUtilities.h> // 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
+