diff -r 000000000000 -r a03f92240627 memspy/Console/Source/ConsoleDWOperation.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/memspy/Console/Source/ConsoleDWOperation.cpp Tue Feb 02 01:57:15 2010 +0200 @@ -0,0 +1,129 @@ +/* +* 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: +* +*/ + +#include "ConsoleDWOperation.h" + +// System includes +#include + + +CMemSpyDeviceWideOperationWaiter::CMemSpyDeviceWideOperationWaiter( CMemSpyEngine& aEngine ) +: iEngine( aEngine ) + { + } + + +CMemSpyDeviceWideOperationWaiter::~CMemSpyDeviceWideOperationWaiter() + { +#ifdef _DEBUG + RDebug::Printf("[MCon] CMemSpyDeviceWideOperationWaiter::~CMemSpyDeviceWideOperationWaiter() - START" ); +#endif + +#ifdef _DEBUG + RDebug::Printf("[MCon] CMemSpyDeviceWideOperationWaiter::~CMemSpyDeviceWideOperationWaiter() - deleting operation...: 0x%08x", iOperation ); +#endif + delete iOperation; + +#ifdef _DEBUG + RDebug::Printf("[MCon] CMemSpyDeviceWideOperationWaiter::~CMemSpyDeviceWideOperationWaiter() - deleting waiter...: 0x%08x", iWaiter ); +#endif + delete iWaiter; + +#ifdef _DEBUG + RDebug::Printf("[MCon] CMemSpyDeviceWideOperationWaiter::~CMemSpyDeviceWideOperationWaiter() - END" ); +#endif + } + + +void CMemSpyDeviceWideOperationWaiter::ExecuteL( CMemSpyDeviceWideOperations::TOperation aOperation ) + { +#ifdef _DEBUG + RDebug::Printf("[MCon] CMemSpyDeviceWideOperationWaiter::ExecuteL() - START" ); +#endif + + iWaiter = new(ELeave) CActiveSchedulerWait(); + iOperation = CMemSpyDeviceWideOperations::NewL( iEngine, *this, aOperation ); + +#ifdef _DEBUG + RDebug::Printf("[MCon] CMemSpyDeviceWideOperationWaiter::ExecuteL() - starting scheduler wait..." ); +#endif + + iWaiter->Start(); + +#ifdef _DEBUG + RDebug::Printf("[MCon] CMemSpyDeviceWideOperationWaiter::ExecuteL() - END" ); +#endif + } + +void CMemSpyDeviceWideOperationWaiter::ExecuteLD( CMemSpyEngine& aEngine, CMemSpyDeviceWideOperations::TOperation aOperation ) + { + CMemSpyDeviceWideOperationWaiter* self = new(ELeave) CMemSpyDeviceWideOperationWaiter( aEngine ); + CleanupStack::PushL( self ); + self->ExecuteL( aOperation ); + CleanupStack::PopAndDestroy( self ); + } + + +void CMemSpyDeviceWideOperationWaiter::StopWait() + { +#ifdef _DEBUG + RDebug::Printf("[MCon] CMemSpyDeviceWideOperationWaiter::StopWait() - START - iOperation: 0x%08x", iOperation ); +#endif + + if ( iWaiter->IsStarted() ) + { + iWaiter->AsyncStop(); + } + +#ifdef _DEBUG + RDebug::Printf("[MCon] CMemSpyDeviceWideOperationWaiter::StopWait() - END" ); +#endif + } + + +void CMemSpyDeviceWideOperationWaiter::HandleDeviceWideOperationEvent( TEvent aEvent, TInt aParam1, const TDesC& aParam2 ) + { +#ifdef _DEBUG + RDebug::Print( _L("[MCon] CMemSpyDeviceWideOperationWaiter::HandleDeviceWideOperationEvent() - START - aEvent: %d, aParam1: %d, aParam2: %S"), aEvent, aParam1, &aParam2 ); +#else + (void) aParam1; + (void) aParam2; +#endif + + switch( aEvent ) + { + case MMemSpyDeviceWideOperationsObserver::EOperationCompleted: + StopWait(); + break; + default: + case MMemSpyDeviceWideOperationsObserver::EOperationSized: + case MMemSpyDeviceWideOperationsObserver::EOperationStarting: + case MMemSpyDeviceWideOperationsObserver::EOperationProgressStart: + case MMemSpyDeviceWideOperationsObserver::EOperationProgressEnd: + case MMemSpyDeviceWideOperationsObserver::EOperationCancelled: + case MMemSpyDeviceWideOperationsObserver::EOperationCompleting: + break; + } + +#ifdef _DEBUG + RDebug::Print( _L("[MCon] CMemSpyDeviceWideOperationWaiter::HandleDeviceWideOperationEvent() - END - aEvent: %d, aParam1: %d, aParam2: %S"), aEvent, aParam1, &aParam2 ); +#endif + } + + + +