diff -r 000000000000 -r 4e1aa6a622a0 resourcemgmt/hwresourcesmgr/server/src/HWRMServerActiveScheduler.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/resourcemgmt/hwresourcesmgr/server/src/HWRMServerActiveScheduler.cpp Tue Feb 02 00:53:00 2010 +0200 @@ -0,0 +1,134 @@ +// Copyright (c) 2006-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 FILES +#include "HWRMServerActiveScheduler.h" +#include "HWRMtrace.h" + + +// EXTERNAL DATA STRUCTURES + +// EXTERNAL FUNCTION PROTOTYPES + +// CONSTANTS + +// MACROS + +// LOCAL CONSTANTS AND MACROS +_LIT( KPanicCategory, "HWRMActiveSched" ); + +// MODULE DATA STRUCTURES + +// LOCAL FUNCTION PROTOTYPES + +// FORWARD DECLARATIONS + + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CHWRMServerActiveScheduler::CHWRMServerActiveScheduler +// C++ default constructor +// ----------------------------------------------------------------------------- +// +CHWRMServerActiveScheduler::CHWRMServerActiveScheduler() + : CActiveScheduler() + { + COMPONENT_TRACE1(_L( "HWRM Server - CHWRMServerActiveScheduler::CHWRMServerActiveScheduler()" )); + COMPONENT_TRACE1(_L( "HWRM Server - CHWRMServerActiveScheduler::CHWRMServerActiveScheduler - return" ) ); + } + +// ----------------------------------------------------------------------------- +// CHWRMServerActiveScheduler::NewL +// Public constructor. Leaves if out of memory. +// ----------------------------------------------------------------------------- +// +CHWRMServerActiveScheduler* CHWRMServerActiveScheduler::NewL() + { + COMPONENT_TRACE1(_L( "HWRM Server - CHWRMServerActiveScheduler::NewL()" )); + + CHWRMServerActiveScheduler* scheduler = NewLC(); + + CleanupStack::Pop(scheduler); + + COMPONENT_TRACE2(_L( "HWRM Server - CHWRMServerActiveScheduler::NewL - return 0x%x" ), scheduler ); + + return scheduler; + } + +// ----------------------------------------------------------------------------- +// CHWRMServerActiveScheduler::NewLC +// Public constructor. Leaves if out of memory. Pushes object to cleanup stack. +// ----------------------------------------------------------------------------- +// +CHWRMServerActiveScheduler* CHWRMServerActiveScheduler::NewLC() + { + COMPONENT_TRACE1(_L( "HWRM Server - CHWRMServerActiveScheduler::NewLC()" )); + + CHWRMServerActiveScheduler* scheduler = + new(ELeave) CHWRMServerActiveScheduler; + + CleanupStack::PushL( scheduler ); + + COMPONENT_TRACE2(_L( "HWRM Server - CHWRMServerActiveScheduler::NewLC - return 0x%x" ), scheduler ); + + return scheduler; + } + + +// Destructor +CHWRMServerActiveScheduler::~CHWRMServerActiveScheduler() + { + COMPONENT_TRACE1(_L( "HWRM Server - CHWRMServerActiveScheduler::~CHWRMServerActiveScheduler()" )); + COMPONENT_TRACE1(_L( "HWRM Server - CHWRMServerActiveScheduler::~CHWRMServerActiveScheduler - return" ) ); + } + +// ----------------------------------------------------------------------------- +// CHWRMServerActiveScheduler::Error +// Calls Panic function if occurred error is severe enough +// However, the execution should never come here unless the plugin +// implementation doesn't TRAP all leaves it should. +// ----------------------------------------------------------------------------- +// +void CHWRMServerActiveScheduler::Error( TInt aError ) const + { + COMPONENT_TRACE2(_L( "HWRM Server - CHWRMServerActiveScheduler::Error(%d)" ), aError ); + + switch ( aError ) + { + case KErrNoMemory: + { + // Recoverable, so ignore because we don't have anything to cleanup + COMPONENT_TRACE1(_L( "HWRM Server - CHWRMServerActiveScheduler::Error : KErrNoMemory" ) ); + break; + } + default: + { + // Unrecoverable error for this thread. Panicing needed! + COMPONENT_TRACE2(_L( "HWRM Server - CHWRMServerActiveScheduler::Error - Unrecoverable error: %d" ), aError ); + User::Panic( KPanicCategory, aError ); + break; + } + } + + COMPONENT_TRACE1(_L( "HWRM Server - CHWRMServerActiveScheduler::Error - return" )); + } + +// ========================== OTHER EXPORTED FUNCTIONS ========================= + +// End of File