diff -r 000000000000 -r 4e1aa6a622a0 sysstatemgmt/systemstatereferenceplugins/test/tclayer/src/ssmcmnwrapper.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/systemstatereferenceplugins/test/tclayer/src/ssmcmnwrapper.cpp Tue Feb 02 00:53:00 2010 +0200 @@ -0,0 +1,281 @@ +// Copyright (c) 2008-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 wrapper helper functions for test code to control the test wrappers +// TSsmStateTransition, TSsmState and RSsmStateManager wrapper methods +// +// + +/** + @file + @test + @internalComponent - Internal Symbian test code +*/ + +#include +#include + +#include "ssmcmnwrapper.h" + +/* + * RSsmStateManager test wrapper functions + */ + +TInt RSsmStateManager::Connect() + { + TInt ret = SsmCmnWrapper::SsmStateManagerNextConnectReturn(); + if (ret == KErrNone) + { + // Will return success so need to connect the session + // Use an RMutex as the handle to ensure that we are wrapping any uses of the handle + // i.e. attempting to SendAndReceive() on an RMutex will panic + RMutex tempMutex; + ret = tempMutex.CreateLocal(); + if(ret != KErrNone) + { + // return the error, the test will fail as it's an unexpected result + } + else + { + // Transfer ownership of tempMutex's handle to this RSsmStateManager + SetHandle(tempMutex.Handle()); + // Set the test framework value + SsmCmnWrapper::SetSsmStateManagerHandle(tempMutex.Handle()); + } + // Don't close tempMutex before retuning as RSsmStateManager now owns the handle + } + return ret; + } + +TInt RSsmStateManager::RequestStateTransition(TSsmStateTransition aTransition) + { + TInt ret = SsmCmnWrapper::GetSsmStateManagerNextStateRequestReturn(); + if(ret == KErrNone) + { + SsmCmnWrapper::SetLastStateTransition(aTransition); + } + return ret; + } + +TInt RSsmStateManager::RequestSwpChange(TSsmSwp aSwp) + { + TInt ret = SsmCmnWrapper::GetSsmStateManagerNextSwpRequestReturn(); + if(ret == KErrNone) + { + SsmCmnWrapper::SetLastSwpTransition(aSwp); + } + return ret; + } + +/** + * Sets the value that should be returned by RSsmStateManager::Connect() + * + * @test + * @internalComponent + */ +void SsmCmnWrapper::SetSsmStateManagerNextConnectReturn(TInt aRet) + { + iSsmStateManagerNextConnectReturn = aRet; + } + +/** + * Gets the value that should be returned by RSsmStateManager::Connect() + * + * @test + * @internalComponent + */ +TInt SsmCmnWrapper::SsmStateManagerNextConnectReturn() + { + return iSsmStateManagerNextConnectReturn; + } + +/** + * Sets the value of the test handle for RSsmStateManager + * + * @test + * @internalComponent + */ +void SsmCmnWrapper::SetSsmStateManagerHandle(TInt aHandle) + { + iSsmStateManagerHandle = aHandle; + } + + +/** + * Gets the value of the test handle for RSsmStateManager + * + * @test + * @internalComponent + */ +TInt SsmCmnWrapper::SsmStateManagerHandle() + { + return iSsmStateManagerHandle; + } + +/** + * Gets the value that should be returned by RSsmStateManager::RequestStateTransition() + * + * @test + * @internalComponent + */ +TInt SsmCmnWrapper::GetSsmStateManagerNextStateRequestReturn() + { + return iSsmStateManagerNextRequestReturn; + } + +/** + * Sets the value that should be returned by RSsmStateManager::RequestStateTransition() + * + * @test + * @internalComponent + */ +void SsmCmnWrapper::SetSsmStateManagerNextStateRequestReturn(TInt aRet) + { + iSsmStateManagerNextRequestReturn = aRet; + } + +/** + * Sets the value of the last state transition for the test handle for RSsmStateManager + * + * @test + * @internalComponent + */ +void SsmCmnWrapper::SetLastStateTransition(TSsmStateTransition& aTransition) + { + iSsmStateManagerStateTransition = aTransition; + } + +/** + * Gets the last main state value request of the test handle for RSsmStateManager + * + * @test + * @internalComponent + */ +TUint16 SsmCmnWrapper::GetLastMainStateRequest() + { + return iSsmStateManagerStateTransition.State().MainState(); + } + +/** + * Gets the last sub state value request of the test handle for RSsmStateManager + * + * @test + * @internalComponent + */ +TUint16 SsmCmnWrapper::GetLastSubStateRequest() + { + return iSsmStateManagerStateTransition.State().SubState(); + } + +/** + * Gets the last reason value request of the test handle for RSsmStateManager + * + * @test + * @internalComponent + */ +TInt SsmCmnWrapper::GetLastReasonRequest() + { + return iSsmStateManagerStateTransition.Reason(); + } + +/** + * Gets the return value for the next SWP transition requested + * + * @test + * @internalComponent + */ +TInt SsmCmnWrapper::GetSsmStateManagerNextSwpRequestReturn() + { + return iSsmStateManagerNextSwpRequestReturn; + } + +/** + * Sets the return value for the next SWP transition requested + * + * @test + * @internalComponent + */ +void SsmCmnWrapper::SetSsmStateManagerNextSwpRequestReturn(TInt aRet) + { + iSsmStateManagerNextSwpRequestReturn = aRet; + } + +/** + * Sets the last SWP transition requested + * + * @test + * @internalComponent + */ +void SsmCmnWrapper::SetLastSwpTransition(TSsmSwp& aSwp) + { + iSsmStateManagerSwpTransition = aSwp; + } + +/** + * Gets the last SWP transition requested + * + * @test + * @internalComponent + */ +TSsmSwp SsmCmnWrapper::GetLastSwpTransition() + { + return iSsmStateManagerSwpTransition; + } + +/** + * Holds the value to be returned by calls to RSsmStateManager::RequestSwpTransition() + * + * @test + * @internalComponent + */ +TInt SsmCmnWrapper::iSsmStateManagerNextSwpRequestReturn = KErrNone; + +/** + * Holds the value used in the last SWP transition request + * + * @test + * @internalComponent + */ +TSsmSwp SsmCmnWrapper::iSsmStateManagerSwpTransition(0,0); + +/** + * Holds the value to be returned by calls to RSsmStateManager::Connect() + * + * @test + * @internalComponent + */ +TInt SsmCmnWrapper::iSsmStateManagerNextConnectReturn = KErrNone; + +/** + * Holds the value of the test handle for RSsmStateManager + * + * @test + * @internalComponent + */ +TInt SsmCmnWrapper::iSsmStateManagerHandle = KNullHandle; + +/** + * Holds the value of the last transition requested + * + * @test + * @internalComponent + */ +TSsmStateTransition SsmCmnWrapper::iSsmStateManagerStateTransition; + +/** + * Holds the value to be returned by calls to RSsmStateManager::RequestStateTransition() + * + * @test + * @internalComponent + */ +TInt SsmCmnWrapper::iSsmStateManagerNextRequestReturn = KErrNone;