# HG changeset patch # User William Roberts # Date 1279813541 -3600 # Node ID 00076e39386ffb8d0be546a9d898a9179a227e0e # Parent 61516c5786afa2de6748c73b005acc1903312eb0# Parent c6215323ad55a85fa9c587eab1e5ec4f9a6229bf Catchup to latest Symbian^4 diff -r 61516c5786af -r 00076e39386f accessoryservices/accessoryserver/group/AccServer.mmp --- a/accessoryservices/accessoryserver/group/AccServer.mmp Wed Jun 23 22:58:50 2010 +0100 +++ b/accessoryservices/accessoryserver/group/AccServer.mmp Thu Jul 22 16:45:41 2010 +0100 @@ -59,7 +59,6 @@ USERINCLUDE ../inc/Common USERINCLUDE ../inc/Server -USERINCLUDE ../inc/ChargerContext // System include macro Starter P&S keys OS_LAYER_SYSTEMINCLUDE @@ -77,7 +76,6 @@ LIBRARY hwrmlightclient.lib // Used by accessory settings. LIBRARY efsrv.lib // Used by accessory settings LIBRARY accpolicydb.lib -LIBRARY accchargercontext.lib #ifdef RD_TSP_CLIENT_MAPPER LIBRARY tspclientmapper.lib #endif // RD_TSP_CLIENT_MAPPER diff -r 61516c5786af -r 00076e39386f accessoryservices/accessoryserver/group/bld.inf --- a/accessoryservices/accessoryserver/group/bld.inf Wed Jun 23 22:58:50 2010 +0100 +++ b/accessoryservices/accessoryserver/group/bld.inf Thu Jul 22 16:45:41 2010 +0100 @@ -54,7 +54,6 @@ AccAudioControl.mmp ASYComms.mmp ASYProxy.mmp -AccChargerContext.mmp accpolaudiodevicetopology.mmp // End of File diff -r 61516c5786af -r 00076e39386f accessoryservices/accessoryserver/inc/Server/AccSrvConnectionController.h --- a/accessoryservices/accessoryserver/inc/Server/AccSrvConnectionController.h Wed Jun 23 22:58:50 2010 +0100 +++ b/accessoryservices/accessoryserver/inc/Server/AccSrvConnectionController.h Thu Jul 22 16:45:41 2010 +0100 @@ -43,7 +43,6 @@ class CAccSrvASYProxyHandler; class CAccSrvSettingsHandler; class CAccSrvWiredConnectionPublisher; -class CAccSrvChargingContextController; // CLASS DECLARATION @@ -387,7 +386,6 @@ CAccSrvModeHandler* iModeHandler; //Owned CAccSrvASYProxyHandler* iASYProxyHandler; //Owned CAccSrvSettingsHandler* iSettingsHandler; //Owned - CAccSrvChargingContextController* iChargingContextController; //Owned RPointerArray iConnectionHandler; //Owned TUint32 iInformationNoteUID; diff -r 61516c5786af -r 00076e39386f accessoryservices/accessoryserver/rom/AccServer.iby --- a/accessoryservices/accessoryserver/rom/AccServer.iby Wed Jun 23 22:58:50 2010 +0100 +++ b/accessoryservices/accessoryserver/rom/AccServer.iby Thu Jul 22 16:45:41 2010 +0100 @@ -32,7 +32,6 @@ file=ABI_DIR\BUILD_DIR\AsyComms.dll SHARED_LIB_DIR\AsyComms.dll file=ABI_DIR\BUILD_DIR\AsyProxy.dll SHARED_LIB_DIR\AsyProxy.dll file=ABI_DIR\BUILD_DIR\accsrvutil.dll SHARED_LIB_DIR\accsrvutil.dll -file=ABI_DIR\BUILD_DIR\AccChargerContext.dll SHARED_LIB_DIR\AccChargerContext.dll file=ABI_DIR\BUILD_DIR\accpolaudiodevicetopology.dll SHARED_LIB_DIR\accpolaudiodevicetopology.dll data=ZPRIVATE\100012A5\policy\10205030.spd \private\100012A5\policy\10205030.spd diff -r 61516c5786af -r 00076e39386f accessoryservices/accessoryserver/src/ASYProxy/ASYProxyCommandObserver.cpp --- a/accessoryservices/accessoryserver/src/ASYProxy/ASYProxyCommandObserver.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/accessoryservices/accessoryserver/src/ASYProxy/ASYProxyCommandObserver.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -181,25 +181,28 @@ { COM_TRACE_( "[AccFW:AsyProxy] CASYProxyCommandObserver::DoCancel()" ); - iAsyProxyCommsSrvc->iAsyComms.CancelNotifyProcessCommand(); - - if ( !iInDestructionPhase ) + if ( iAsyProxyCommsSrvc ) { - COM_TRACE_( "[AccFW:AsyProxy] Proxy Command Observation is Cancelled while Destruction is not in Progress" ); - #ifdef _DEBUG - TRAPD( errUpdate, iAsyProxyCommsSrvc->UpdateAsyCommsStackL() ); - TRAPD( errCreate, iAsyProxyCommsSrvc->CreateAsyCommandHandlerL( this ) ); + iAsyProxyCommsSrvc->iAsyComms.CancelNotifyProcessCommand(); + + if ( !iInDestructionPhase ) + { + COM_TRACE_( "[AccFW:AsyProxy] Proxy Command Observation is Cancelled while Destruction is not in Progress" ); + #ifdef _DEBUG + TRAPD( errUpdate, iAsyProxyCommsSrvc->UpdateAsyCommsStackL() ); + TRAPD( errCreate, iAsyProxyCommsSrvc->CreateAsyCommandHandlerL( this ) ); + + COM_TRACE_1( "[AccFW:AsyProxy] CASYProxyCommandObserver::DoCancel - errUpdate == %d", errUpdate ); + COM_TRACE_1( "[AccFW:AsyProxy] CASYProxyCommandObserver::DoCancel - errCreate == %d", errCreate ); + #else + TRAP_IGNORE( iAsyProxyCommsSrvc->UpdateAsyCommsStackL() ); + TRAP_IGNORE( iAsyProxyCommsSrvc->CreateAsyCommandHandlerL( this ) ); + #endif + } - COM_TRACE_1( "[AccFW:AsyProxy] CASYProxyCommandObserver::DoCancel - errUpdate == %d", errUpdate ); - COM_TRACE_1( "[AccFW:AsyProxy] CASYProxyCommandObserver::DoCancel - errCreate == %d", errCreate ); - #else - TRAP_IGNORE( iAsyProxyCommsSrvc->UpdateAsyCommsStackL() ); - TRAP_IGNORE( iAsyProxyCommsSrvc->CreateAsyCommandHandlerL( this ) ); - #endif + iAsyProxyCommsSrvc->Destroy( KErrNotFound ); // Transaction Id is not known know } - - iAsyProxyCommsSrvc->Destroy( KErrNotFound ); // Transaction Id is not known know - + COM_TRACE_( "[AccFW:AsyProxy] CASYProxyCommandObserver::DoCancel - return void" ); } diff -r 61516c5786af -r 00076e39386f accessoryservices/accessoryserver/src/ASYProxy/ASYProxyCommsService.cpp --- a/accessoryservices/accessoryserver/src/ASYProxy/ASYProxyCommsService.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/accessoryservices/accessoryserver/src/ASYProxy/ASYProxyCommsService.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -99,7 +99,7 @@ // Zero handler needs CASYProxyCommsStack just to get simple Active Object // because CActiveScheduler will be start later in any way - CASYProxyCommandObserver* iZeroObserver = CASYProxyCommandObserver::NewL( NULL ); + iZeroObserver = CASYProxyCommandObserver::NewL( NULL ); COM_TRACE_( "[AccFW:AsyProxy] CASYProxyCommsService::ConstructL - return void" ); } @@ -148,7 +148,11 @@ delete iAsyProxyCommsStack; iAsyProxyCommsStack = 0; } - + if ( iZeroObserver ) + { + delete iZeroObserver; + } + COM_TRACE_( "[AccFW:AsyProxy] CASYProxyCommsService::~CASYProxyCommsService" ); } diff -r 61516c5786af -r 00076e39386f accessoryservices/accessoryserver/src/Policy/AccPolAccessoryPolicy.cpp --- a/accessoryservices/accessoryserver/src/Policy/AccPolAccessoryPolicy.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/accessoryservices/accessoryserver/src/Policy/AccPolAccessoryPolicy.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -35,7 +35,11 @@ // CONSTANTS +#ifdef FF_AUTOMOTIVESTACK +const TInt KAccMaxRules = 8; +#else const TInt KAccMaxRules = 7; +#endif const TInt KAccConfigMaxCapabilityGroups = 64; const TInt KAccGidIntBuf = 100; @@ -387,6 +391,9 @@ {KPCWired, KAccMonoAudio}, {KPCBluetooth, KAccStereoAudio}, {KPCBluetooth, KAccMonoAudio}, +#ifdef FF_AUTOMOTIVESTACK + {KPCUSB, KAccStereoAudio}, +#endif {KPCWired, 0}, {KPCBluetooth, 0} }; @@ -466,7 +473,11 @@ } } else if ( gID.PhysicalConnectionCaps( KPCWired ) || - gID.PhysicalConnectionCaps( KPCHDMI ) ) + gID.PhysicalConnectionCaps( KPCHDMI ) +#ifdef FF_AUTOMOTIVESTACK + || gID.PhysicalConnectionCaps ( KPCUSB ) +#endif + ) { if( gID.DeviceTypeCaps( KDTHeadset ) ) { diff -r 61516c5786af -r 00076e39386f accessoryservices/accessoryserver/src/Server/AccSrvConnectionController.cpp --- a/accessoryservices/accessoryserver/src/Server/AccSrvConnectionController.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/accessoryservices/accessoryserver/src/Server/AccSrvConnectionController.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -30,7 +30,6 @@ #include "AccPolGenericIDAccessor.h" #include "AccSrvSettingsHandler.h" #include "AccPolSubblockNameArrayAccessor.h" -#include "AccSrvChargingContextController.h" #include #include #include "AccSrvWiredConnectionPublisher.h" @@ -101,12 +100,6 @@ iASYProxyHandler = CAccSrvASYProxyHandler::NewL( this ); iSettingsHandler = CAccSrvSettingsHandler::NewL( this, *aServerModel, iPolicy ); iWiredConnPublisher = CAccSrvWiredConnectionPublisher::NewL(); - TRAPD( err, iChargingContextController = CAccSrvChargingContextController::NewL() ); - if ( err != KErrNone ) // Server does not need to die on charging context fail. - { - COM_TRACE_1( "[AccFW:AccServer] CAccSrvConnectionController::ConstructL - CAccSrvChargingContextController err %d", err ); - iChargingContextController = NULL; - } COM_TRACE_( "[AccFW:AccServer] CAccSrvConnectionController::ConstructL - return void" ); } @@ -167,11 +160,6 @@ delete iSettingsHandler; } - if( NULL != iChargingContextController ) - { - delete iChargingContextController; - } - delete iWiredConnPublisher; // Handlers must be deleted after iPolicy and iASYProxyHandler @@ -850,22 +838,37 @@ TAccPolAccessoryMode accMode; iServerModel->CurrentConnectionStatusL( genericIDArray ); - - if( (EFalse == aAudioOutputStatus) && (KErrUnknown != aDbId) ) - { - TInt index( TAccPolGenericIDArrayAccessor::FindWithUniqueIDL( - genericIDArray, aDbId) ); - if(KErrNotFound != index) - { - TAccPolGenericIDArrayAccessor::RemoveIndexFromGenericIDArray(genericIDArray, index); - } + + TUint count; + TBool isHDMIConnected = EFalse; + + count = genericIDArray.Count(); + if((1 < count) && (EFalse == aAudioOutputStatus) && (KErrUnknown != aDbId)) + { + for(TInt i( 0 ); i < count; ++i) + { + if(genericIDArray.GetGenericIDL(i).PhysicalConnectionCaps() & KPCHDMI) + { + isHDMIConnected = ETrue; + break; + } + } + } + + if(isHDMIConnected) + { + accMode = iServerModel->AccessoryMode(); + } + else + { + accMode = iPolicy->ResolveAccessoryModeL( genericIDArray, + aDbId, + aAudioOutputStatus, + iServerModel->AccessoryMode(), + iServerModel->UniqueID() ); } - accMode = iPolicy->ResolveAccessoryModeL( genericIDArray, - aDbId, - aAudioOutputStatus, - iServerModel->AccessoryMode(), - iServerModel->UniqueID() ); + if( iServerModel->SetAccessoryMode( accMode, aDbId ) ) //Store accessory mode { diff -r 61516c5786af -r 00076e39386f accessoryservices/accessoryserver/tsrc/public/basic/AccessoryTestControl/AccessoryTestControlPlugin/inc/TfAccessoryTestControlTypes.h --- a/accessoryservices/accessoryserver/tsrc/public/basic/AccessoryTestControl/AccessoryTestControlPlugin/inc/TfAccessoryTestControlTypes.h Wed Jun 23 22:58:50 2010 +0100 +++ b/accessoryservices/accessoryserver/tsrc/public/basic/AccessoryTestControl/AccessoryTestControlPlugin/inc/TfAccessoryTestControlTypes.h Thu Jul 22 16:45:41 2010 +0100 @@ -206,7 +206,10 @@ ETFAsyConnectOpenCable3Poles, ETFAsyConnUSB, ETFAsyConnUSB2, - ETFAsyConnHDMI + ETFAsyConnHDMI, +#ifdef FF_AUTOMOTIVESTACK + ETFAsyRTPStreamingConn +#endif }; diff -r 61516c5786af -r 00076e39386f accessoryservices/accessoryserver/tsrc/public/basic/AccessoryTestControl/AccessoryTestControlPlugin/src/TfAccessoryTestControlPlugin.cpp --- a/accessoryservices/accessoryserver/tsrc/public/basic/AccessoryTestControl/AccessoryTestControlPlugin/src/TfAccessoryTestControlPlugin.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/accessoryservices/accessoryserver/tsrc/public/basic/AccessoryTestControl/AccessoryTestControlPlugin/src/TfAccessoryTestControlPlugin.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -26,7 +26,9 @@ #include "CtfAccessoryTestCaseControl.h" #include - +#ifdef FF_AUTOMOTIVESTACK +#include +#endif //M10703 KAccAudioOutConnector @@ -43,6 +45,9 @@ static void PolicyModuleTestSuiteL( CTFATestSuite* aSuite ); static void UsbObjectModuleTestSuiteL( CTFATestSuite* aSuite ); static void HdmiObjectModuleTestSuiteL( CTFATestSuite* aSuite ); +#ifdef FF_AUTOMOTIVESTACK +static void AutoAudioAsyModuleTestSuiteL( CTFATestSuite* aSuite ); +#endif // // [M10101] [[AccServer] Open And Close Accessory Connection] @@ -2626,7 +2631,86 @@ { ETFCheckHdmiObject, 0, EAccPolHdmiVideoFormatObject, 0, 0, 0, 11306, ETFAsyNone, ReqAccRequestNone, KErrNone, 0}, }; +#ifdef FF_AUTOMOTIVESTACK +/************************ ****************************/ +/************************ AutoAudio ASY related testcases ****************************/ +/************************ ****************************/ +// +// [M11401] AccServer [ Connect RTP streaming device ] +// + +const TTFAccessoryTestCaseStateControl KTFConnectRTPStreamingDeviceStates[]= + { + { ETFAccessorySingleConnection_Open, 0, 0, 0, 0, 0, 11401, ETFAsyNone, ReqAccRequestNone, KErrNone, 0}, + { ETFAccessoryNotifyNewAccessoryConnected, 0, 0, 0, 0, 0, 11401, ETFAsyNone, ReqAccRequestNone, KErrNone, 1000000}, + { ETFConnectWiredAccessory, 0, EAudioConnectionStatusUnidirectional, 0, 0, 0, 11401, ETFAsyRTPStreamingConn, ReqAccRequestNone, KErrNone, 2000000}, + { ETFFindAndCheckRequest, 0, 0, 0, 0, 0, 11401, ETFAsyNone, ReqNotifyNewAccessoryConnected, KErrNone, 0}, + { ETFCheckCapability, 0, 0, ETrue, KAccAudioOutputType, 0, 11401, ETFAsyNone, ReqAccRequestNone, KErrNone, 0}, + { ETFCheckCapability, 0, 0, ETrue, KAccStereoAudio, 0, 11401, ETFAsyNone, ReqAccRequestNone, KErrNone, 0}, + { ETFCheckCapability, 0, 0, ETrue, KAccIntegratedAudioOutput, 0, 11401, ETFAsyNone, ReqAccRequestNone, KErrNone, 0}, + { ETFCheckCapability, 0, 0, ETrue, KAccRTPStreaming, 0, 11401, ETFAsyNone, ReqAccRequestNone, KErrNone, 0}, + { ETFAccessoryNotifyAccessoryDisconnected, 0, 0, 0, 0, 0, 11401, ETFAsyNone, ReqAccRequestNone, KErrNone, 2000000}, + { ETFDisconnectWiredAccessory, 0, EAudioConnectionStatusNone, 0, 0, 0, 11401, ETFAsyRTPStreamingConn, ReqAccRequestNone, KErrNone, 2000000}, + { ETFFindAndCheckRequest, 0, 0, 0, 0, 0, 11401, ETFAsyNone, ReqNotifyAccessoryDisconnected, KErrNone, 0}, + + { ETFClearStack, 0, 0, 0, 0, 0, 11401, ETFAsyNone, ReqAccRequestNone, KErrNone, 0}, + + { ETFAccessorySingleConnection_Close, 0, 0, 0, 0, 0, 11401, ETFAsyNone, ReqAccRequestNone, KErrNone, 0}, + }; + +// +// [M11402] [[AccServer] [RTP Streaming device Accessory Mode] +// +const TTFAccessoryTestCaseStateControl KTFRTPStreamingAccessoryModeStates[]= + { + { ETFAccessoryMode_Open, 0, 0, 0, 0, 0, 11402, ETFAsyNone, ReqAccRequestNone, KErrNone, 1000000}, + { ETFAccessoryNotifyAccessoryModeChanged,0, 0, 0, 0, 0, 11402, ETFAsyNone, ReqAccRequestNone, KErrNone, 1000000}, + { ETFConnectWiredAccessory, 0, EAudioConnectionStatusUnidirectional, 0, 0, 0, 11402, ETFAsyRTPStreamingConn, ReqAccRequestNone, KErrNone, 2000000}, + { ETFFindAndCheckRequest, 0, 3, 0, 0, 0, 11402, ETFAsyNone, ReqNotifyAccessoryModeChanged, KErrNone, 1000000}, + { ETFClearStack, 0, 0, 0, 0, 0, 11402, ETFAsyNone, ReqAccRequestNone, KErrNone, 1000000}, + { ETFDisconnectWiredAccessory, 0, EAudioConnectionStatusNone, 0, 0, 0, 11402, ETFAsyRTPStreamingConn, ReqAccRequestNone, KErrNone, 2000000}, + { ETFAccessoryMode_Close, 0, 0, 0, 0, 0, 11402, ETFAsyNone, ReqAccRequestNone, KErrNone, 1000000}, + }; + +// +// [M11403] AccServer [ Improper publish of RTP Streaming status ] +// +const TTFAccessoryTestCaseStateControl KTFConnectRTPStreamingDeviceStates1[]= + { + { ETFAccessorySingleConnection_Open, 0, 0, 0, 0, 0, 11403, ETFAsyNone, ReqAccRequestNone, KErrNone, 0}, + { ETFAccessoryNotifyNewAccessoryConnected, 0, 0, 0, 0, 0, 11403, ETFAsyNone, ReqAccRequestNone, KErrNone, 1000000}, + { ETFConnectWiredAccessory, 0, EAudioConnectionStatusNone, 0, 0, 0, 11403, ETFAsyRTPStreamingConn, ReqAccRequestNone, KErrNone, 2000000}, + { ETFFindAndCheckRequest, 0, 0, 0, 0, 0, 11403, ETFAsyNone, ReqNotifyNewAccessoryConnected, KErrNone, 0}, + { ETFConnectWiredAccessory, 0, EAudioConnectionStatusBidirectional, 0, 0, 0, 11403, ETFAsyRTPStreamingConn, ReqAccRequestNone, KErrNone, 2000000}, + { ETFFindAndCheckRequest, 0, 0, 0, 0, 0, 11403, ETFAsyNone, ReqNotifyNewAccessoryConnected, KErrNone, 0}, + { ETFCancelNotifyNewAccessoryConnected, 0, 0, 0, 0, 0, 11403, ETFAsyNone, ReqAccRequestNone, KErrNone, 0}, + + { ETFClearStack, 0, 0, 0, 0, 0, 11403, ETFAsyNone, ReqAccRequestNone, KErrNone, 0}, + + { ETFAccessorySingleConnection_Close, 0, 0, 0, 0, 0, 11403, ETFAsyNone, ReqAccRequestNone, KErrNone, 0}, + }; + +// +// [M11404] AccServer [ Publish Improper And Connect RTP streaming device ] +// +const TTFAccessoryTestCaseStateControl KTFConnectRTPStreamingDeviceStates2[]= + { + { ETFAccessorySingleConnection_Open, 0, 0, 0, 0, 0, 11404, ETFAsyNone, ReqAccRequestNone, KErrNone, 0}, + { ETFAccessoryNotifyNewAccessoryConnected, 0, 0, 0, 0, 0, 11404, ETFAsyNone, ReqAccRequestNone, KErrNone, 1000000}, + { ETFConnectWiredAccessory, 0, EAudioConnectionStatusBidirectional, 0, 0, 0, 11404, ETFAsyRTPStreamingConn, ReqAccRequestNone, KErrNone, 2000000}, + { ETFConnectWiredAccessory, 0, EAudioConnectionStatusUnidirectional, 0, 0, 0, 11404, ETFAsyRTPStreamingConn, ReqAccRequestNone, KErrNone, 3000000}, + { ETFFindAndCheckRequest, 0, 0, 0, 0, 0, 11404, ETFAsyNone, ReqNotifyNewAccessoryConnected, KErrNone, 0}, + { ETFAccessoryNotifyAccessoryDisconnected, 0, 0, 0, 0, 0, 11404, ETFAsyNone, ReqAccRequestNone, KErrNone, 2000000}, + { ETFDisconnectWiredAccessory, 0, EAudioConnectionStatusNone, 0, 0, 0, 11404, ETFAsyRTPStreamingConn, ReqAccRequestNone, KErrNone, 2000000}, + { ETFFindAndCheckRequest, 0, 0, 0, 0, 0, 11404, ETFAsyNone, ReqNotifyAccessoryDisconnected, KErrNone, 0}, + + { ETFClearStack, 0, 0, 0, 0, 0, 11404, ETFAsyNone, ReqAccRequestNone, KErrNone, 0}, + + { ETFAccessorySingleConnection_Close, 0, 0, 0, 0, 0, 11404, ETFAsyNone, ReqAccRequestNone, KErrNone, 0}, + }; + +#endif // FF_AUTOMOTIVESTACK /***************************** *********************************/ /***************************** End Tests *********************************/ /***************************** *********************************/ @@ -2675,6 +2759,10 @@ TF_ADD_TEST_SUITE_FUNCTION_L( _L( "Policy Tests" ), PolicyModuleTestSuiteL ); TF_ADD_TEST_SUITE_FUNCTION_L( _L( "USB Object Tests" ), UsbObjectModuleTestSuiteL ); TF_ADD_TEST_SUITE_FUNCTION_L( _L( "HDMI Object Tests" ), HdmiObjectModuleTestSuiteL ); +#ifdef FF_AUTOMOTIVESTACK + TF_ADD_TEST_SUITE_FUNCTION_L( _L( "AutoAudio ASY Tests" ), AutoAudioAsyModuleTestSuiteL ); +#endif + TF_END_TEST_SUITE(); TF_END_TEST_DECLARATION(); } @@ -2855,6 +2943,14 @@ TF_ACCESSORY_SERVER_CONTROL_TEST_CASE_L( 11304, KTFGetHDMIVideoFormatStates ); TF_ACCESSORY_SERVER_CONTROL_TEST_CASE_L( 11305, KTFNotifyHDMIVideoFormatChangedStates ); TF_ACCESSORY_SERVER_CONTROL_TEST_CASE_L( 11306, KTCheckHdmiObjectsStates ); + +/************************ AutoAudio related testcases (RTPStreaming) ****************************/ +#ifdef FF_AUTOMOTIVESTACK + TF_ACCESSORY_SERVER_CONTROL_TEST_CASE_L( 11401, KTFConnectRTPStreamingDeviceStates ); + TF_ACCESSORY_SERVER_CONTROL_TEST_CASE_L( 11402, KTFRTPStreamingAccessoryModeStates ); + TF_ACCESSORY_SERVER_CONTROL_TEST_CASE_L( 11403, KTFConnectRTPStreamingDeviceStates1 ); + TF_ACCESSORY_SERVER_CONTROL_TEST_CASE_L( 11404, KTFConnectRTPStreamingDeviceStates2 ); +#endif TF_END_STUB_TEST_CASES(); } @@ -3068,5 +3164,16 @@ TF_ADD_TEST_CASE_L( 11306, _L( "[M11306] [[AccServer] Check HDMI objects] ")); } +#ifdef FF_AUTOMOTIVESTACK +static void AutoAudioAsyModuleTestSuiteL( CTFATestSuite* aSuite ) + { + TF_INIT_TEST_SUITE_FUNCTION( aSuite ); + TF_ADD_TEST_CASE_L( 11401, _L( "[M11401] [[AccServer] Connect RTP Streaming device] ")); + TF_ADD_TEST_CASE_L( 11402, _L( "[M11402] [[AccServer] RTP Streaming device Accessory Mode] ")); + TF_ADD_TEST_CASE_L( 11403, _L( "[M11403] [[AccServer] Improper publish of RTP Streaming status] ")); + TF_ADD_TEST_CASE_L( 11404, _L( "[M11404] [[AccServer] Publish Improper And Connect RTP streaming device] ")); + } +#endif + // End of File diff -r 61516c5786af -r 00076e39386f accessoryservices/accessoryserver/tsrc/public/basic/Stubs/AsyStub/group/AsyStub.mmp --- a/accessoryservices/accessoryserver/tsrc/public/basic/Stubs/AsyStub/group/AsyStub.mmp Wed Jun 23 22:58:50 2010 +0100 +++ b/accessoryservices/accessoryserver/tsrc/public/basic/Stubs/AsyStub/group/AsyStub.mmp Thu Jul 22 16:45:41 2010 +0100 @@ -40,7 +40,7 @@ // System include macro OS_LAYER_SYSTEMINCLUDE SYSTEMINCLUDE ../../../AccessoryTestControl/dsytfcore/inc - +SYSTEMINCLUDE ../../../../../../../../inc // The resource name should be same as the second UID above SOURCEPATH ../data diff -r 61516c5786af -r 00076e39386f accessoryservices/accessoryserver/tsrc/public/basic/Stubs/AsyStub/src/AsyStubService.cpp --- a/accessoryservices/accessoryserver/tsrc/public/basic/Stubs/AsyStub/src/AsyStubService.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/accessoryservices/accessoryserver/tsrc/public/basic/Stubs/AsyStub/src/AsyStubService.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -27,6 +27,10 @@ #include #include #include +#include +#ifdef FF_AUTOMOTIVESTACK +#include +#endif // ---------------------------------------------------------------------------------- // CASYStubService::CASYStubService() @@ -850,6 +854,20 @@ break; } +#ifdef FF_AUTOMOTIVESTACK + case ETFAsyRTPStreamingConn: + { + RProperty property; + CleanupClosePushL ( property ); + COMPONENT_TRACE( ( _L( "ASYSTUB - CTFTestControlObserver::Service - Attaching to RTP streaming key" ) ) ); + User::LeaveIfError ( property.Attach ( KPSUidAccessoryServices, KPSAutoKeyRTPStreamingConnectionStatus ) ); + COMPONENT_TRACE( ( _L( "ASYSTUB - CTFTestControlObserver::Service - publishing to RTP streaming key" ) ) ); + User::LeaveIfError ( property.Set ( aParam1 ) ); + CleanupStack::PopAndDestroy (); // property + } + break; +#endif + default: COMPONENT_TRACE( ( _L( "ASYSTUB - CASYStubService::Service - Subscribe destination is WIRELESS ASY" ) ) ); diff -r 61516c5786af -r 00076e39386f accessoryservices/autoaudioasy/data/2002F9A3.rss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accessoryservices/autoaudioasy/data/2002F9A3.rss Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,47 @@ +/* +* Copyright (c) 2010 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: Resource definitions for project autoaudioasy +* +*/ +#include +#include "AsyServiceUids.h" + +// Declares info for two implementations +RESOURCE REGISTRY_INFO autoaudioasy + { + // UID for the DLL. + resource_format_version = RESOURCE_FORMAT_VERSION_2; + dll_uid = 0x2002F9A3; + interfaces = + { + INTERFACE_INFO + { + // UID of interface that is implemented + interface_uid = KACCESSORYPLUGINAPIUID; + implementations = + { + IMPLEMENTATION_INFO + { + implementation_uid = 0x2002F9A4; + version_no = 1; + display_name = "0x2002F9A3"; + default_data = KACCESSORYPLUGINAPIMAINSERVICE; + opaque_data = "autoaudioasy"; + rom_only = 1; + } + }; + } + }; + } + diff -r 61516c5786af -r 00076e39386f accessoryservices/autoaudioasy/group/autoaudioasy.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accessoryservices/autoaudioasy/group/autoaudioasy.mmp Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,58 @@ +/* +* Copyright (c) 2010 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: Project definition file for project usbaudioasy +* +*/ + +#include + +TARGET autoaudioasy.dll +TARGETTYPE PLUGIN +VENDORID VID_DEFAULT + +// ECom Dll recognition UID followed by the unique UID for this dll +UID 0x10009D8D 0x2002F9A3 + +CAPABILITY CAP_ECOM_PLUGIN + +SOURCEPATH ../src +SOURCE autoaudioasyproxy.cpp +SOURCE cautoaudioasymainservicebase.cpp +SOURCE cautoaudioasypropertyobserver.cpp +SOURCE cautoaudioasyservice.cpp + +USERINCLUDE ../inc + +SYSTEMINCLUDE ../../../inc +OS_LAYER_SYSTEMINCLUDE + +// The resource name should be same as the second UID above +SOURCEPATH ../data +START RESOURCE 2002F9A3.rss +TARGET autoaudioasy.rsc +END + +LIBRARY euser.lib +LIBRARY estor.lib +LIBRARY ASYProxy.lib +LIBRARY accclient.lib +LIBRARY acccontrol.lib +LIBRARY accpolicy.lib +LIBRARY accpolcom.lib +LIBRARY accsrvutil.lib + +MACRO API_TRACE_FLAG +MACRO COMPONENT_TRACE_FLAG + +SMPSAFE diff -r 61516c5786af -r 00076e39386f accessoryservices/autoaudioasy/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accessoryservices/autoaudioasy/group/bld.inf Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,29 @@ +/* +* Copyright (c) 2010 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: Build information file for project AUTO Audio ASY +* +*/ + +#include + +PRJ_PLATFORMS +DEFAULT + +PRJ_MMPFILES +../group/autoaudioasy.mmp + +PRJ_TESTMMPFILES + +PRJ_EXPORTS +../rom/autoaudioasy.iby CORE_OS_LAYER_IBY_EXPORT_PATH(autoaudioasy.iby) diff -r 61516c5786af -r 00076e39386f accessoryservices/autoaudioasy/inc/acc_debug.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accessoryservices/autoaudioasy/inc/acc_debug.h Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,258 @@ +/* +* Copyright (c) 2010 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: Macro definitions for tracing and debugging purposes. +* +*/ + + +#ifndef ACC_DEBUG_H +#define ACC_DEBUG_H + +#ifdef _DEBUG + +// INCLUDES +#include + +// CONSTANTS +_LIT( KComponent, "[AccFW:Component]" ); +_LIT( KThisFile, "[AccFW:Component] - Trace this file: %s, line: %d, compiled: %s %s" ); +_LIT( KAssertion, "[AccFW:Component] - Assertion failed: File: %s, line: %d, compiled: %s %s" ); +_LIT( KPanic, "[AccFW:Component] - Panic occurred: File: %s, line: %d, compiled: %s %s" ); +_LIT( KMystic, "[AccFW:Component] - Mystic failure: File: %s, line: %d, compiled: %s %s" ); +_LIT8( KDATE, __DATE__ ); +_LIT8( KTIME, __TIME__ ); + +const TInt KTraceMaxSize = 256; + +// DATA TYPES +enum TTraceType + { + ETraceInit, + ETraceAssert, + ETracePanic + }; + +// INLINE FUNCTIONS + + // ----------------------------------------------------------------------------- + // ThisFileFunc + // ----------------------------------------------------------------------------- + inline void ThisFileFunc( const TDesC8& aFile, + TInt aLine, + TTraceType aType = ETraceInit ) + { + HBufC* fileBuf = HBufC::New( aFile.Length() + 1 ); + HBufC* dateBuf = HBufC::New( 32 ); + HBufC* timeBuf = HBufC::New( 32 ); + + if ( fileBuf != NULL && dateBuf != NULL && timeBuf != NULL ) + { + fileBuf->Des().Copy( aFile ); + timeBuf->Des().Copy( KTIME ); + dateBuf->Des().Copy( KDATE ); + + if ( aType == ETraceInit ) + { + RDebug::Print( KThisFile, + fileBuf->Des().PtrZ(), + aLine, + dateBuf->Des().PtrZ(), + timeBuf->Des().PtrZ() ); + } + + else if ( aType == ETraceAssert ) + { + RDebug::Print( KAssertion, + fileBuf->Des().PtrZ(), + aLine, + dateBuf->Des().PtrZ(), + timeBuf->Des().PtrZ() ); + } + + else if ( aType == ETracePanic ) + { + RDebug::Print( KPanic, + fileBuf->Des().PtrZ(), + aLine, + dateBuf->Des().PtrZ(), + timeBuf->Des().PtrZ() ); + } + + else + { + RDebug::Print( KMystic, + fileBuf->Des().PtrZ(), + aLine, + dateBuf->Des().PtrZ(), + timeBuf->Des().PtrZ() ); + } + } + + else + { + RDebug::Print( _L( "Assertion and memory allocation failed!" ) ); + } + + delete fileBuf; + delete dateBuf; + delete timeBuf; + } + + // ----------------------------------------------------------------------------- + // TraceAssertFunc + // ----------------------------------------------------------------------------- + inline void TraceAssertFunc( const TDesC8& aFile, TInt aLine ) + { + ThisFileFunc( aFile, aLine, ETraceAssert ); + } + + // ----------------------------------------------------------------------------- + // TracePanicFunc + // ----------------------------------------------------------------------------- + inline void TracePanicFunc( const TDesC8& aFile, TInt aLine ) + { + ThisFileFunc( aFile, aLine, ETracePanic ); + User::Panic( KComponent, KErrGeneral ); + } + +// MACROS + #define PANIC_IF_FALSE( a ) if ( !( a ) )\ + TracePanicFunc( TPtrC8( ( TText8* ) __FILE__), __LINE__ ) + + #define PANIC_IF_TRUE( a ) if ( ( a ) )\ + TracePanicFunc( TPtrC8( ( TText8* ) __FILE__), __LINE__ ) + + #define PANIC_ALWAYS\ + TracePanicFunc( TPtrC8( ( TText8* ) __FILE__), __LINE__ ) + + // ----------------------------------------------------------------------------- + // COMPONENT_TRACE_FLAG + // ----------------------------------------------------------------------------- + #ifdef COMPONENT_TRACE_FLAG + + #define COMPONENT_TRACE_THIS_FILE\ + ThisFileFunc( TPtrC8( ( TText8* ) __FILE__), __LINE__ ) + + #define COM_TRACE_( AAA ) do\ + { _LIT( logStr, AAA ); RDebug::Print( logStr ); } while ( 0 ) + + #define COM_TRACE_1( AAA, BBB ) do\ + { _LIT( logStr, AAA ); RDebug::Print( logStr, BBB ); } while ( 0 ) + + #define COM_TRACE_2( AAA, BBB, CCC ) do\ + { _LIT( logStr, AAA ); RDebug::Print( logStr, BBB, CCC ); } while ( 0 ) + + #define COM_TRACE_3( AAA, BBB, CCC, DDD ) do\ + { _LIT( logStr, AAA ); RDebug::Print( logStr, BBB, CCC, DDD ); } while ( 0 ) + + #define COM_TRACE_4( AAA, BBB, CCC, DDD, EEE ) do\ + { _LIT( logStr, AAA ); RDebug::Print( logStr, BBB, CCC, DDD, EEE ); } while ( 0 ) + + #define COM_TRACE_RAW_( AAA ) do\ + { RDebug::RawPrint( AAA ); } while ( 0 ) + + #define COM_TRACE_RAW_1( AAA, BBB ) do\ + { _LIT( logStr, AAA ); TBuf buffer; buffer.Append( logStr ); buffer.Append( BBB );\ + RDebug::RawPrint( buffer ); } while ( 0 ) + + #else + + #define COMPONENT_TRACE_THIS_FILE + + #define COM_TRACE_( AAA ) + #define COM_TRACE_1( AAA, BBB ) + #define COM_TRACE_2( AAA, BBB, CCC ) + #define COM_TRACE_3( AAA, BBB, CCC, DDD ) + #define COM_TRACE_4( AAA, BBB, CCC, DDD, EEE ) + #define COM_TRACE_RAW_( AAA ) + #define COM_TRACE_RAW_1( AAA, BBB ) + + #endif // COMPONENT_TRACE_FLAG + + #define TRACE_ASSERT( a ) if ( !( a ) )\ + TraceAssertFunc( TPtrC8( ( TText8* ) __FILE__), __LINE__ ) + + #define TRACE_ASSERT_RETURN( a ) if ( !( ( a ) == KErrNone ) )\ + TraceAssertFunc( TPtrC8( ( TText8* ) __FILE__), __LINE__ ) + + #define TRACE_ASSERT_ALWAYS\ + TraceAssertFunc( TPtrC8( ( TText8* ) __FILE__ ), __LINE__ ) + + // ----------------------------------------------------------------------------- + // API_TRACE_FLAG + // ----------------------------------------------------------------------------- + #ifdef API_TRACE_FLAG + + #define API_TRACE_( AAA ) do\ + { _LIT( logStr, AAA ); RDebug::Print( logStr ); } while ( 0 ) + + #define API_TRACE_1( AAA, BBB ) do\ + { _LIT( logStr, AAA ); RDebug::Print( logStr, BBB ); } while ( 0 ) + + #define API_TRACE_2( AAA, BBB, CCC ) do\ + { _LIT( logStr, AAA ); RDebug::Print( logStr, BBB, CCC ); } while ( 0 ) + + #define API_TRACE_3( AAA, BBB, CCC, DDD ) do\ + { _LIT( logStr, AAA ); RDebug::Print( logStr, BBB, CCC, DDD ); } while ( 0 ) + + #define API_TRACE_4( AAA, BBB, CCC, DDD, EEE ) do\ + { _LIT( logStr, AAA ); RDebug::Print( logStr, BBB, CCC, DDD, EEE ); } while ( 0 ) + + #define API_TRACE_RAW_1( AAA, BBB ) do\ + { _LIT( logStr, AAA ); TBuf buffer; buffer.Append( logStr ); buffer.Append( BBB );\ + RDebug::RawPrint( buffer ); } while ( 0 ) + + #else + + #define API_TRACE_( AAA ) + #define API_TRACE_1( AAA, BBB ) + #define API_TRACE_2( AAA, BBB, CCC ) + #define API_TRACE_3( AAA, BBB, CCC, DDD ) + #define API_TRACE_4( AAA, BBB, CCC, DDD, EEE ) + #define API_TRACE_RAW_1( AAA, BBB ) + + #endif // API_TRACE_FLAG + +#else // _DEBUG + + #define TRACE_ASSERT( a ) + #define TRACE_ASSERT_RETURN( a ) a + #define TRACE_ASSERT_ALWAYS + + #define COM_TRACE_( AAA ) + #define COM_TRACE_1( AAA, BBB ) + #define COM_TRACE_2( AAA, BBB, CCC ) + #define COM_TRACE_3( AAA, BBB, CCC, DDD ) + #define COM_TRACE_4( AAA, BBB, CCC, DDD, EEE ) + #define COM_TRACE_RAW_( AAA ) + #define COM_TRACE_RAW_1( AAA, BBB ) + + #define API_TRACE_( AAA ) + #define API_TRACE_1( AAA, BBB ) + #define API_TRACE_2( AAA, BBB, CCC ) + #define API_TRACE_3( AAA, BBB, CCC, DDD ) + #define API_TRACE_4( AAA, BBB, CCC, DDD, EEE ) + #define API_TRACE_RAW_1( AAA, BBB ) + + #define COMPONENT_TRACE_THIS_FILE + + #define PANIC_IF_FALSE( a ) + #define PANIC_IF_TRUE( a ) + #define PANIC_ALWAYS + +#endif // _DEBUG + +#endif // ACC_DEBUG_H + +// End of File diff -r 61516c5786af -r 00076e39386f accessoryservices/autoaudioasy/inc/cautoaudioasymainservicebase.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accessoryservices/autoaudioasy/inc/cautoaudioasymainservicebase.h Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,57 @@ +/* +* Copyright (c) 2010 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: Header file for autoaudioasy main service +* +*/ + +#ifndef CAUTOAUDIOASYMAINSERVICEBASE_H_ +#define CAUTOAUDIOASYMAINSERVICEBASE_H_ + +#include + +//Forward declarations +class CAutoAudioAsyService; + + +/** + * Creates ASY main service + */ +NONSHARABLE_CLASS(CAutoAudioAsyMainServiceBase): public CASYMainServiceBase + { +public: // Constructors and destructor + + static CAutoAudioAsyMainServiceBase* NewL (); + virtual ~CAutoAudioAsyMainServiceBase (); + +public: // From CASYMainServiceBase + + TInt StartL(); + +private: // Functions + + CAutoAudioAsyMainServiceBase (); + void ConstructL (); + + void InitPSAutoAudioL (); + +private: //Data + + /** + * Handle to service class. + * Own. + */ + CAutoAudioAsyService* iService; + }; + +#endif // CAUTOAUDIOASYMAINSERVICEBASE_H_ diff -r 61516c5786af -r 00076e39386f accessoryservices/autoaudioasy/inc/cautoaudioasypropertyobserver.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accessoryservices/autoaudioasy/inc/cautoaudioasypropertyobserver.h Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,70 @@ +/* +* Copyright (c) 2010 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: Header file for property observer +* +*/ +#ifndef CAUTOAUDIOASYPROPERTYOBSERVER_H__ +#define CAUTOAUDIOASYPROPERTYOBSERVER_H__ + +#include +#include + +class MAutoAudioAsyPropertyListener; + +/** + * This class follows PS key (informs when RTP streaming is enabled or disabled). + */ +NONSHARABLE_CLASS(CAutoAudioAsyPropertyObserver): public CActive + { +public: + /** + * Two-phase constructor + */ + static CAutoAudioAsyPropertyObserver* NewL ( TUid aCategory, TUint aKey, MAutoAudioAsyPropertyListener& aListener ); + virtual ~CAutoAudioAsyPropertyObserver (); + +protected: + // CActive + void DoCancel (); + void RunL (); + TInt RunError ( TInt aError ); + +private: + CAutoAudioAsyPropertyObserver ( TUid aCategory, TUint aKey, MAutoAudioAsyPropertyListener& aListener ); + +private: + /** + * Handle to P&S property. + * Own. + */ + RProperty iProperty; + + /** + * The UID of the property we are listening for + */ + TUid iCategory; + + /** + * The key we are listening for + */ + TUint iKey; + + /** + * Reference to listener class. + * Now own. + */ + MAutoAudioAsyPropertyListener& iListener; + }; + +#endif // CAUTOAUDIOASYPROPERTYOBSERVER_H__ diff -r 61516c5786af -r 00076e39386f accessoryservices/autoaudioasy/inc/cautoaudioasyservice.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accessoryservices/autoaudioasy/inc/cautoaudioasyservice.h Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,126 @@ +/* +* Copyright (c) 2010 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: This class handles connect and disconnect to AccFw. +* +*/ + +#ifndef C_AUTOAUDIOASYSERVICE_H__ +#define C_AUTOAUDIOASYSERVICE_H__ + +#include +#include +#include +#include + +#include "mautoaudioasypropertylistener.h" + +class CAutoAudioAsyPropertyObserver; + + +/** + * This class will notification for enabling/disabling RTP streaming channel + and handles connect and disconnect to AccFW. + */ +NONSHARABLE_CLASS(CAutoAudioAsyService): public CActive, + public MAutoAudioAsyPropertyListener + { +public: + /** + * Two-phased constructor + */ + static CAutoAudioAsyService* NewL (); + + virtual ~CAutoAudioAsyService (); + + /** + * Starts ASY service + */ + void StartL (); + + /** + * Free resources on disconnect or on error + */ + void FreeResources (); + + /** + * @param aPS Handle to the property + * @param aUid The Uid of the property + * @param aKey The property key + * @param aStatus The property change status + * @return void + */ + void PropertyChange ( RProperty& aPS, TUid aUid, TUint aKey, TInt aStatus ); + +protected: + + // CActive + void DoCancel (); + void RunL (); + TInt RunError ( TInt aError ); + +private: //methods + + CAutoAudioAsyService (); + + void ConstructL (); + void ConnectAccessoryL (); + void AccessoryDisconnected (); + +private: //data + /** + * State of the service class. + */ + enum TServiceState + { + EServiceStateIdle, + EServiceStateConnecting, + EServiceStateConnected + }; + + /** + * Handle to accessory server + * Own. + */ + RAccessoryServer iAccessoryServer; + + /** + * Handle to accessory control + * Own. + */ + RAccessoryControl iAccessoryControl; + + /** + * Generic id header + */ + TAccPolGIDHeader iGenericIDHeader; + + /** + * State of the service class + */ + TServiceState iState; + + /** + * Generic id + * Own. + */ + CAccConGenericID* iGenericId; + + /** + * Observer that receives notifications about RTP Channel + * Own. + */ + CAutoAudioAsyPropertyObserver* iPropertyObserver; + }; + +#endif // C_AUTOAUDIOASYSERVICE_H__ diff -r 61516c5786af -r 00076e39386f accessoryservices/autoaudioasy/inc/mautoaudioasypropertylistener.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accessoryservices/autoaudioasy/inc/mautoaudioasypropertylistener.h Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,41 @@ +/* +* Copyright (c) 2010 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: Notify service class about property changes. +* +*/ + +#ifndef MAUTOAUDIOASYPROPERTYLISTENER_H +#define MAUTOAUDIOASYPROPERTYLISTENER_H + +#include + +/** + * Methods needed to handle Publish & Subscribe property changes. + */ +class MAutoAudioAsyPropertyListener + { +public: + /** + * + * @param aProperty Handle to the property + * @param aCategory The Uid of the property + * @param aKey The property key + * @param aStatus The property change status + * @return void + */ + virtual void PropertyChange ( RProperty& aProperty, TUid aCategory, + TUint aKey, TInt aStatus ) = 0; + }; + +#endif // MAUTOAUDIOASYPROPERTYLISTENER_H diff -r 61516c5786af -r 00076e39386f accessoryservices/autoaudioasy/rom/autoaudioasy.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accessoryservices/autoaudioasy/rom/autoaudioasy.iby Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,24 @@ +/* +* Copyright (c) 2010 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: Image description file for project Autoaudio ASY +* +*/ + + +#ifndef AUTOAUDIOASY_IBY__ +#define AUTOAUDIOASY_IBY__ + +ECOM_PLUGIN ( autoaudioasy.dll, 2002F9A3.rsc ) + +#endif diff -r 61516c5786af -r 00076e39386f accessoryservices/autoaudioasy/src/autoaudioasyproxy.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accessoryservices/autoaudioasy/src/autoaudioasyproxy.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,39 @@ +/* +* Copyright (c) 2010 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: Implementations for autoaudioasy +* +*/ + +#include +#include + +#include "cautoaudioasymainservicebase.h" + +// Map the interface implementation UIDs to implementation factory functions +const TImplementationProxy ImplementationTable[] = + { + {{0x2002F9A4}, (TProxyNewLPtr) CAutoAudioAsyMainServiceBase::NewL} + }; + +// +// --------------------------------------------------------- +// TImplementationProxy* ImplementationGroupProxy( TInt&) +// --------------------------------------------------------- +// +// Exported proxy for instantiation method resolution. +EXPORT_C const TImplementationProxy* ImplementationGroupProxy( TInt& aTableCount ) + { + aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy); + return ImplementationTable; + } diff -r 61516c5786af -r 00076e39386f accessoryservices/autoaudioasy/src/cautoaudioasymainservicebase.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accessoryservices/autoaudioasy/src/cautoaudioasymainservicebase.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,104 @@ +/* +* Copyright (c) 2010 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: Service base for autoaudioasy +* +*/ +// global headers +#include +#include + +// local headers +#include "cautoaudioasymainservicebase.h" +#include "cautoaudioasyservice.h" +#include "acc_debug.h" + + +_LIT_SECURITY_POLICY_C1(KPSAutoAudioReadPolicy, ECapabilityReadDeviceData); +_LIT_SECURITY_POLICY_C1(KPSAutoAudioWritePolicy, ECapabilityWriteDeviceData); + +// ---------------------------------------------------------------------------------- +// CAutoAudioAsyMainServiceBase::CAutoAudioAsyMainServiceBase () +// ---------------------------------------------------------------------------------- +CAutoAudioAsyMainServiceBase::CAutoAudioAsyMainServiceBase () + { + COM_TRACE_ ( "[AccFW:AutoAudioAsy] CAutoAudioAsyMainServiceBase::CAutoAudioAsyMainServiceBase()"); + } + +// ---------------------------------------------------------------------------------- +// CAutoAudioAsyMainServiceBase::NewL () +// ---------------------------------------------------------------------------------- +CAutoAudioAsyMainServiceBase* CAutoAudioAsyMainServiceBase::NewL () + { + CAutoAudioAsyMainServiceBase* self = new ( ELeave ) CAutoAudioAsyMainServiceBase (); + CleanupStack::PushL ( self ); + self->ConstructL (); + CleanupStack::Pop ( self ); + return self; + } + +void CAutoAudioAsyMainServiceBase::ConstructL () + { + iService = CAutoAudioAsyService::NewL (); + } + +// ---------------------------------------------------------------------------------- +// CAutoAudioAsyMainServiceBase::~CAutoAudioAsyMainServiceBase () +// ---------------------------------------------------------------------------------- +CAutoAudioAsyMainServiceBase::~CAutoAudioAsyMainServiceBase () + { + COM_TRACE_ ( "[AccFW:AutoAudioAsy] CAutoAudioAsyMainServiceBase::~CAutoAudioAsyMainServiceBase" ); + delete iService; + RProperty::Delete ( KPSUidAccessoryServices, KPSAutoKeyRTPStreamingConnectionStatus ); + } + +// ---------------------------------------------------------------------------------- +// CAutoAudioAsyMainServiceBase::StartL () +// In this method we define & start listening for property changes +// ---------------------------------------------------------------------------------- +TInt CAutoAudioAsyMainServiceBase::StartL () + { + COM_TRACE_ ( "[AccFW:AutoAudioAsy] CAutoAudioAsyMainServiceBase::StartL" ); + InitPSAutoAudioL (); + + iService->StartL (); + + Signal (); + + return KErrNone; + } + +// ---------------------------------------------------------------------------------- +// CAutoAudioAsyMainServiceBase::InitPSAutoAudioL () +// In this method we define and intialise P&S keys +// ---------------------------------------------------------------------------------- +void CAutoAudioAsyMainServiceBase::InitPSAutoAudioL () + { + COM_TRACE_ ( "[AccFW:AutoAudioAsy] CAutoAudioAsyMainServiceBase::InitPSAutoAudioL" ); + TInt ret = RProperty::Define ( KPSUidAccessoryServices, + KPSAutoKeyRTPStreamingConnectionStatus, RProperty::EInt, + KPSAutoAudioReadPolicy, KPSAutoAudioWritePolicy ); + + if ( ret != KErrNone ) + { + COM_TRACE_1 ( "[AccFW:AutoAudioAsy] CAutoAudioAsyMainServiceBase::InitPSAutoAudioL RTP Streaming Property Define failed with %d", ret ); + User::Leave ( ret ); + } + + ret = RProperty::Set ( KPSUidAccessoryServices, KPSAutoKeyRTPStreamingConnectionStatus, EAudioConnectionStatusNone ); + if ( ret != KErrNone ) + { + COM_TRACE_1 ( "[AccFW:AutoAudioAsy] CAutoAudioAsyMainServiceBase::InitPSAutoAudioL RTP Streaming key init failed with %d", ret ); + User::Leave ( ret ); + } + } diff -r 61516c5786af -r 00076e39386f accessoryservices/autoaudioasy/src/cautoaudioasypropertyobserver.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accessoryservices/autoaudioasy/src/cautoaudioasypropertyobserver.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,92 @@ +/* +* Copyright (c) 2010 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: Notify service class about connection state. +* +*/ + +#include "cautoaudioasypropertyobserver.h" +#include "autoaudiopskeys.h" +#include "mautoaudioasypropertylistener.h" + +#include "acc_debug.h" + +// --------------------------------------------------------------------------- +// CAutoAudioAsyPropertyObserver::NewL +// --------------------------------------------------------------------------- +CAutoAudioAsyPropertyObserver* CAutoAudioAsyPropertyObserver::NewL ( TUid aCategory, TUint aKey, + MAutoAudioAsyPropertyListener& aListener ) + { + COM_TRACE_1 ( "[AccFW:AutoAudioAsy] CAutoAudioAsyPropertyObserver::NewL(), key- %d", aKey ); + return new ( ELeave ) CAutoAudioAsyPropertyObserver ( aCategory, aKey, aListener ); + } + +// --------------------------------------------------------------------------- +// CAutoAudioAsyPropertyObserver::CAutoAudioAsyPropertyObserver +// --------------------------------------------------------------------------- +CAutoAudioAsyPropertyObserver::CAutoAudioAsyPropertyObserver ( TUid aCategory, TUint aKey, + MAutoAudioAsyPropertyListener& aListener ): + CActive ( EPriorityStandard ), + iCategory ( aCategory ), iKey ( aKey ), iListener ( aListener ) + { + CActiveScheduler::Add ( this ); + iProperty.Attach ( iCategory, iKey ); + iProperty.Subscribe ( iStatus ); + SetActive (); + } + +// --------------------------------------------------------------------------- +// CAutoAudioAsyPropertyObserver::~CAutoAudioAsyPropertyObserver +// --------------------------------------------------------------------------- +CAutoAudioAsyPropertyObserver::~CAutoAudioAsyPropertyObserver () + { + COM_TRACE_ ( "[AccFW:AutoAudioAsy] CAutoAudioAsyPropertyObserver::~CAutoAudioAsyPropertyObserver"); + Cancel (); + iProperty.Close (); + } + +// --------------------------------------------------------------------------- +// CAutoAudioAsyPropertyObserver::RunL +// --------------------------------------------------------------------------- +void CAutoAudioAsyPropertyObserver::RunL () + { + COM_TRACE_ ( "AccFW:AutoAudioAsy] CAutoAudioAsyPropertyObserver::RunL"); + + TInt status = iStatus.Int (); + COM_TRACE_3 ( "[AccFW:AutoAudioAsy] key 0x%08x/%u changed, status %d", iCategory.iUid, iKey, status ); + // Subscribe for the next change BEFORE invoking the listener to make sure + // that we never miss any property changes. + iProperty.Subscribe ( iStatus ); + SetActive (); + + // Notify the listener + iListener.PropertyChange ( iProperty, iCategory, iKey, status ); + } + +// --------------------------------------------------------------------------- +// CAutoAudioAsyPropertyObserver::DoCancel +// --------------------------------------------------------------------------- +void CAutoAudioAsyPropertyObserver::DoCancel () + { + COM_TRACE_ ( "[AccFW:AutoAudioAsy] CAutoAudioAsyPropertyObserver::DoCancel" ); + iProperty.Cancel (); + } + +// --------------------------------------------------------------------------- +// CAutoAudioAsyPropertyObserver::RunError +// --------------------------------------------------------------------------- +TInt CAutoAudioAsyPropertyObserver::RunError ( TInt /* aError */ ) + { + COM_TRACE_ ( "[AccFW:AutoAudioAsy] CAutoAudioAsyPropertyObserver::RunError" ); + return KErrNone; + } diff -r 61516c5786af -r 00076e39386f accessoryservices/autoaudioasy/src/cautoaudioasyservice.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accessoryservices/autoaudioasy/src/cautoaudioasyservice.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,273 @@ +/* +* Copyright (c) 2010 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: This class handles connect and disconnect to AccFw. +* +*/ + +#include +#include +#include +#include +#include +#include +#include + +#include "cautoaudioasyservice.h" +#include "cautoaudioasypropertyobserver.h" +#include "acc_debug.h" + +#define SET_STATE(state) (iState=state) + +// ---------------------------------------------------------------------------------- +// CAutoAudioAsyService::CAutoAudioAsyService() +// ---------------------------------------------------------------------------------- +CAutoAudioAsyService::CAutoAudioAsyService () + : CActive ( EPriorityStandard ) + { + CActiveScheduler::Add ( this ); + } + +// ---------------------------------------------------------------------------------- +// CAutoAudioAsyService::NewL () +// ---------------------------------------------------------------------------------- +CAutoAudioAsyService* CAutoAudioAsyService::NewL () + { + COM_TRACE_ ( "[AccFW:AutoAudioAsy] CAutoAudioAsyService::NewL" ); + CAutoAudioAsyService* self = new ( ELeave ) CAutoAudioAsyService (); + CleanupStack::PushL ( self ); + self->ConstructL (); + CleanupStack::Pop ( self ); + return self; + } + +// ---------------------------------------------------------------------------------- +// CAutoAudioAsyService::ConstructL () +// ---------------------------------------------------------------------------------- +void CAutoAudioAsyService::ConstructL () + { + COM_TRACE_ ( "[AccFW:AutoAudioAsy] CAutoAudioAsyService::ConstructL" ); + User::LeaveIfError ( iAccessoryServer.Connect () ); + User::LeaveIfError ( iAccessoryControl.CreateSubSession ( iAccessoryServer ) ); + SET_STATE ( EServiceStateIdle ); + } + +// ---------------------------------------------------------------------------------- +// CAutoAudioAsyService::~CAutoAudioAsyService() +// ---------------------------------------------------------------------------------- +CAutoAudioAsyService::~CAutoAudioAsyService () + { + COM_TRACE_ ( "[AccFW:AutoAudioAsy] CAutoAudioAsyService::~CAutoAudioAsyService" ); + Cancel (); + + delete iPropertyObserver; + iAccessoryControl.CloseSubSession (); + iAccessoryServer.Close (); + + FreeResources (); + } + +void CAutoAudioAsyService::StartL () + { + COM_TRACE_ ( "[AccFW:AutoAudioAsy] CAutoAudioAsyService::StartL" ); + iPropertyObserver = CAutoAudioAsyPropertyObserver::NewL ( KPSUidAccessoryServices, KPSAutoKeyRTPStreamingConnectionStatus, *this ); + } + +// ---------------------------------------------------------------------------------- +// CAutoAudioAsyService::PropertyChange () +// Defined in MAutoAudioAsyPropertyListener interface. +// Receives notifications about RTP Streaming channel property changes. Property changes occur +// when accessory is connected or disconnected or headunit attached or detached +// ---------------------------------------------------------------------------------- +void CAutoAudioAsyService::PropertyChange ( RProperty& aProperty, TUid aUid, TUint aKey, TInt aStatus ) + { + COM_TRACE_ ( "[AccFW:AutoAudioAsy] CAutoAudioAsyService::PropertyChange" ); + + TInt propValue; + TInt status = aProperty.Get ( propValue ); + COM_TRACE_1 ( "[AccFW:AutoAudioAsy] CAutoAudioAsyService::PropertyChange -- request property value %d", propValue ); + + if ( aUid == KPSUidAccessoryServices && aKey == KPSAutoKeyRTPStreamingConnectionStatus ) + { + // Check if audio accessory has been connected + if ( ( status == KErrNone ) && ( aStatus == KErrNone ) ) + { + if ( propValue == EAudioConnectionStatusUnidirectional ) // Current release supports only UniDirectional, so other key values ignored. + { + TInt err; + switch ( iState ) + { + case EServiceStateIdle: + TRAP ( err, ConnectAccessoryL () ); + if ( err != KErrNone ) + { + COM_TRACE_1 ("[AccFW:AutoAudioAsy] ConnectAccessoryL error %d", err ); + FreeResources (); // switch to EServiceStateIdle + } + break; + + case EServiceStateConnecting: + case EServiceStateConnected: + // Nothing to do + break; + } + return; + } + } + + // Otherwise assume that it's disconnected + AccessoryDisconnected (); + } + } + +// ---------------------------------------------------------------------------------- +// CAutoAudioAsyService::AccessoryDisconnected () +// Called when a disconnect notification is received +// ---------------------------------------------------------------------------------- +void CAutoAudioAsyService::AccessoryDisconnected () + { + COM_TRACE_ ( "[AccFW:AutoAudioAsy] CAutoAudioAsyService::AccessoryDisconnected" ); + TRequestStatus status; + switch ( iState ) + { + case EServiceStateConnected: + iAccessoryControl.DisconnectAccessory ( status, iGenericId->GenericID () ); + User::WaitForRequest ( status ); + FreeResources (); // sets state to EServiceStateIdle + break; + + case EServiceStateConnecting: + Cancel (); + break; + + default: + // nothing to do in this case + break; + } + } + +// ---------------------------------------------------------------------------------- +// CAutoAudioAsyService::ConnectAccessoryL () +// Notifies the accessory server and switches to EServiceStateConnecting state. +// ---------------------------------------------------------------------------------- +void CAutoAudioAsyService::ConnectAccessoryL () + { + COM_TRACE_ ( "[AccFW:AutoAudioAsy] CAutoAudioAsyService::ConnectAccessoryL" ); + + RArray nameValueArray; + CleanupClosePushL ( nameValueArray ); + + // Set GenericID header + COM_TRACE_ ( "[AccFW:AutoAudioAsy] Set generic header" ); + iGenericIDHeader.iAccessoryDeviceType = KDTCarKit; + iGenericIDHeader.iPhysicalConnection = KPCUSB; + iGenericIDHeader.iApplicationProtocol = 0x0; + iGenericIDHeader.iCapabilitiesSubblocks = KSBAudioSubblock; + iGenericIDHeader.iHWDeviceID = 0x0; + iGenericIDHeader.iHWModelID = KNullDesC; + + iGenericId = CAccConGenericID::NewL (); + + COM_TRACE_ ( "[AccFW:AutoAudioAsy] Set capabilities" ); + + // Set "Audio Output Type" capability + COM_TRACE_ ( "[AccFW:AutoAudioAsy] KAccAudioOutputType " ); + nameValueArray.AppendL ( TAccPolNameValueRecord ( KAccAudioOutputType, + EAccAudioOutPutTypePublic, EAPVInt, EAPVPolicy ) ); + + // Set "Audio stereo" capability + COM_TRACE_ ( "[AccFW:AutoAudioAsy] KAccStereoAudio " ); + nameValueArray.AppendL ( TAccPolNameValueRecord ( KAccStereoAudio ) ); + + // Set "Integrated audio output" + COM_TRACE_ ( "[AccFW:AutoAudioAsy] KAccIntegratedAudioOutput " ); + nameValueArray.AppendL ( TAccPolNameValueRecord ( KAccIntegratedAudioOutput ) ); + + // Set "RTP streaming" + COM_TRACE_ ( "[AccFW:AutoAudioAsy] KAccRTPStreaming " ); + nameValueArray.AppendL ( TAccPolNameValueRecord ( KAccRTPStreaming ) ); + + // Make generic id + CAccConfigFileParser* accConfigFileParser = CAccConfigFileParser::NewL ( KNullDesC ); + CleanupStack::PushL ( accConfigFileParser ); + accConfigFileParser->ParseGenericIDL ( iGenericId, iGenericIDHeader, nameValueArray ); + + // Connect accessory + COM_TRACE_ ( "[AccFW:AutoAudioAsy] Connecting accessory..." ); + iAccessoryControl.ConnectAccessory ( iStatus, iGenericId, EFalse ); + SET_STATE ( EServiceStateConnecting ); + SetActive (); + + CleanupStack::PopAndDestroy ( accConfigFileParser ); + CleanupStack::PopAndDestroy ( &nameValueArray ); + } + +// ---------------------------------------------------------------------------------- +// CActive methods +// ---------------------------------------------------------------------------------- +void CAutoAudioAsyService::DoCancel () + { + COM_TRACE_ ( "[AccFW:AutoAudioAsy] CAutoAudioAsyService::DoCancel" ); + iAccessoryControl.CancelConnectAccessory (); + FreeResources (); + } + +TInt CAutoAudioAsyService::RunError ( TInt /*aError*/ ) + { + COM_TRACE_ ( "[AccFW:AutoAudioAsy] CAutoAudioAsyService::RunError" ); + return KErrNone; + } + +void CAutoAudioAsyService::RunL () + { + COM_TRACE_ ( "[AccFW:AutoAudioAsy] CAutoAudioAsyService::RunL" ); + TInt retVal ( iStatus.Int () ); + COM_TRACE_1 ( "[AccFW:AutoAudioAsy] Connected with return value %d", retVal ); + + if ( KErrNone == retVal ) + { + switch ( iState ) + { + case EServiceStateConnecting: + SET_STATE ( EServiceStateConnected ); + break; + + case EServiceStateIdle: + case EServiceStateConnected: + default: + COM_TRACE_ ( "State machine broken" ); + break; + } + } + else + { + COM_TRACE_ ( "[AccFW:AutoAudioAsy] Accessory Server failed to accept connection, freeing up resources" ); + FreeResources (); + } + } + +// ---------------------------------------------------------------------------------- +// Frees resources and set state to EServiceStateIdle +// ---------------------------------------------------------------------------------- +void CAutoAudioAsyService::FreeResources () + { + COM_TRACE_ ( "[AccFW:AutoAudioAsy] CAutoAudioAsyService::FreeResources" ); + + if ( iState != EServiceStateIdle ) + { + SET_STATE ( EServiceStateIdle ); + } + + delete iGenericId; + iGenericId = NULL; + } diff -r 61516c5786af -r 00076e39386f accessoryservices/group/bld.inf --- a/accessoryservices/group/bld.inf Wed Jun 23 22:58:50 2010 +0100 +++ b/accessoryservices/group/bld.inf Thu Jul 22 16:45:41 2010 +0100 @@ -26,9 +26,13 @@ #include "../accessoryremotecontrol/group/bld.inf" #include "../accessoryserver/group/bld.inf" #include "../pluggeddisplay/group/bld.inf" +#include "../remotecontrolfw/group/bld.inf" #include "../headsetstatusapi/Group/bld.inf" #include "../tspclientmapper/group/bld.inf" #include "../gid_pc_tool/group/bld.inf" +#ifdef FF_AUTOMOTIVESTACK +#include "../autoaudioasy/group/bld.inf" +#endif PRJ_TESTMMPFILES diff -r 61516c5786af -r 00076e39386f accessoryservices/pluggeddisplay/edidparser/bwins/edidparseru.def --- a/accessoryservices/pluggeddisplay/edidparser/bwins/edidparseru.def Wed Jun 23 22:58:50 2010 +0100 +++ b/accessoryservices/pluggeddisplay/edidparser/bwins/edidparseru.def Thu Jul 22 16:45:41 2010 +0100 @@ -55,4 +55,6 @@ ?GetInterlacedVideoLatency@CCea861EdidParser@@QAEEXZ @ 54 NONAME ; unsigned char CCea861EdidParser::GetInterlacedVideoLatency(void) ?GetStandardTimings@CEdidParserBase@@QAEEH@Z @ 55 NONAME ; unsigned char CEdidParserBase::GetStandardTimings(int) ?HasIEEERegistration@CCea861EdidParser@@QAEHXZ @ 56 NONAME ; int CCea861EdidParser::HasIEEERegistration(void) + ?UpdateCea861ExtensionL@CEdidParserBase@@QAEXHPAVCCea861EdidParser@@@Z @ 57 NONAME ; void CEdidParserBase::UpdateCea861ExtensionL(int, class CCea861EdidParser *) + ?UpdateRawDataL@CEdidParserBase@@QAEXABVTDesC8@@@Z @ 58 NONAME ; void CEdidParserBase::UpdateRawDataL(class TDesC8 const &) diff -r 61516c5786af -r 00076e39386f accessoryservices/pluggeddisplay/edidparser/eabi/edidparseru.def --- a/accessoryservices/pluggeddisplay/edidparser/eabi/edidparseru.def Wed Jun 23 22:58:50 2010 +0100 +++ b/accessoryservices/pluggeddisplay/edidparser/eabi/edidparseru.def Thu Jul 22 16:45:41 2010 +0100 @@ -57,4 +57,6 @@ _ZTV17CCea861EdidParser @ 56 NONAME ; ## _ZN15CEdidParserBase18GetStandardTimingsEi @ 57 NONAME _ZN17CCea861EdidParser19HasIEEERegistrationEv @ 58 NONAME + _ZN15CEdidParserBase14UpdateRawDataLERK6TDesC8 @ 59 NONAME + _ZN15CEdidParserBase22UpdateCea861ExtensionLEiP17CCea861EdidParser @ 60 NONAME diff -r 61516c5786af -r 00076e39386f accessoryservices/pluggeddisplay/edidparser/inc/edidparserbase.h --- a/accessoryservices/pluggeddisplay/edidparser/inc/edidparserbase.h Wed Jun 23 22:58:50 2010 +0100 +++ b/accessoryservices/pluggeddisplay/edidparser/inc/edidparserbase.h Thu Jul 22 16:45:41 2010 +0100 @@ -378,6 +378,9 @@ */ IMPORT_C TUint8 GetChecksum(); + IMPORT_C void UpdateRawDataL( const TDesC8& aBinaryData ); + IMPORT_C void UpdateCea861ExtensionL( TInt aNumber, CCea861EdidParser* aParser ); + private: /** @@ -558,6 +561,7 @@ HBufC8* iRawData; // Raw data that contains all EDID data TUint iNumberOfExtensionBlocks; // Number of extensionblocks for this base edid block TExtDataBlock iExtensionData; // Extension data + TInt iRawdataLength; // Raw data length }; #endif // C_CEDIDPARSERBASE_H diff -r 61516c5786af -r 00076e39386f accessoryservices/pluggeddisplay/edidparser/src/cea861edidparser.cpp --- a/accessoryservices/pluggeddisplay/edidparser/src/cea861edidparser.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/accessoryservices/pluggeddisplay/edidparser/src/cea861edidparser.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1479,6 +1479,7 @@ { case 0: //reserved + ReadUnknownTagCode( aData, aIndex, L1 ); break; case 1: ReadCea861ShortAudioDataBlockL( aData, aIndex, L1 ); @@ -1535,6 +1536,7 @@ const TInt8 aLen ) { FUNC_LOG; + TBool first = EFalse; iAudioDataBlockSupported = ETrue; @@ -1542,6 +1544,8 @@ { iParsedInfo->iShortAudioDescriptors = new ( ELeave ) TCEA861AudioDataBlock(); + first = ETrue; + iParsedInfo->iShortAudioDescriptors->iNext = 0; } TCEA861AudioDataBlock* cur = iParsedInfo->iShortAudioDescriptors; @@ -1550,8 +1554,8 @@ cur = cur->iNext; // jump to the end } - TBool first = ETrue; - for( int i = 0; i < aLen; i++ ) + TInt i = 0; + while (i < aLen) { // read aLen-amount of short video descriptors @@ -1594,20 +1598,20 @@ { FUNC_LOG; - TBool first = ETrue; + TBool first = EFalse; iVideoDataBlockSupported = ETrue; if( !iParsedInfo->iShortVideoDescriptors ) // linked list { iParsedInfo->iShortVideoDescriptors = new ( ELeave ) TCEA861VideoDataBlock(); iParsedInfo->iShortVideoDescriptors->iNext = 0; // make sure there are no stray pointers + first = ETrue; } TCEA861VideoDataBlock* cur = iParsedInfo->iShortVideoDescriptors; while( cur->iNext != 0 ) { cur = cur->iNext; // jump to the end - first = EFalse; // there is already some links, so set first to false } for( int i = 0; i < aLen; i++ ) @@ -1673,11 +1677,13 @@ aLen -= 3; // this is needed: Vendor specific payload length = L4-3bytes - TBool first = ETrue; + TBool first = EFalse; if( iParsedInfo->iVendorSpecificData->iVendorSpecificPayloadStart == 0 ) { iParsedInfo->iVendorSpecificData->iVendorSpecificPayloadStart = new ( ELeave ) TCEA861VendorSpecificDataBlockPayload(); + iParsedInfo->iVendorSpecificData->iVendorSpecificPayloadStart->iNext = 0; + first = ETrue; } TCEA861VendorSpecificDataBlockPayload* cur = iParsedInfo->iVendorSpecificData->iVendorSpecificPayloadStart; @@ -1756,6 +1762,7 @@ const TInt8 aLen ) { FUNC_LOG; + TBool first = EFalse; aIndex++; // jump to the extended tag code (aLen is the length from extended tag to the end) @@ -1763,13 +1770,12 @@ { iParsedInfo->iVideoCapabilityDataBlock = new ( ELeave ) TCEA861VideoCapabilityDataBlock(); + first = ETrue; } TCEA861VideoCapabilityDataBlock* cur = iParsedInfo->iVideoCapabilityDataBlock; - TBool first = ETrue; while( cur->iNext != 0 ) { - first = EFalse; cur = cur->iNext; } diff -r 61516c5786af -r 00076e39386f accessoryservices/pluggeddisplay/edidparser/src/edidparserbase.cpp --- a/accessoryservices/pluggeddisplay/edidparser/src/edidparserbase.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/accessoryservices/pluggeddisplay/edidparser/src/edidparserbase.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -52,8 +52,10 @@ // Make a copy of base EDID data Mem::Copy( &iBaseEdidData, rawPtr.Ptr(), KEdidParserSizeOfEdidBlock ); - - TRACE_EDID_DATA( *this ); + + iRawdataLength = aBinaryData.Length(); + + //TRACE_EDID_DATA( *this ); } // --------------------------------------------------------------------------- @@ -761,6 +763,51 @@ return parser; } +EXPORT_C void CEdidParserBase::UpdateRawDataL( const TDesC8& aBinaryData ) + { + FUNC_LOG; + + if ( iRawData ) + { + iRawData = iRawData->ReAllocL( iRawdataLength + aBinaryData.Length() ); + + TPtr8 rawPtr = iRawData->Des(); + rawPtr.Append( aBinaryData ); + } + else + { + iRawData = HBufC8::NewL( aBinaryData.Length() ); + TPtr8 rawPtr = iRawData->Des(); + rawPtr.Copy( aBinaryData ); + } + + iRawdataLength = iRawdataLength + aBinaryData.Length(); + } + +EXPORT_C void CEdidParserBase::UpdateCea861ExtensionL( TInt aNumber, CCea861EdidParser* aParser ) + { + FUNC_LOG; + + TInt ext = GetExtensionType( aNumber ); + switch( ext ) + { + case ECea861Ext: + { + // CEA 861 extension + if( aParser ) + { + aParser->ParseExtensionBlockL( iExtensionData ); + } + break; + } + default: + { + // Not supported + break; + } + } + } + // --------------------------------------------------------------------------- // CEdidParserBase::GetChecksum // --------------------------------------------------------------------------- diff -r 61516c5786af -r 00076e39386f accessoryservices/pluggeddisplay/pluggeddisplayengine/inc/compositecablestateconnected.h --- a/accessoryservices/pluggeddisplay/pluggeddisplayengine/inc/compositecablestateconnected.h Wed Jun 23 22:58:50 2010 +0100 +++ b/accessoryservices/pluggeddisplay/pluggeddisplayengine/inc/compositecablestateconnected.h Thu Jul 22 16:45:41 2010 +0100 @@ -308,6 +308,7 @@ CCentralRepositoryWatch* iCRWatchForAspectRatio; CCentralRepositoryWatch* iCRWatchForFlickerFilter; CCentralRepositoryWatch* iCRWatchForTvSystem; + CCentralRepositoryWatch* iCRWatchForVOverScan; /** * TV Out Configurer. diff -r 61516c5786af -r 00076e39386f accessoryservices/pluggeddisplay/pluggeddisplayengine/inc/edidhandler.h --- a/accessoryservices/pluggeddisplay/pluggeddisplayengine/inc/edidhandler.h Wed Jun 23 22:58:50 2010 +0100 +++ b/accessoryservices/pluggeddisplay/pluggeddisplayengine/inc/edidhandler.h Thu Jul 22 16:45:41 2010 +0100 @@ -173,6 +173,16 @@ */ TInt GetHdcpSupportStatus( TBool& aHdcpSupport ) const; + /** + * Update overscan values from cenrep. + * + * @param None. + * @return None. + */ + TBool UpdateOverscanValues(); + + void GetCurrentOverscanValue( TInt& aHOverscan, TInt& aVOverscan ); + private: /** @@ -347,14 +357,6 @@ */ void CalculateOverscan( TPoint& aTLCorner, TPoint& aBRCorner ) const; - /** - * Update overscan values from cenrep. - * - * @param None. - * @return None. - */ - void UpdateOverscanValues(); - /** * Filter out the unsupported TV configurations. * @@ -411,6 +413,12 @@ // Request ID TRequestTypeID iRequestID; + + // Number of extensions to read + TInt inbrOfExtensions; + + // Current EDID block + TInt iCurrentBlock; }; #endif // C_EDIDHANDLER_H diff -r 61516c5786af -r 00076e39386f accessoryservices/pluggeddisplay/pluggeddisplayengine/inc/hdmicablestateconnected.h --- a/accessoryservices/pluggeddisplay/pluggeddisplayengine/inc/hdmicablestateconnected.h Wed Jun 23 22:58:50 2010 +0100 +++ b/accessoryservices/pluggeddisplay/pluggeddisplayengine/inc/hdmicablestateconnected.h Thu Jul 22 16:45:41 2010 +0100 @@ -21,6 +21,7 @@ #include "multifinitestatemachine.h" +#include "centralrepositorywatch.h" class CEDIDHandler; @@ -40,7 +41,7 @@ * @lib none. * @since TB 9.2 */ -NONSHARABLE_CLASS( CHDMICableStateConnected ): public CBase, public MFSMState +NONSHARABLE_CLASS( CHDMICableStateConnected ): public CBase, public MFSMState, public MCentralRepositoryObserver { @@ -152,6 +153,41 @@ protected: +// from base class MCentralRepositoryObserver + + + /** + * Function is called by watcher every time when key value has changed + * in CR. + * + * @since TB 9.2 + * @param aRepositoryId Changed repository. + * @param aRepositoryId Changed key. + * @return none + */ + virtual void CentRepKeyChanged( + TUid aRepositoryId, + TUint32 aId ); + + /** + * Function is called by property watcher when reading the integer property's + * current value fails. + * + * @since TB 9.2 + * @param aRepositoryId Changed repository. + * @param aRepositoryId Changed key. + * @param aError Error code: + * KErrAbort if in a transaction that has previously failed, + * KErrPermissionDenied if caller fails capability check, + * KErrNotFound if the setting does not exist, + * KErrArgument if the setting exists but is not an integer, plus other system-wide error codes. + * . + * @return none + */ + virtual void CentRepGetKeyValueFailed( + TUid aRepositoryId, + TUint32 aId, + TInt aError ); private: @@ -315,6 +351,8 @@ TFSMInterfaceId aInterfaceId , TFSMEventId aEvent ); + void ClearAvailableTvOutConfig(); + /** * C++ default constructor. * @param aTVOutConfigForHDMI TV Out Configurer for cable connection listening. @@ -399,7 +437,15 @@ // Substate TSubState iSubState; - + + //CR Observer for ovescan percentage + //CCentralRepositoryWatch* iCRWatchForHOverScan; + CCentralRepositoryWatch* iCRWatchForVOverScan; + + // Current overscan value + TInt iHOverscanValue; + TInt iVOverscanValue; + }; #endif // C_HDMICABLESTATECONNECTED_H diff -r 61516c5786af -r 00076e39386f accessoryservices/pluggeddisplay/pluggeddisplayengine/inc/pdeconstants.h --- a/accessoryservices/pluggeddisplay/pluggeddisplayengine/inc/pdeconstants.h Wed Jun 23 22:58:50 2010 +0100 +++ b/accessoryservices/pluggeddisplay/pluggeddisplayengine/inc/pdeconstants.h Thu Jul 22 16:45:41 2010 +0100 @@ -92,6 +92,7 @@ // Central Repository interface's event ids EPDEIfCentralRepositoryWatchEventUndefined = 0x50, EPDEIfCentralRepositoryWatchEventKeyChanged, + EPDEIfCentralRepositoryWatchEventOverscanKeyChanged, // ASY command Handler interface's event ids EPDEIfAsyCommandHandlerEventUndefined = 0x60, diff -r 61516c5786af -r 00076e39386f accessoryservices/pluggeddisplay/pluggeddisplayengine/inc/tvoutconfigforcomposite.h --- a/accessoryservices/pluggeddisplay/pluggeddisplayengine/inc/tvoutconfigforcomposite.h Wed Jun 23 22:58:50 2010 +0100 +++ b/accessoryservices/pluggeddisplay/pluggeddisplayengine/inc/tvoutconfigforcomposite.h Thu Jul 22 16:45:41 2010 +0100 @@ -123,6 +123,8 @@ */ void Disable(); + TBool UpdateOverscanValues(); + private: /** @@ -262,6 +264,12 @@ // Time out reason and next opt after timer has // elapsed TOpt iTimeOutReason; + + // Horizontal overscan in pixels (1% == 100) + TInt iHOverscan; + + // Vertical overscan in pixels (1% == 100) + TInt iVOverscan; }; #endif // TVOUTCONFIGFORCOMPOSITE_H diff -r 61516c5786af -r 00076e39386f accessoryservices/pluggeddisplay/pluggeddisplayengine/src/compositecablestateconnected.cpp --- a/accessoryservices/pluggeddisplay/pluggeddisplayengine/src/compositecablestateconnected.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/accessoryservices/pluggeddisplay/pluggeddisplayengine/src/compositecablestateconnected.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -80,6 +80,11 @@ iCRWatchForTvSystem->Cancel(); delete iCRWatchForTvSystem; } + if ( iCRWatchForVOverScan ) + { + iCRWatchForVOverScan->Cancel(); + delete iCRWatchForVOverScan; + } if ( iTVOutConfigForSettingChanges ) { iTVOutConfigForSettingChanges->Cancel(); @@ -95,7 +100,8 @@ void CCompositeCableStateConnected::Enter( ) { FUNC_LOG; - + + iTVOutConfigForComposite.UpdateOverscanValues(); ClearAvailableTvOutConfig(); iTVOutConfigForSettingChanges->ListenSettingsChanges(); @@ -187,6 +193,7 @@ TUint32 aId ) { FUNC_LOG; + INFO("Cenrep Value Changed"); if ( KCRUidTvoutSettings == aRepositoryId ) { if ( ( KSettingsTvAspectRatio == aId ) || @@ -195,7 +202,15 @@ { Input( EPDEIfCentralRepositoryWatch, EPDEIfCentralRepositoryWatchEventKeyChanged ); } - else + else if( KSettingsTvoutVerticalOverscan == aId ) + { + if( iTVOutConfigForComposite.UpdateOverscanValues() ) + { + INFO( "There is a real overscan change" ); + Input( EPDEIfCentralRepositoryWatch, EPDEIfCentralRepositoryWatchEventOverscanKeyChanged ); + } + } + else { INFO_1("Unexpected CR key ID, aId 0x%x", aId ); } @@ -286,6 +301,7 @@ iCRWatchForFlickerFilter->Watch(); iCRWatchForAspectRatio->Watch(); iCRWatchForTvSystem->Watch(); + iCRWatchForVOverScan->Watch(); iSubState = ESubStateEnabled; } else @@ -343,6 +359,7 @@ iCRWatchForFlickerFilter->Cancel(); iCRWatchForAspectRatio->Cancel(); iCRWatchForTvSystem->Cancel(); + iCRWatchForVOverScan->Cancel(); ClearAvailableTvOutConfig(); iTVOutConfigForComposite.Disable(); iSubState = ESubStateDisabling; @@ -362,17 +379,43 @@ iCRWatchForFlickerFilter->Cancel(); iCRWatchForAspectRatio->Cancel(); iCRWatchForTvSystem->Cancel(); + iCRWatchForVOverScan->Cancel(); ClearAvailableTvOutConfig(); - iTVOutConfigForComposite.Disable(); iResettingInput = ETrue; Enter(); } + else if ( EPDEIfCentralRepositoryWatchEventOverscanKeyChanged == aEvent ) + { + INFO( "Event: EPDEIfCentralRepositoryWatchEventOverscanKeyChanged" ); + iTVOutConfigForComposite.SetConfig( ETrue ); + } else { INFO_1( "Unknown Event Id: %i", aEvent ); } break; } + case EPDEIfTVOutConfig: + { + INFO( "Interface: EPDEIfTVOutConfig" ); + if ( EIfTVOutConfigEventSet == aEvent ) + { + INFO( "Event: EIfTVOutConfigEventSet" ); + // Stay on the same state + } + else if ( EIfTVOutConfigEventSetFailed == aEvent ) + { + INFO( "Event: EIfTVOutConfigEventSetFailed" ); + iCRWatchForFlickerFilter->Cancel(); + iCRWatchForAspectRatio->Cancel(); + iCRWatchForTvSystem->Cancel(); + iCRWatchForVOverScan->Cancel(); + ClearAvailableTvOutConfig(); + iTVOutConfigForComposite.Disable(); + iSubState = ESubStateDisabling; + } + break; + } default: { INFO_2( "Event from unexpected interface. if Id, event id: %i", aInterfaceId, aEvent ); @@ -582,6 +625,7 @@ iCRWatchForFlickerFilter->Cancel(); iCRWatchForAspectRatio->Cancel(); iCRWatchForTvSystem->Cancel(); + iCRWatchForVOverScan->Cancel(); iResettingInput = EFalse; } @@ -599,6 +643,7 @@ iCRWatchForFlickerFilter->Cancel(); iCRWatchForAspectRatio->Cancel(); iCRWatchForTvSystem->Cancel(); + iCRWatchForVOverScan->Cancel(); iResettingInput = EFalse; } @@ -765,6 +810,7 @@ iCRWatchForFlickerFilter->Cancel(); iCRWatchForAspectRatio->Cancel(); iCRWatchForTvSystem->Cancel(); + iCRWatchForVOverScan->Cancel(); } else if ( EIfTVOutConfigEventSetFailed == aEvent ) { @@ -848,6 +894,7 @@ iCRWatchForAspectRatio = CCentralRepositoryWatch::NewL(*this, KCRUidTvoutSettings, KSettingsTvAspectRatio ); iCRWatchForFlickerFilter = CCentralRepositoryWatch::NewL(*this, KCRUidTvoutSettings, KSettingsTvoutFlickerFilter ); iCRWatchForTvSystem = CCentralRepositoryWatch::NewL(*this, KCRUidTvoutSettings, KSettingsTvSystemInfo ); + iCRWatchForVOverScan = CCentralRepositoryWatch::NewL(*this, KCRUidTvoutSettings, KSettingsTvoutVerticalOverscan ); iTVOutConfigForSettingChanges = CTVOutConfigForComposite::NewL(iCompositeCableStatusFSM); iResettingInput = EFalse; } diff -r 61516c5786af -r 00076e39386f accessoryservices/pluggeddisplay/pluggeddisplayengine/src/edidhandler.cpp --- a/accessoryservices/pluggeddisplay/pluggeddisplayengine/src/edidhandler.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/accessoryservices/pluggeddisplay/pluggeddisplayengine/src/edidhandler.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -40,6 +40,7 @@ const TInt KDefaultCEAMode = E640x480p59_94d60Hz4d3; const TInt KDefaultCEAModeIndex = 0; +const TInt KDefaultDMTModeIndex = 3; // Retry Delay for EDID access const TInt KRetryDelay = 50 * 1000; // 50 milliseconds @@ -124,9 +125,6 @@ RArray analogConfigs; RArray hdmiConfigs; - // Update overscan values from cenrep - UpdateOverscanValues(); - // Set video parameters INFO( "--------------------------------------------------------------------" ); INFO( "SETTING CEA AND DMT TIMINGS:" ); @@ -176,6 +174,9 @@ iEdidParserPtr = NULL; delete iExtensionParserPtr; iExtensionParserPtr = NULL; + + iCurrentBlock = 0; + inbrOfExtensions = 0; } //------------------------------------------------------------------------------ @@ -518,26 +519,81 @@ { case EDdcReadRequest: { - if( KErrNone == iStatus.Int() ) - { - TPtrC8 - dataBlockDes( iDataBlockPtr->iDataBlock, sizeof( *iDataBlockPtr ) ); - iEdidParserPtr = CEdidParserBase::NewL( dataBlockDes ); - TInt nbrOfExtensions = iEdidParserPtr->GetNumberOfExtensions(); - for( TInt i = 0; i < nbrOfExtensions; ++i ) - { - if( ECea861Ext == iEdidParserPtr->GetExtensionType( i + 1 ) ) - { - INFO_1( "ECea861Ext extension data block number: %d", ( i+1 ) ); - iExtensionParserPtr - = iEdidParserPtr->CreateCea861ExtensionParserL( i + 1 ); - break; - } - } - INFO_1( "Data block count in nbrOfExtensions: %d", nbrOfExtensions ); - iFSM.Input( EPDEIfEDIDHandler, EPDEIfEDIDHandlerEventEdidDataFetched ); - iRetryCounter = KErrNone; - } + if( KErrNone == iStatus.Int() ) + { + if( iCurrentBlock == 0 ) + { + TPtrC8 dataBlockDes( iDataBlockPtr->iDataBlock, sizeof( *iDataBlockPtr ) ); + + iEdidParserPtr = CEdidParserBase::NewL( dataBlockDes ); + inbrOfExtensions = iEdidParserPtr->GetNumberOfExtensions(); + + INFO_1( "No. of extensions from Block 0: %d", inbrOfExtensions ); + + if( inbrOfExtensions ) + { + inbrOfExtensions--; + } + } + else + { + TPtrC8 dataBlockDes( iDataBlockPtr->iDataBlock, sizeof( *iDataBlockPtr ) ); + + INFO_1( "Updating the Rawdata for the Block %d...", iCurrentBlock ); + iEdidParserPtr->UpdateRawDataL(dataBlockDes); + + iCurrentBlock++; + if( inbrOfExtensions >= 2 ) + { + inbrOfExtensions = inbrOfExtensions - 2; + } + else + { + inbrOfExtensions--; + } + } + + if( inbrOfExtensions ) + { + iRetryCounter = KErrNone; + + if( ReadEDIDDataL() != KErrNone ) + { + ResetData(); + iFSM.Input( EPDEIfEDIDHandler, EPDEIfEDIDHandlerEventEdidDataFetchFailed ); + } + } + else + { + TInt extensions = iEdidParserPtr->GetNumberOfExtensions(); + + INFO_1( "No. of extensions from Block 0: %d", extensions ); + + for( TInt i = 0; i < extensions; ++i ) + { + if( ECea861Ext == iEdidParserPtr->GetExtensionType( i + 1 ) ) + { + INFO_1( "ECea861Ext extension data block number: %d", ( i+1 ) ); + if( !iExtensionParserPtr ) + { + INFO( "First CEA 861 extension is being read..." ); + iExtensionParserPtr + = iEdidParserPtr->CreateCea861ExtensionParserL( i + 1 ); + } + else + { + INFO_1( "CEA 861 extension is being read... at the index %d", i+1 ); + iEdidParserPtr->UpdateCea861ExtensionL( i + 1, iExtensionParserPtr ); + } + } + } + } + + TRACE_EDID_DATA( *iEdidParserPtr ); + + iFSM.Input( EPDEIfEDIDHandler, EPDEIfEDIDHandlerEventEdidDataFetched ); + iRetryCounter = KErrNone; + } else { INFO_1( "CDdcPortAccess::Read failed, error code: %d", iStatus.Int() ); @@ -551,9 +607,10 @@ } else { + // No EDID data available from the sink iRetryCounter = KErrNone; - iFSM.Input( EPDEIfEDIDHandler, - EPDEIfEDIDHandlerEventEdidDataFetchFailed ); + ResetData(); + iFSM.Input( EPDEIfEDIDHandler, EPDEIfEDIDHandlerEventEdidDataFetched ); } } break; @@ -623,8 +680,19 @@ { iDataBlockPtr = new(ELeave) TDataBlock; } + else if( inbrOfExtensions ) + { + if( iDataBlockPtr ) + { + delete iDataBlockPtr; + iDataBlockPtr = NULL; + } + iDataBlockPtr = new(ELeave) TDataBlock; + } + + INFO_1( "Reading EDID block %d...", iCurrentBlock ); - retVal = iDdcPortAccess->Read( EMonitorPort, 0, // First block contains EDID data if that exists + retVal = iDdcPortAccess->Read( EMonitorPort, iCurrentBlock, // First block contains EDID data if that exists iDataBlockPtr->iDataBlock, iStatus ); @@ -643,8 +711,6 @@ { FUNC_LOG; - aTimings.iTvPhysicalImageWidthMm = iEdidParserPtr->GetHorizontalScreenSize() * 10; - aTimings.iTvPhysicalImageHeightMm = iEdidParserPtr->GetVerticalScreenSize() * 10; aTimings.iTvPhysicalImageAspectRatioNumerator = 0; aTimings.iTvPhysicalImageAspectRatioDenominator = 0; aTimings.iHorizontalBorderPixels = 0; @@ -652,15 +718,25 @@ aTimings.iVerticalBorderLinesField2 = 0; aTimings.iLeftBorderPixels = 0; aTimings.iRightBorderPixels = 0; - aTimings.iUnderscanEnabled = EFalse; if( iExtensionParserPtr ) { + INFO("==CEA Extension Exists"); aTimings.iUnderscanEnabled = iExtensionParserPtr->Underscan(); } + else + { + INFO("==No CEA Extension"); + // No CEA Extension so it should be DVI + // Underscan supported always + aTimings.iTvPhysicalImageAspectRatioNumerator = 4; + aTimings.iTvPhysicalImageAspectRatioDenominator = 3; + aTimings.iUnderscanEnabled = ETrue; + } if( aTimings.iUnderscanEnabled ) { + INFO("==Underscan Enabled"); // Underscan aTimings.iLeftTopCorner.iX = 0; aTimings.iLeftTopCorner.iY = 0; @@ -669,23 +745,30 @@ } else { + INFO("==Underscan Disabled"); // Calculate overscan CalculateOverscan( aTimings.iLeftTopCorner, aTimings.iRightBottomCorner ); } - aTimings.iTvPhysicalImageAspectRatioNumerator = iEdidParserPtr->GetAspectRatioLandscape(); - aTimings.iTvPhysicalImageAspectRatioDenominator = iEdidParserPtr->GetAspectRatioPortrait(); aTimings.iConnector = TTvSettings::EHDMI; - aTimings.iTvColorCoordinates.iRed.iX = iEdidParserPtr->GetColorCoordinatesRedX(); - aTimings.iTvColorCoordinates.iRed.iY = iEdidParserPtr->GetColorCoordinatesRedY(); - aTimings.iTvColorCoordinates.iGreen.iX = iEdidParserPtr->GetColorCoordinatesGreenX(); - aTimings.iTvColorCoordinates.iGreen.iY = iEdidParserPtr->GetColorCoordinatesGreenY(); - aTimings.iTvColorCoordinates.iBlue.iX = iEdidParserPtr->GetColorCoordinatesBlueX(); - aTimings.iTvColorCoordinates.iBlue.iY = iEdidParserPtr->GetColorCoordinatesBlueY(); - aTimings.iTvColorCoordinates.iWhite.iX = iEdidParserPtr->GetColorCoordinatesWhiteX(); - aTimings.iTvColorCoordinates.iWhite.iY = iEdidParserPtr->GetColorCoordinatesWhiteY(); - aTimings.iTvHdmiVersion = iEdidParserPtr->GetVersion(); - aTimings.iTvHdmiRevision = iEdidParserPtr->GetRevision(); + + if( iEdidParserPtr ) + { + aTimings.iTvPhysicalImageWidthMm = iEdidParserPtr->GetHorizontalScreenSize() * 10; + aTimings.iTvPhysicalImageHeightMm = iEdidParserPtr->GetVerticalScreenSize() * 10; + aTimings.iTvPhysicalImageAspectRatioNumerator = iEdidParserPtr->GetAspectRatioLandscape(); + aTimings.iTvPhysicalImageAspectRatioDenominator = iEdidParserPtr->GetAspectRatioPortrait(); + aTimings.iTvColorCoordinates.iRed.iX = iEdidParserPtr->GetColorCoordinatesRedX(); + aTimings.iTvColorCoordinates.iRed.iY = iEdidParserPtr->GetColorCoordinatesRedY(); + aTimings.iTvColorCoordinates.iGreen.iX = iEdidParserPtr->GetColorCoordinatesGreenX(); + aTimings.iTvColorCoordinates.iGreen.iY = iEdidParserPtr->GetColorCoordinatesGreenY(); + aTimings.iTvColorCoordinates.iBlue.iX = iEdidParserPtr->GetColorCoordinatesBlueX(); + aTimings.iTvColorCoordinates.iBlue.iY = iEdidParserPtr->GetColorCoordinatesBlueY(); + aTimings.iTvColorCoordinates.iWhite.iX = iEdidParserPtr->GetColorCoordinatesWhiteX(); + aTimings.iTvColorCoordinates.iWhite.iY = iEdidParserPtr->GetColorCoordinatesWhiteY(); + aTimings.iTvHdmiVersion = iEdidParserPtr->GetVersion(); + aTimings.iTvHdmiRevision = iEdidParserPtr->GetRevision(); + } Mem::FillZ( ( TAny* )&aTimings.iProductName, ( sizeof( TChar ) * KProductNameChars ) ); Mem::FillZ( ( TAny* )&aTimings.iProductDescription, ( sizeof( TChar ) * KProductDescriptorsChars ) ); aTimings.iSourceType = THdmiDviTimings::ESourceTypeUnknown; @@ -861,21 +944,44 @@ FUNC_LOG; TInt retVal(KErrNone); - - // Check established timings 1 and 2 - retVal = SetDmtModesFromEstablishedTimings( aTimings ); - - if( KErrNone == retVal ) - { - // Check standard timings - retVal = SetDmtModesFromStandardTimings( aTimings ); - - if( KErrNone == retVal ) - { - // Check timing descriptors - retVal = SetDmtModesFromTimingDescriptors( aTimings ); - } - } + + if( iDataBlockPtr ) + { + // Check established timings 1 and 2 + retVal = SetDmtModesFromEstablishedTimings( aTimings ); + + if( KErrNone == retVal ) + { + // Check standard timings + retVal = SetDmtModesFromStandardTimings( aTimings ); + + if( KErrNone == retVal ) + { + // Check timing descriptors + retVal = SetDmtModesFromTimingDescriptors( aTimings ); + } + } + } + else + { + INFO( "==No EDID available from the Sink. Setting DMT 4" ); + // No EDID data available from the sink + // Default VGA resolution should be selected + THdmiDviTimings timings; + const TTimingItem* item = TimingByIndex( KDefaultDMTModeIndex, ETimingModeDMT ); + if( item ) + { + Mem::FillZ( ( TAny* )&timings, sizeof( timings ) ); + FillHdmiDviTimings( *item, timings ); + retVal = aTimings.Append( timings ); + ERROR_1( retVal, "Failed to append DMT timing: %S in array", item->iTimingName ); + } + else + { + ERROR_1( KErrArgument, "DMT timing item not found for VIC mode: %d", KDefaultDMTModeIndex ); + retVal = KErrNotFound; + } + } return retVal; } @@ -1308,7 +1414,7 @@ // CalculateOverscan //------------------------------------------------------------------------------ // -void CEDIDHandler::UpdateOverscanValues() +TBool CEDIDHandler::UpdateOverscanValues() { FUNC_LOG; @@ -1317,6 +1423,7 @@ TInt vOverscan = 0; CRepository* cenRep = NULL; TInt err = KErrNone; + TBool valChanged = EFalse; TRAP( err, cenRep = CRepository::NewL( KCRUidTvoutSettings ) ); if( err == KErrNone ) @@ -1339,10 +1446,19 @@ // Cleanup delete cenRep; } + + if( (iHOverscan != hOverscan) || (iVOverscan != vOverscan) ) + { + valChanged = ETrue; + } // Update overscan values iHOverscan = hOverscan; iVOverscan = vOverscan; + + INFO_3( "Overscan Values: %d,%d Changed:%d", iHOverscan, iVOverscan, valChanged ); + + return valChanged; } // ---------------------------------------------------------------------------- @@ -1466,6 +1582,16 @@ return retVal; } +void CEDIDHandler::GetCurrentOverscanValue( TInt& aHOverscan, TInt& aVOverscan ) + { + FUNC_LOG; + + aHOverscan = iHOverscan; + aVOverscan = iVOverscan; + + INFO_2("Overscan used: %d, %d", iHOverscan, iVOverscan); + } + //------------------------------------------------------------------------------ // C++ constructor //------------------------------------------------------------------------------ @@ -1476,7 +1602,9 @@ iFSM( aFSM ), iTVOutConfigForHDMI( aTVOutConfigForHDMI ), iRetryCounter( 0 ), - iRequestID( EUndefRequest ) + iRequestID( EUndefRequest ), + inbrOfExtensions( 0 ), + iCurrentBlock( 0 ) { FUNC_LOG; } diff -r 61516c5786af -r 00076e39386f accessoryservices/pluggeddisplay/pluggeddisplayengine/src/hdmicablestateconnected.cpp --- a/accessoryservices/pluggeddisplay/pluggeddisplayengine/src/hdmicablestateconnected.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/accessoryservices/pluggeddisplay/pluggeddisplayengine/src/hdmicablestateconnected.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -28,6 +28,9 @@ #include "tvoutconfigforhdmi.h" #include "edidhandler.h" #include "trace.h" +#include +#include +#include @@ -77,8 +80,73 @@ iTVOutConfigForSettingChanges->Cancel(); delete iTVOutConfigForSettingChanges; } + if ( iCRWatchForVOverScan ) + { + iCRWatchForVOverScan->Cancel(); + delete iCRWatchForVOverScan; + } } +// --------------------------------------------------------------------------- +// From MCentralRepositoryObserver. +// --------------------------------------------------------------------------- +// +void CHDMICableStateConnected::CentRepKeyChanged( + TUid aRepositoryId, + TUint32 aId ) + { + FUNC_LOG; + if ( KCRUidTvoutSettings == aRepositoryId ) + { + if ( KSettingsTvoutVerticalOverscan == aId ) + { + INFO("Cenrep Value Changed"); + if( iEDIDHandler.UpdateOverscanValues() ) + { + INFO( "There is a real change" ); + Input( EPDEIfCentralRepositoryWatch, EPDEIfCentralRepositoryWatchEventKeyChanged ); + } + } + else + { + INFO_1("Unexpected CR key ID, aId 0x%x", aId ); + } + } + else + { + INFO_1("Unexpected Central Repository ID, aRepositoryId 0x%x", aRepositoryId); + } + + } + +// --------------------------------------------------------------------------- +// From MCentralRepositoryObserver. +// --------------------------------------------------------------------------- +// +void CHDMICableStateConnected::CentRepGetKeyValueFailed( + TUid aRepositoryId, + TUint32 aId, + TInt aError ) + { + FUNC_LOG; + // Make use of aError argument top get rid of compiler warning. + TInt error( aError ); + if ( ( KCRUidTvoutSettings == aRepositoryId ) && ( KErrNone != error ) ) + { + if ( KSettingsTvoutVerticalOverscan == aId ) + { + INFO_1(" Getting KSettingsTvoutVerticalOverscan from CR failed, aError %d", error ); + } + else + { + INFO_1("Unexpected CR key ID, aId 0x%x", aId ); + } + } + else + { + INFO_1("Unexpected Central Repository ID, aRepositoryId 0x%x", aRepositoryId); + } + } // --------------------------------------------------------------------------- // From MFSMState. @@ -88,6 +156,11 @@ { FUNC_LOG; TInt retVal( KErrNone ); + + // Get the current overscan value + iEDIDHandler.UpdateOverscanValues(); + iEDIDHandler.GetCurrentOverscanValue( iHOverscanValue, iVOverscanValue ); + iCopyProtectListenFailCounter.iCount = 0; iTVOutConfigForCopyProtect->ResetLatestRecordedCopyProtectionStatus(); retVal = iEDIDHandler.FetchEDIDData(); @@ -330,6 +403,9 @@ } else { + // Update the current overscan value + iEDIDHandler.GetCurrentOverscanValue( iHOverscanValue, iVOverscanValue ); + TFSMEventId event = iTVOutConfigForHDMI.ListenHDMICableStatusIfNoMissedEvents(); if ( EIfTVOutConfigEventCableDisconnected == event ) { @@ -451,6 +527,7 @@ else { iSubState = ESubStateConnected; + TRAPD( err, iHDMICableStatusFSM.SettingsChangedL() ); if ( KErrNone != err ) { @@ -458,6 +535,7 @@ } ListenCopyProtectionStatusChanges(); iTVOutConfigForSettingChanges->ListenSettingsChanges(); + iCRWatchForVOverScan->Watch(); } } else if ( EIfTVOutConfigEventEnableFailed == aEvent ) @@ -500,12 +578,14 @@ INFO( "Event: EIfTVOutConfigEventDisabled" ); iSubState = ESubStateIdlingDisconnectAccessory; iAccessoryControlIf.DisconnectAccessory(); + ClearAvailableTvOutConfig(); } else if ( EIfTVOutConfigEventDisableFailed == aEvent ) { INFO( "Event: EIfTVOutConfigEventDisableFailed" ); iSubState = ESubStateIdlingDisconnectAccessory; iAccessoryControlIf.DisconnectAccessory(); + ClearAvailableTvOutConfig(); } else { @@ -632,6 +712,7 @@ iSubState = ESubStateConnected; ListenCopyProtectionStatusChanges(); iTVOutConfigForSettingChanges->ListenSettingsChanges(); + iCRWatchForVOverScan->Watch(); } } else if ( EPDEIfAccessoryControlEventConnectFailed == aEvent ) @@ -780,6 +861,7 @@ iTVOutConfigForCopyProtect->Cancel(); // Stop listen setting changes iTVOutConfigForSettingChanges->Cancel(); + iCRWatchForVOverScan->Cancel(); iSubState = ESubStateIdlingDisable; iTVOutConfigForHDMI.Disable(); } @@ -792,6 +874,7 @@ iTVOutConfigForCopyProtect->Cancel(); // Stop listen setting changes iTVOutConfigForSettingChanges->Cancel(); + iCRWatchForVOverScan->Cancel(); // Disable tv out iTVOutConfigForHDMI.Disable(); } @@ -808,6 +891,7 @@ iTVOutConfigForCopyProtect->Cancel(); // Stop listen setting changes iTVOutConfigForSettingChanges->Cancel(); + iCRWatchForVOverScan->Cancel(); iTVOutConfigForHDMI.Disable(); } else @@ -821,6 +905,7 @@ iTVOutConfigForCopyProtect->Cancel(); // Stop listen setting changes iTVOutConfigForSettingChanges->Cancel(); + iCRWatchForVOverScan->Cancel(); iSubState = ESubStateIdlingDisable; iTVOutConfigForHDMI.Disable(); } @@ -851,6 +936,7 @@ iTVOutConfigForHDMI.Cancel(); // Stop listening Copy Protection status iTVOutConfigForCopyProtect->Cancel(); + iCRWatchForVOverScan->Cancel(); iSubState = ESubStateRejectingDisable; iTVOutConfigForHDMI.Disable(); } @@ -862,6 +948,7 @@ iTVOutConfigForHDMI.Cancel(); // Stop listening Copy Protection status iTVOutConfigForCopyProtect->Cancel(); + iCRWatchForVOverScan->Cancel(); if ( iTVOutConfigForHDMI.GetTvOutConfig()->Enabled() ) { iSubState = ESubStateResettingDisable; @@ -873,10 +960,17 @@ iTVOutConfigForHDMI.Enable(); } } - else if ( EIfTVOutConfigEventSettingsChangesListenStarted ) + else if ( EIfTVOutConfigEventSettingsChangesListenStarted == aEvent ) { INFO( "Event: EIfTVOutConfigEventSettingsChangesListenStarted" ); // Everything is OK. Stay in the same state. + // Should not miss the cenrep value change + TInt newOverScanValue = 0; + iCRWatchForVOverScan->GetCurrentValue(newOverScanValue); + if( iVOverscanValue != newOverScanValue ) + { + Input( EPDEIfCentralRepositoryWatch, EPDEIfCentralRepositoryWatchEventKeyChanged ); + } } else if ( EIfTVOutConfigEventSettingsChangesListenFailed == aEvent ) { @@ -887,6 +981,7 @@ iTVOutConfigForHDMI.Cancel(); // Stop listening Copy Protection status iTVOutConfigForCopyProtect->Cancel(); + iCRWatchForVOverScan->Cancel(); iTVOutConfigForHDMI.Disable(); } else @@ -895,6 +990,53 @@ } break; } + case EPDEIfCentralRepositoryWatch: + { + INFO( "Interface: EPDEIfCentralRepositoryWatch" ); + if ( EPDEIfCentralRepositoryWatchEventKeyChanged == aEvent ) + { + INFO( "Event: EPDEIfCentralRepositoryWatchEventKeyChanged" ); + + // Get the available config + THdmiDviTimings curConfig; + + iTVOutConfigForHDMI.GetTvOutConfig()->GetConfig( curConfig ); + + if( (TTvSettings::EHDMI == curConfig.iConnector) && (!curConfig.iUnderscanEnabled) ) + { + + TInt retVal = iEDIDHandler.SetVideoParameters(); + if ( KErrNone != retVal ) + { + INFO( "Going to state since video parameter setting failed!" ); + iTVOutConfigForSettingChanges->Cancel(); + iCRWatchForVOverScan->Cancel(); + iSubState = ESubStateIdlingDisable; + iTVOutConfigForHDMI.Disable(); + } + else + { + // Update the current overscan value + iEDIDHandler.GetCurrentOverscanValue( iHOverscanValue, iVOverscanValue ); + + TFSMEventId event = iTVOutConfigForHDMI.ListenHDMICableStatusIfNoMissedEvents(); + if ( EIfTVOutConfigEventCableDisconnected == event ) + { + INFO( "Retreating back to since cable was disconnected while not listening!" ); + iTVOutConfigForSettingChanges->Cancel(); + iCRWatchForVOverScan->Cancel(); + iSubState = ESubStateIdlingDisable; + iTVOutConfigForHDMI.Disable(); + } + } + } + } + else + { + INFO_1( "Unknown Event Id: %i", aEvent ); + } + break; + } default: { INFO_1( "Event received from unknown/unexpected interface Id: %i", aInterfaceId ); @@ -924,16 +1066,43 @@ if ( EIfTVOutConfigEventCableDisconnected == event ) { INFO( "Retreating back to since cable was disconnected while WF setting changes!" ); + + // Stop listening Copy Protection status + iTVOutConfigForCopyProtect->Cancel(); + // Stop listen setting changes iTVOutConfigForSettingChanges->Cancel(); - iHDMICableStatusFSM.Transit( EHDMICableStateIdle ); + iCRWatchForVOverScan->Cancel(); + + if( iTVOutConfigForHDMI.GetTvOutConfig()->Enabled() ) + { + iSubState = ESubStateIdlingDisable; + iTVOutConfigForHDMI.Disable(); + } + else + { + iHDMICableStatusFSM.Transit( EHDMICableStateIdle ); + } } } else if ( EIfTVOutConfigEventCableDisconnected == aEvent ) { INFO( "Event: EIfTVOutConfigEventCableDisconnected" ); INFO( "Retreating back to since cable was disconnected while WF setting changes!" ); - iTVOutConfigForSettingChanges->Cancel(); - iHDMICableStatusFSM.Transit( EHDMICableStateIdle ); + // Stop listening Copy Protection status + iTVOutConfigForCopyProtect->Cancel(); + // Stop listen setting changes + iTVOutConfigForSettingChanges->Cancel(); + iCRWatchForVOverScan->Cancel(); + + if( iTVOutConfigForHDMI.GetTvOutConfig()->Enabled() ) + { + iSubState = ESubStateIdlingDisable; + iTVOutConfigForHDMI.Disable(); + } + else + { + iHDMICableStatusFSM.Transit( EHDMICableStateIdle ); + } } else if ( EIfTVOutConfigEventSettingsChanged == aEvent ) { @@ -945,7 +1114,20 @@ { INFO( "Event: EIfTVOutConfigEventSettingsChangesListenFailed" ); INFO( "Going to state since setting changes listening failed!" ); - iHDMICableStatusFSM.Transit( EHDMICableStateRejected ); + // Stop listening Copy Protection status + iTVOutConfigForCopyProtect->Cancel(); + // Stop listen setting changes + iCRWatchForVOverScan->Cancel(); + + if( iTVOutConfigForHDMI.GetTvOutConfig()->Enabled() ) + { + iSubState = ESubStateIdlingDisable; + iTVOutConfigForHDMI.Disable(); + } + else + { + iHDMICableStatusFSM.Transit( EHDMICableStateRejected ); + } } else { @@ -962,14 +1144,38 @@ } // --------------------------------------------------------------------------- +// ClearAvailableConfig +// --------------------------------------------------------------------------- +// +void CHDMICableStateConnected::ClearAvailableTvOutConfig() + { + FUNC_LOG; + + if( iTVOutConfigForHDMI.GetTvOutConfig() ) + { + RArray HdmiSettingsArray; + RArray TvSettingsArray; + + TInt err = iTVOutConfigForHDMI.GetTvOutConfig()->SetAvailableTvConfigList( TvSettingsArray, HdmiSettingsArray ); + + HdmiSettingsArray.Close(); + TvSettingsArray.Close(); + } + } + + +// --------------------------------------------------------------------------- // ConstructL // --------------------------------------------------------------------------- // void CHDMICableStateConnected::ConstructL() { FUNC_LOG; + // Create Central Repository Watchers + iCRWatchForVOverScan = CCentralRepositoryWatch::NewL(*this, KCRUidTvoutSettings, KSettingsTvoutVerticalOverscan ); + iTVOutConfigForCopyProtect = CTVOutConfigForHDMI::NewL( iHDMICableStatusFSM ); - iTVOutConfigForSettingChanges = CTVOutConfigForHDMI::NewL( iHDMICableStatusFSM ); + iTVOutConfigForSettingChanges = CTVOutConfigForHDMI::NewL( iHDMICableStatusFSM ); } diff -r 61516c5786af -r 00076e39386f accessoryservices/pluggeddisplay/pluggeddisplayengine/src/tvoutconfigforcomposite.cpp --- a/accessoryservices/pluggeddisplay/pluggeddisplayengine/src/tvoutconfigforcomposite.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/accessoryservices/pluggeddisplay/pluggeddisplayengine/src/tvoutconfigforcomposite.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -189,6 +189,48 @@ } // ----------------------------------------------------------------------------- +// CTVOutConfigForComposite::UpdateOverscanValues +// ----------------------------------------------------------------------------- +// +TBool CTVOutConfigForComposite::UpdateOverscanValues() + { + FUNC_LOG; + + // Overscan from cenrep + TInt hOverscan = 0; + TInt vOverscan = 0; + TInt err = KErrNone; + TBool valChanged = EFalse; + + // Horizontal + err = iRepository->Get( KSettingsTvoutHorizontalOverscan, hOverscan ); + if( err != KErrNone ) + { + hOverscan = 0; + } + + // Vertical + err = iRepository->Get( KSettingsTvoutVerticalOverscan, vOverscan ); + if( err != KErrNone ) + { + vOverscan = 0; + } + + if( (iHOverscan != hOverscan) || (iVOverscan != vOverscan) ) + { + valChanged = ETrue; + } + + // Update overscan values + iHOverscan = hOverscan; + iVOverscan = vOverscan; + + INFO_3( "Overscan Values: %d,%d Changed:%d", iHOverscan, iVOverscan, valChanged ); + + return valChanged; + } + +// ----------------------------------------------------------------------------- // CTVOutConfigForComposite::InitializeDriverL // ----------------------------------------------------------------------------- // @@ -216,20 +258,9 @@ ConvertFlickerFilter( value ); settings.iFlickerFilter = ( TTvSettings::TFlickerFilterType ) value; - TInt hOverscan = 0; - TInt vOverscan = 0; - err = iRepository->Get( KSettingsTvoutHorizontalOverscan, hOverscan ); - if( err != KErrNone ) - { - hOverscan = 0; - } - err = iRepository->Get( KSettingsTvoutVerticalOverscan, vOverscan ); - if( err != KErrNone ) - { - vOverscan = 0; - } - settings.iHorizontalOverScan = hOverscan; - settings.iVerticalOverScan = vOverscan; + // Update overscan + settings.iHorizontalOverScan = iHOverscan; + settings.iVerticalOverScan = iVOverscan; // Update the PAR UpdatePixelAspectRatio( settings ); diff -r 61516c5786af -r 00076e39386f accessoryservices/pluggeddisplay/pluggeddisplayengine/src/tvoutconfigforhdmi.cpp --- a/accessoryservices/pluggeddisplay/pluggeddisplayengine/src/tvoutconfigforhdmi.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/accessoryservices/pluggeddisplay/pluggeddisplayengine/src/tvoutconfigforhdmi.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -221,6 +221,7 @@ if ( iLastRecordedCopyProtectEnabledStatus != currentCopyProtectStatus ) { INFO("Copy Protection status changed while not listening."); + iLastRecordedCopyProtectEnabledStatus = currentCopyProtectStatus; retStruct.iFSMEventId = EIfTVOutConfigEventSetCopyProtectStatusChanged; } else if ( !IsActive() ) diff -r 61516c5786af -r 00076e39386f accessoryservices/remotecontrolfw/bearerplugin/bwins/remconbearerpluginU.DEF --- a/accessoryservices/remotecontrolfw/bearerplugin/bwins/remconbearerpluginU.DEF Wed Jun 23 22:58:50 2010 +0100 +++ b/accessoryservices/remotecontrolfw/bearerplugin/bwins/remconbearerpluginU.DEF Thu Jul 22 16:45:41 2010 +0100 @@ -31,4 +31,6 @@ ?NewTransactionId@MRemConBearerBulkObserver@@QAEIXZ @ 30 NONAME ; unsigned int MRemConBearerBulkObserver::NewTransactionId(void) ?NewCommand@MRemConBearerBulkObserver@@QAEHABVTRemConAddress@@ABI@Z @ 31 NONAME ; int MRemConBearerBulkObserver::NewCommand(class TRemConAddress const &, unsigned int const &) ?RemoveAddressing@MRemConBearerBulkObserver@@QAEHABVTRemConAddress@@@Z @ 32 NONAME ; int MRemConBearerBulkObserver::RemoveAddressing(class TRemConAddress const &) + ?UnregisterLocalAddressedClientObserver@MRemConBearerObserver@@QAEHABVTUid@@@Z @ 33 NONAME ; int MRemConBearerObserver::UnregisterLocalAddressedClientObserver(class TUid const &) + ?RegisterLocalAddressedClientObserver@MRemConBearerObserver@@QAEHABVTUid@@@Z @ 34 NONAME ; int MRemConBearerObserver::RegisterLocalAddressedClientObserver(class TUid const &) diff -r 61516c5786af -r 00076e39386f accessoryservices/remotecontrolfw/bearerplugin/eabi/remconbearerpluginU.DEF --- a/accessoryservices/remotecontrolfw/bearerplugin/eabi/remconbearerpluginU.DEF Wed Jun 23 22:58:50 2010 +0100 +++ b/accessoryservices/remotecontrolfw/bearerplugin/eabi/remconbearerpluginU.DEF Thu Jul 22 16:45:41 2010 +0100 @@ -37,4 +37,6 @@ _ZN25MRemConBearerBulkObserver18SetAddressedClientERK14TRemConAddressRKj @ 36 NONAME _ZN25MRemConBearerBulkObserver10NewCommandERK14TRemConAddressRKj @ 37 NONAME _ZN25MRemConBearerBulkObserver16RemoveAddressingERK14TRemConAddress @ 38 NONAME + _ZN21MRemConBearerObserver36RegisterLocalAddressedClientObserverERK4TUid @ 39 NONAME + _ZN21MRemConBearerObserver38UnregisterLocalAddressedClientObserverERK4TUid @ 40 NONAME diff -r 61516c5786af -r 00076e39386f accessoryservices/remotecontrolfw/bearerplugin/public/remconbearerobserver.h --- a/accessoryservices/remotecontrolfw/bearerplugin/public/remconbearerobserver.h Wed Jun 23 22:58:50 2010 +0100 +++ b/accessoryservices/remotecontrolfw/bearerplugin/public/remconbearerobserver.h Thu Jul 22 16:45:41 2010 +0100 @@ -270,6 +270,18 @@ */ IMPORT_C void SetRemoteAddressedClient(const TUid& aBearerUid, const TRemConClientId& aId); + /** + Called by the bearer to indicate it would like to be informed when the + locally addressed client changes. + */ + IMPORT_C TInt RegisterLocalAddressedClientObserver(const TUid& aBearerUid); + + /** + Called by the bearer to indicate it would no longer like to be informed when + the locally addressed client changes. + */ + IMPORT_C TInt UnregisterLocalAddressedClientObserver(const TUid& aBearerUid); + private: /** @see NewResponse. @@ -366,6 +378,16 @@ @see SetRemoteAddressedClient */ virtual void MrcboDoSetRemoteAddressedClient(const TUid& aBearerUid, const TRemConClientId& aId) = 0; + + /** + @see RegisterLocalAddressedClientObserver + */ + virtual TInt MrcboDoRegisterLocalAddressedClientObserver(const TUid& aBearerUid) = 0; + + /** + @see UnregisterLocalAddressedClientObserver + */ + virtual TInt MrcboDoUnregisterLocalAddressedClientObserver(const TUid& aBearerUid) = 0; }; #endif // REMCONBEAREROBSERVER_H diff -r 61516c5786af -r 00076e39386f accessoryservices/remotecontrolfw/bearerplugin/src/remconbearerobserver.cpp --- a/accessoryservices/remotecontrolfw/bearerplugin/src/remconbearerobserver.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/accessoryservices/remotecontrolfw/bearerplugin/src/remconbearerobserver.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -118,7 +118,6 @@ return MrcboDoSupportedInterfaces(aId, aUids); } - EXPORT_C TInt MRemConBearerObserver::SupportedOperations(const TRemConClientId& aId, TUid aInterfaceUid, RArray& aOperations) { return MrcboDoSupportedOperations(aId, aInterfaceUid, aOperations); @@ -129,4 +128,14 @@ MrcboDoSetRemoteAddressedClient(aBearerUid, aId); } +EXPORT_C TInt MRemConBearerObserver::RegisterLocalAddressedClientObserver(const TUid& aBearerUid) + { + return MrcboDoRegisterLocalAddressedClientObserver(aBearerUid); + } +EXPORT_C TInt MRemConBearerObserver::UnregisterLocalAddressedClientObserver(const TUid& aBearerUid) + { + return MrcboDoUnregisterLocalAddressedClientObserver(aBearerUid); + } + + diff -r 61516c5786af -r 00076e39386f accessoryservices/remotecontrolfw/client/intermediate/group/bld.inf --- a/accessoryservices/remotecontrolfw/client/intermediate/group/bld.inf Wed Jun 23 22:58:50 2010 +0100 +++ b/accessoryservices/remotecontrolfw/client/intermediate/group/bld.inf Thu Jul 22 16:45:41 2010 +0100 @@ -23,7 +23,7 @@ PRJ_EXPORTS ../public/remconinterfaceselector.h SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(remconinterfaceselector.h) -../public/remconinterfacebase.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(remcon/remconinterfacebase.h) -../public/remconinterfaceif.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(remcon/remconinterfaceif.h) +../public/remconinterfacebase.h SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(remcon/remconinterfacebase.h) +../public/remconinterfaceif.h SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(remcon/remconinterfaceif.h) ../public/remconerrorobserver.h SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(remconerrorobserver.h) ../public/remconinterfacefeatures.h SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(remcon/remconinterfacefeatures.h) diff -r 61516c5786af -r 00076e39386f accessoryservices/remotecontrolfw/client/intermediate/src/interfaceselector.cpp --- a/accessoryservices/remotecontrolfw/client/intermediate/src/interfaceselector.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/accessoryservices/remotecontrolfw/client/intermediate/src/interfaceselector.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -103,10 +103,11 @@ } CleanupStack::PopAndDestroy(currentHeap); - iLock = new (ELeave) RNestableLock(); - CleanupStack::PushL(iLock); - LEAVEIFERRORL(iLock->CreateLocal()); - CleanupStack::Pop(iLock); + RNestableLock* lock = new (ELeave) RNestableLock; + CleanupStack::PushL(lock); + LEAVEIFERRORL(lock->CreateLocal()); + CleanupStack::Pop(lock); + iLock = lock; } CRemConInterfaceSelector::CRemConInterfaceSelector() @@ -441,15 +442,15 @@ void CRemConInterfaceSelector::BulkSessionConnectL() { LOG_FUNC - iBulkSession = new(ELeave)RRemConBulk(); - CleanupStack::PushL(iBulkSession); - LEAVEIFERRORL(iBulkSession->Connect()); - CleanupStack::Pop(iBulkSession); - CleanupCloseDeleteAndNullPushL(reinterpret_cast(&iBulkSession)); + RRemConBulk* bulkSession = new(ELeave)RRemConBulk; + CleanupStack::PushL(bulkSession); + LEAVEIFERRORL(bulkSession->Connect()); + CleanupClosePushL(*bulkSession); RCIS_VERBOSE_ASSERT(iBulkReceiver, ERemConIfSelInternalError); - iBulkReceiver->InitialiseL(*iBulkSession, iBulkMaxDataLength); - CleanupStack::Pop(&iBulkSession); + iBulkReceiver->InitialiseL(*bulkSession, iBulkMaxDataLength); + CleanupStack::Pop(2, bulkSession); + iBulkSession = bulkSession; } /** diff -r 61516c5786af -r 00076e39386f accessoryservices/remotecontrolfw/server/inc/bearermanager.h --- a/accessoryservices/remotecontrolfw/server/inc/bearermanager.h Wed Jun 23 22:58:50 2010 +0100 +++ b/accessoryservices/remotecontrolfw/server/inc/bearermanager.h Thu Jul 22 16:45:41 2010 +0100 @@ -193,6 +193,9 @@ TInt MrcboDoSupportedInterfaces(const TRemConClientId& aId, RArray& aUids); TInt MrcboDoSupportedOperations(const TRemConClientId& aId, TUid aInterfaceUid, RArray& aOperations); + TInt MrcboDoRegisterLocalAddressedClientObserver(const TUid& aBearerUid); + TInt MrcboDoUnregisterLocalAddressedClientObserver(const TUid& aBearerUid); + private: // utility /** Called during (2-phase) construction to instantiate all the bearer plugins, from ROM only. */ diff -r 61516c5786af -r 00076e39386f accessoryservices/remotecontrolfw/server/inc/server.h --- a/accessoryservices/remotecontrolfw/server/inc/server.h Wed Jun 23 22:58:50 2010 +0100 +++ b/accessoryservices/remotecontrolfw/server/inc/server.h Thu Jul 22 16:45:41 2010 +0100 @@ -254,6 +254,9 @@ TInt ControllerSupportedInterfaces(RArray& aSupportedInterfaces); void SetRemoteAddressedClient(const TUid& aBearerUid, const TRemConClientId& aId); + + TInt RegisterLocalAddressedClientObserver(const TUid& aBearerUid); + TInt UnregisterLocalAddressedClientObserver(const TUid& aBearerUid); public: // called by bulk server TRemConClientId ClientIdByProcessId(TProcessId aProcessId); @@ -521,6 +524,11 @@ // has been loaded. MRemConTargetSelectorPluginInterfaceV4* iTspIf4; + // This is the object supplied by the TSP which implements the TSP V5 API. + // The TSP may not support this interface, so RemCon must handle this + // value being NULL + MRemConTargetSelectorPluginInterfaceV5* iTspIf5; + // Collections we pass to the TSP for it to indicate addressing // information back to us. TSglQue iTspConnections; diff -r 61516c5786af -r 00076e39386f accessoryservices/remotecontrolfw/server/src/bearermanager.cpp --- a/accessoryservices/remotecontrolfw/server/src/bearermanager.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/accessoryservices/remotecontrolfw/server/src/bearermanager.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1111,6 +1111,16 @@ return iServer.SupportedOperations(aId, aInterfaceUid, aOperations); } +TInt CBearerManager::MrcboDoRegisterLocalAddressedClientObserver(const TUid& aBearerUid) + { + return iServer.RegisterLocalAddressedClientObserver(aBearerUid); + } + +TInt CBearerManager::MrcboDoUnregisterLocalAddressedClientObserver(const TUid& aBearerUid) + { + return iServer.UnregisterLocalAddressedClientObserver(aBearerUid); + } + TInt CBearerManager::SetLocalAddressedClient(const TUid& aBearerUid, TRemConClientId aClientId) { LOG_FUNC; diff -r 61516c5786af -r 00076e39386f accessoryservices/remotecontrolfw/server/src/server.cpp --- a/accessoryservices/remotecontrolfw/server/src/server.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/accessoryservices/remotecontrolfw/server/src/server.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -449,6 +449,10 @@ ASSERT_DEBUG(iBearerManager); iBearerManager->TargetClientAvailable(aSession.Id(), aSession.PlayerType(), aSession.PlayerSubType(), aSession.Name()); + if(iTspIf5) + { + iTspIf5->TargetClientAvailable(aSession.ClientInfo()); + } LOGSESSIONS; } @@ -523,7 +527,13 @@ // 1. Remove the session from our array. iSessions.Remove(ii); - // 2. Tell the bearers about the session going away, if it was the + // 2a. Tell the TSP if the session that has gone away is a target + if((aSession.Type() == ERemConClientTypeTarget) && iTspIf5) + { + iTspIf5->TargetClientUnavailable(aSession.ClientInfo()); + } + + // 2b. Tell the bearers about the session going away, if it was the // last controller or last target. // If the session hasn't already set its type, then it doesn't // count (we won't have told the bearers about it to begin with). @@ -1998,6 +2008,10 @@ iTsp->GetInterface(TUid::Uid(KRemConTargetSelectorInterface4)) ); + iTspIf5 = reinterpret_cast( + iTsp->GetInterface(TUid::Uid(KRemConTargetSelectorInterface5)) + ); + // If the TSP doesn't implement the required interface, panic server // startup. ASSERT_ALWAYS(iTspIf); @@ -3385,6 +3399,16 @@ iTspIf4->SetRemoteAddressedClient(aBearerUid, *clientInfo); } +TInt CRemConServer::RegisterLocalAddressedClientObserver(const TUid& aBearerUid) + { + return iTspIf5 ? iTspIf5->RegisterLocalAddressedClientObserver(aBearerUid) : KErrNotSupported; + } + +TInt CRemConServer::UnregisterLocalAddressedClientObserver(const TUid& aBearerUid) + { + return iTspIf5 ? iTspIf5->UnregisterLocalAddressedClientObserver(aBearerUid) : KErrNotSupported; + } + TRemConClientId CRemConServer::ClientIdByProcessId(TProcessId aProcessId) { LOG_FUNC diff -r 61516c5786af -r 00076e39386f accessoryservices/remotecontrolfw/targetselectorplugin/public/remcontargetselectorplugininterface.h --- a/accessoryservices/remotecontrolfw/targetselectorplugin/public/remcontargetselectorplugininterface.h Wed Jun 23 22:58:50 2010 +0100 +++ b/accessoryservices/remotecontrolfw/targetselectorplugin/public/remcontargetselectorplugininterface.h Thu Jul 22 16:45:41 2010 +0100 @@ -340,5 +340,46 @@ const TClientInfo& aClient) = 0; }; +/** +The UID of this version of the Target Selector Plugin interface. +*/ +const TInt KRemConTargetSelectorInterface5 = 0x2002e6e1; + +class MRemConTargetSelectorPluginInterfaceV5 + { +public: + /** Called by RemCon when a new target client has connected. + + @aClientInfo The information about the new client. + */ + virtual void TargetClientAvailable(const TClientInfo& aClientInfo) = 0; + + /** Called by RemCon when a target client has disconnected. + + @aClientInfo The information about the client that has disconnected. + */ + virtual void TargetClientUnavailable(const TClientInfo& aClientInfo) = 0; + + /** Called by RemCon when a bearer wishes to begin being informed when + the locally addressed player changes. Once this function has been called + the TSP should inform RemCon via SetLocalAddressedPlayer each time the + player to which incoming commands from aBearer would be routed changes. + This might occur for example if a new application is launched, or if the + foreground application changes, depending on what the TSP's rules are + for deciding the target of the incoming message. These updates should + occur until UnregisterLocalAddressedClientObserver is called. + + @param aBearerUid The bearer that wishes to be informed of updates + */ + virtual TInt RegisterLocalAddressedClientObserver(const TUid& aBearerUid) = 0; + + /** Called by RemCon when a bearer wishes to stop being informed of + changes to the local addresse client. + + @param aBearerUid The bearer that no longer wishes to be informed of updates + */ + virtual TInt UnregisterLocalAddressedClientObserver(const TUid& aBearerUid) = 0; + }; + #endif // TARGETSELECTORPLUGININTERFACE_H diff -r 61516c5786af -r 00076e39386f accessoryservices/remotecontrolfw/types/group/bld.inf --- a/accessoryservices/remotecontrolfw/types/group/bld.inf Wed Jun 23 22:58:50 2010 +0100 +++ b/accessoryservices/remotecontrolfw/types/group/bld.inf Thu Jul 22 16:45:41 2010 +0100 @@ -24,7 +24,7 @@ PRJ_EXPORTS ../public/remconaddress.h SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(remconaddress.h) ../public/playertype.h SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(remcon/playertype.h) -../public/messagetype.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(remcon/messagetype.h) -../public/clienttype.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(remcon/clienttype.h) +../public/messagetype.h SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(remcon/messagetype.h) +../public/clienttype.h SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(remcon/clienttype.h) ../public/clientid.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(remcon/clientid.h) ../public/remconifdetails.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(remcon/remconifdetails.h) diff -r 61516c5786af -r 00076e39386f commonservices/PlatformEnv/rom/PlatformEnv.iby --- a/commonservices/PlatformEnv/rom/PlatformEnv.iby Wed Jun 23 22:58:50 2010 +0100 +++ b/commonservices/PlatformEnv/rom/PlatformEnv.iby Thu Jul 22 16:45:41 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2002-2010 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" @@ -22,10 +22,12 @@ file=ABI_DIR\BUILD_DIR\PlatformEnv.dll SHARED_LIB_DIR\PlatformEnv.dll #ifdef FF_USE_MASS_STORAGE_CONFIG -patchdata PlatformEnv.dll@KDriveInfoDefaultRemovableMassStorage 5 // EDriveF -patchdata PlatformEnv.dll@KDriveInfoLogicallyRemovableDrive1 4 // EDriveE +patchdata PlatformEnv.dll@KDriveInfoDefaultRemovableMassStorage FF_DEFAULT_REMOVABLE_MASS_STORAGE +patchdata PlatformEnv.dll@KDriveInfoLogicallyRemovableDrive1 FF_LOGICALLY_REMOVABLE_DRIVE1 #endif // FF_USE_MASS_STORAGE_CONFIG +patchdata PlatformEnv.dll@KDriveInfoUsbDrivesStart FF_USB_DRIVE_START + file=ABI_DIR\BUILD_DIR\disknotifyhandler.dll SHARED_LIB_DIR\disknotifyhandler.dll file=ABI_DIR\BUILD_DIR\sysversioninfo.dll SHARED_LIB_DIR\sysversioninfo.dll file=ABI_DIR\BUILD_DIR\platformver.dll SHARED_LIB_DIR\platformver.dll diff -r 61516c5786af -r 00076e39386f commonservices/activitymanager/group/activitymanager.mrp --- a/commonservices/activitymanager/group/activitymanager.mrp Wed Jun 23 22:58:50 2010 +0100 +++ b/commonservices/activitymanager/group/activitymanager.mrp Thu Jul 22 16:45:41 2010 +0100 @@ -1,19 +1,3 @@ -# -# 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: -# - component activitymanager source \sf\os\devicesrv\commonservices\activitymanager binary \sf\os\devicesrv\commonservices\activitymanager\group all diff -r 61516c5786af -r 00076e39386f commonservices/activitymanager/test/tef/group/te_activitymanagerteftests.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commonservices/activitymanager/test/tef/group/te_activitymanagerteftests.pkg Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,28 @@ +; +; Copyright (c) 2010 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: +; + + +;Languages +&EN + + +;Localised Vendor name +%{"activitymanagerteftests EN"} + +; Vendor name +: "activitymanagerteftests" + +"\sf\os\devicesrv\commonservices\activitymanager\test\tef\group\te_activitymanagerteftests.script"-"c:\devicesrv\activitymanagertest\te_activitymanagerteftests.script" diff -r 61516c5786af -r 00076e39386f commonservices/group/bld.inf --- a/commonservices/group/bld.inf Wed Jun 23 22:58:50 2010 +0100 +++ b/commonservices/group/bld.inf Thu Jul 22 16:45:41 2010 +0100 @@ -22,9 +22,11 @@ PRJ_MMPFILES +#include "../activitymanager/group/bld.inf" #include "../commonengine/group/bld.inf" #include "../commonengineresources/group/bld.inf" #include "../PlatformEnv/group/bld.inf" +#include "../sysutil/group/bld.inf" PRJ_TESTMMPFILES diff -r 61516c5786af -r 00076e39386f commonservices/layers.sysdef.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commonservices/layers.sysdef.xml Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + \ No newline at end of file diff -r 61516c5786af -r 00076e39386f commonservices/sysutil/group/sysutil.mrp --- a/commonservices/sysutil/group/sysutil.mrp Wed Jun 23 22:58:50 2010 +0100 +++ b/commonservices/sysutil/group/sysutil.mrp Thu Jul 22 16:45:41 2010 +0100 @@ -1,19 +1,3 @@ -# -# 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: -# - component sysutil source \sf\os\devicesrv\commonservices\sysutil binary \sf\os\devicesrv\commonservices\sysutil\group all diff -r 61516c5786af -r 00076e39386f commonservices/sysutil/layers.sysdef.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commonservices/sysutil/layers.sysdef.xml Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + \ No newline at end of file diff -r 61516c5786af -r 00076e39386f commonservices/sysutil/src/sysutil.cpp --- a/commonservices/sysutil/src/sysutil.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/commonservices/sysutil/src/sysutil.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -834,7 +834,7 @@ _LIT( KWildCardChar, "*" ); RFs fs; - fs.Connect(); + User::LeaveIfError( fs.Connect() ); CleanupClosePushL( fs ); // Get the localised version of deviceattributes.ini, if available, and use diff -r 61516c5786af -r 00076e39386f commonservices/sysutil/test/tef/group/te_sysutilteftests.iby --- a/commonservices/sysutil/test/tef/group/te_sysutilteftests.iby Wed Jun 23 22:58:50 2010 +0100 +++ b/commonservices/sysutil/test/tef/group/te_sysutilteftests.iby Thu Jul 22 16:45:41 2010 +0100 @@ -42,10 +42,10 @@ #ifndef SYSUTIL_Z_DRIVE_FILES_PRESENT #define SYSUTIL_Z_DRIVE_FILES_PRESENT -data = EPOCROOT##epoc32\data\z\resource\versions\lang.txt \resource\versions\lang.txt -data = EPOCROOT##epoc32\data\z\resource\versions\langsw.txt \resource\versions\langsw.txt -data = EPOCROOT##epoc32\data\z\resource\versions\sw.txt \resource\versions\sw.txt -data = EPOCROOT##epoc32\data\z\resource\versions\purpose.txt \resource\versions\purpose.txt +//data = EPOCROOT##epoc32\data\z\resource\versions\lang.txt \resource\versions\lang.txt +//data = EPOCROOT##epoc32\data\z\resource\versions\langsw.txt \resource\versions\langsw.txt +//data = EPOCROOT##epoc32\data\z\resource\versions\sw.txt \resource\versions\sw.txt +//data = EPOCROOT##epoc32\data\z\resource\versions\purpose.txt \resource\versions\purpose.txt #endif data = EPOCROOT##epoc32\data\z\resource\versions\nocontent\lang.txt \resource\versions\nocontent\lang.txt diff -r 61516c5786af -r 00076e39386f commonservices/sysutil/test/tef/group/te_sysutilteftests.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commonservices/sysutil/test/tef/group/te_sysutilteftests.pkg Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,28 @@ +; +; Copyright (c) 2010 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: +; + + +;Languages +&EN + + +;Localised Vendor name +%{"SysUtilTefTests EN"} + +; Vendor name +: "SysUtilTefTests" + +"\sf\os\devicesrv\commonservices\sysutil\test\tef\group\te_sysutilteftests.script"-"c:\devicesrv\sysutiltest\te_sysutilteftests.script" diff -r 61516c5786af -r 00076e39386f devicesrv_info/devicesrv_metadata/devicesrv_metadata.mrp --- a/devicesrv_info/devicesrv_metadata/devicesrv_metadata.mrp Wed Jun 23 22:58:50 2010 +0100 +++ b/devicesrv_info/devicesrv_metadata/devicesrv_metadata.mrp Thu Jul 22 16:45:41 2010 +0100 @@ -1,23 +1,6 @@ -# -# 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: -# - component devicesrv_metadata source \sf\os\devicesrv\devicesrv_info\devicesrv_metadata source \sf\os\devicesrv\package_definition.xml source \sf\os\devicesrv\distribution.policy.s60 -source \sf\os\devicesrv\package_definition_v2.xml notes_source \component_defs\release.src ipr T diff -r 61516c5786af -r 00076e39386f devicesrv_plat/accessory_api/inc/AccessoryConnection.h --- a/devicesrv_plat/accessory_api/inc/AccessoryConnection.h Wed Jun 23 22:58:50 2010 +0100 +++ b/devicesrv_plat/accessory_api/inc/AccessoryConnection.h Thu Jul 22 16:45:41 2010 +0100 @@ -21,7 +21,7 @@ #define RACCESSORYCONNECTION_H // INCLUDES -#include "accessoryconnectionbase.h" +#include "AccessoryConnectionBase.h" // FORWARD DECLARATIONS class TAccPolGenericIDArray; diff -r 61516c5786af -r 00076e39386f devicesrv_plat/accessory_api/inc/AccessoryConnectionBase.h --- a/devicesrv_plat/accessory_api/inc/AccessoryConnectionBase.h Wed Jun 23 22:58:50 2010 +0100 +++ b/devicesrv_plat/accessory_api/inc/AccessoryConnectionBase.h Thu Jul 22 16:45:41 2010 +0100 @@ -21,9 +21,9 @@ #define RACCESSORYCONNECTIONBASE_H // INCLUDES -#include -#include -#include +#include +#include +#include // FORWARD DECLARATIONS class CAccPolSubblockNameArray; diff -r 61516c5786af -r 00076e39386f devicesrv_plat/accessory_api/inc/AccessoryMode.h --- a/devicesrv_plat/accessory_api/inc/AccessoryMode.h Wed Jun 23 22:58:50 2010 +0100 +++ b/devicesrv_plat/accessory_api/inc/AccessoryMode.h Thu Jul 22 16:45:41 2010 +0100 @@ -21,9 +21,9 @@ #define RACCESSORYMODE_H // INCLUDES -#include -#include -#include +#include +#include +#include // FORWARD DECLARATIONS class RAccessoryServer; diff -r 61516c5786af -r 00076e39386f devicesrv_plat/accessory_api/inc/AccessorySingleConnection.h --- a/devicesrv_plat/accessory_api/inc/AccessorySingleConnection.h Wed Jun 23 22:58:50 2010 +0100 +++ b/devicesrv_plat/accessory_api/inc/AccessorySingleConnection.h Thu Jul 22 16:45:41 2010 +0100 @@ -21,7 +21,7 @@ #define RACCESSORYSINGLECONNECTION_H // INCLUDES -#include "accessoryconnectionbase.h" +#include "AccessoryConnectionBase.h" // FORWARD DECLARATIONS diff -r 61516c5786af -r 00076e39386f devicesrv_plat/accessory_api/inc/AccessoryTypes.h --- a/devicesrv_plat/accessory_api/inc/AccessoryTypes.h Wed Jun 23 22:58:50 2010 +0100 +++ b/devicesrv_plat/accessory_api/inc/AccessoryTypes.h Thu Jul 22 16:45:41 2010 +0100 @@ -20,10 +20,10 @@ #define ACCESSORYTYPES_H // INCLUDES -#include -#include -#include -#include +#include +#include +#include +#include // CONSTANTS diff -r 61516c5786af -r 00076e39386f devicesrv_plat/accessory_audio_control_api/inc/AccessoryAudioControl.h --- a/devicesrv_plat/accessory_audio_control_api/inc/AccessoryAudioControl.h Wed Jun 23 22:58:50 2010 +0100 +++ b/devicesrv_plat/accessory_audio_control_api/inc/AccessoryAudioControl.h Thu Jul 22 16:45:41 2010 +0100 @@ -20,7 +20,7 @@ #define RACCESSORYAUDIOCONTROL_H // INCLUDES -#include +#include // CLASS DECLARATION diff -r 61516c5786af -r 00076e39386f devicesrv_plat/accessory_bluetooth_control_api/inc/AccessoryBTControl.h --- a/devicesrv_plat/accessory_bluetooth_control_api/inc/AccessoryBTControl.h Wed Jun 23 22:58:50 2010 +0100 +++ b/devicesrv_plat/accessory_bluetooth_control_api/inc/AccessoryBTControl.h Thu Jul 22 16:45:41 2010 +0100 @@ -21,7 +21,7 @@ #define RACCESSORYBTCONTROL_H // INCLUDES -#include +#include #include //TBTDevAddr // DATA TYPES diff -r 61516c5786af -r 00076e39386f devicesrv_plat/accessory_control_api/inc/AccModeSettingArray.h --- a/devicesrv_plat/accessory_control_api/inc/AccModeSettingArray.h Wed Jun 23 22:58:50 2010 +0100 +++ b/devicesrv_plat/accessory_control_api/inc/AccModeSettingArray.h Thu Jul 22 16:45:41 2010 +0100 @@ -21,7 +21,7 @@ #define ACCMODESETTINGARRAY_H // INCLUDES -#include +#include // CONSTANTS // Maximum number of settings TAccModeSettingArray can store. diff -r 61516c5786af -r 00076e39386f devicesrv_plat/accessory_control_api/inc/AccessoryControl.h --- a/devicesrv_plat/accessory_control_api/inc/AccessoryControl.h Wed Jun 23 22:58:50 2010 +0100 +++ b/devicesrv_plat/accessory_control_api/inc/AccessoryControl.h Thu Jul 22 16:45:41 2010 +0100 @@ -20,7 +20,7 @@ #define RACCESSORYCONTROL_H // INCLUDES -#include +#include // FORWARD DECLARATIONS class TAccPolGenericID; diff -r 61516c5786af -r 00076e39386f devicesrv_plat/accessory_control_api/inc/AccessorySettings.h --- a/devicesrv_plat/accessory_control_api/inc/AccessorySettings.h Wed Jun 23 22:58:50 2010 +0100 +++ b/devicesrv_plat/accessory_control_api/inc/AccessorySettings.h Thu Jul 22 16:45:41 2010 +0100 @@ -22,11 +22,11 @@ // INCLUDES #include -#include -#include -#include -#include "accessorysubsessionbase.h" -#include "accessoryserver.h" +#include +#include +#include +#include "AccessorySubsessionBase.h" +#include "AccessoryServer.h" // FORWARD DECLARATIONS diff -r 61516c5786af -r 00076e39386f devicesrv_plat/accessory_plugin_api/inc/AsyCmdTypes.h --- a/devicesrv_plat/accessory_plugin_api/inc/AsyCmdTypes.h Wed Jun 23 22:58:50 2010 +0100 +++ b/devicesrv_plat/accessory_plugin_api/inc/AsyCmdTypes.h Thu Jul 22 16:45:41 2010 +0100 @@ -20,8 +20,8 @@ #define ASYCMDTYPES_H // INCLUDES -#include -#include +#include +#include // CONSTANTS diff -r 61516c5786af -r 00076e39386f devicesrv_plat/accessory_policy_definitions_api/inc/AccPolCommonNameValuePairs.h --- a/devicesrv_plat/accessory_policy_definitions_api/inc/AccPolCommonNameValuePairs.h Wed Jun 23 22:58:50 2010 +0100 +++ b/devicesrv_plat/accessory_policy_definitions_api/inc/AccPolCommonNameValuePairs.h Thu Jul 22 16:45:41 2010 +0100 @@ -293,8 +293,18 @@ // I/O Type: From terminal to accessory. // Description: Gets value(s) of specific Audio Control object(s). // Sets value(s) for specific Audio Control object(s). +// Bitmask: 000000 00000 10010 +const TUint32 KAccAudioControl = 0x0012; + +// REQ-417-64804: In-Car optimized Device +// Name: RTP Streaming +// Value: N/A +// Dynamic Type: Static +// I/O: From accessory to terminal, input. +// Description: indicates that accessory supports RPT streaming channel for audio data. // Bitmask: 000000 00000 10011 -const TUint32 KAccAudioControl = 0x0012; +const TUint32 KAccRTPStreaming = 0x0013; +// REQ-417-64804: In-Car optimized Device // CAR KIT SB NAME-VALUE PAIRS: diff -r 61516c5786af -r 00076e39386f devicesrv_plat/accessory_policy_definitions_api/inc/AccPolGenericIdDefinitions.h --- a/devicesrv_plat/accessory_policy_definitions_api/inc/AccPolGenericIdDefinitions.h Wed Jun 23 22:58:50 2010 +0100 +++ b/devicesrv_plat/accessory_policy_definitions_api/inc/AccPolGenericIdDefinitions.h Thu Jul 22 16:45:41 2010 +0100 @@ -23,7 +23,7 @@ // INCLUDES #include #include -#include +#include // CONSTANTS diff -r 61516c5786af -r 00076e39386f devicesrv_plat/accessory_policy_utility_api/inc/AccConGenericID.h --- a/devicesrv_plat/accessory_policy_utility_api/inc/AccConGenericID.h Wed Jun 23 22:58:50 2010 +0100 +++ b/devicesrv_plat/accessory_policy_utility_api/inc/AccConGenericID.h Thu Jul 22 16:45:41 2010 +0100 @@ -23,7 +23,7 @@ #define CACCCONGENERICID_H // INCLUDES -#include +#include // CONSTANTS diff -r 61516c5786af -r 00076e39386f devicesrv_plat/accessory_policy_utility_api/inc/AccPolNameRecord.h --- a/devicesrv_plat/accessory_policy_utility_api/inc/AccPolNameRecord.h Wed Jun 23 22:58:50 2010 +0100 +++ b/devicesrv_plat/accessory_policy_utility_api/inc/AccPolNameRecord.h Thu Jul 22 16:45:41 2010 +0100 @@ -22,7 +22,7 @@ // INCLUDES #include -#include +#include // CONSTANTS diff -r 61516c5786af -r 00076e39386f devicesrv_plat/accessory_policy_utility_api/inc/AccPolNameValueRecord.h --- a/devicesrv_plat/accessory_policy_utility_api/inc/AccPolNameValueRecord.h Wed Jun 23 22:58:50 2010 +0100 +++ b/devicesrv_plat/accessory_policy_utility_api/inc/AccPolNameValueRecord.h Thu Jul 22 16:45:41 2010 +0100 @@ -26,8 +26,8 @@ // INCLUDES #include -#include -#include +#include +#include // CONSTANTS diff -r 61516c5786af -r 00076e39386f devicesrv_plat/autoaudio_plugin_api/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/devicesrv_plat/autoaudio_plugin_api/group/bld.inf Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,25 @@ +/* +* Copyright (c) 2008 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: Exports the files of Automotive Audio Plugin API. +* +*/ + + +#include + +PRJ_PLATFORMS +DEFAULT + +PRJ_EXPORTS +../inc/autoaudiopskeys.h OS_LAYER_PLATFORM_EXPORT_PATH(autoaudiopskeys.h) diff -r 61516c5786af -r 00076e39386f devicesrv_plat/autoaudio_plugin_api/inc/autoaudiopskeys.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/devicesrv_plat/autoaudio_plugin_api/inc/autoaudiopskeys.h Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,50 @@ +/* +* Copyright (c) 2010 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: Provides P&S Key Defintions for Autoaudio ASY +* +*/ + +#ifndef _AUTOAUDIO_PS_KEYS_ +#define _AUTOAUDIO_PS_KEYS_ + +#include + +/// header for defining P&S keys for automotive audio use cases +/// accessory server is responsible for defining below P&S keys during start-up +/// Automotive Server is responsible for publishing key values + +/// key for monitoring the connection status of RTP Streaming +/// client : AutoAudio ASY, publisher : automotive server +/// value : TPSAutoAudioConnectionStatus +const TUint KPSAutoKeyRTPStreamingConnectionStatus = 0x2; + +enum TPSAutoAudioConnectionStatus +{ + EAudioConnectionStatusNone, // Notifies Accessory Disconnection + EAudioConnectionStatusUnidirectional, // application sound only + EAudioConnectionStatusBidirectional // application sound + phone call +}; + + +/// key for monitoring the connection status of USB Audio +/// client : accessory FW, publisher : USB audio class controller +/// value : TPSAutoAudioConnectionStatus +// const TUint KPSAutoKeyUSBAudioConnectionStatus = 0x3; + +/// key for monitoring the successful launch of USB Audio. +/// client : USB audio class controller, publisher : USB Audio streaming implementation +/// value : TPSAutoAudioRunningStatus +// const TUint KPSAutoKeyUSBAudioRunningStatus = 0x4; + +#endif // _AUTOAUDIO_PS_KEYS_ diff -r 61516c5786af -r 00076e39386f devicesrv_plat/common_dsy_plugin_api/inc/CDSYMessageStructures.h --- a/devicesrv_plat/common_dsy_plugin_api/inc/CDSYMessageStructures.h Wed Jun 23 22:58:50 2010 +0100 +++ b/devicesrv_plat/common_dsy_plugin_api/inc/CDSYMessageStructures.h Thu Jul 22 16:45:41 2010 +0100 @@ -21,8 +21,8 @@ // INCLUDES -#include -#include +#include +#include diff -r 61516c5786af -r 00076e39386f devicesrv_plat/configuration_file_parser_api/inc/AccConfigFileParser.h --- a/devicesrv_plat/configuration_file_parser_api/inc/AccConfigFileParser.h Wed Jun 23 22:58:50 2010 +0100 +++ b/devicesrv_plat/configuration_file_parser_api/inc/AccConfigFileParser.h Thu Jul 22 16:45:41 2010 +0100 @@ -22,8 +22,8 @@ // INCLUDES #include -#include -#include +#include +#include // CONSTANTS diff -r 61516c5786af -r 00076e39386f devicesrv_plat/ddc_access_api/inc/ddc_access.h --- a/devicesrv_plat/ddc_access_api/inc/ddc_access.h Wed Jun 23 22:58:50 2010 +0100 +++ b/devicesrv_plat/ddc_access_api/inc/ddc_access.h Thu Jul 22 16:45:41 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2010 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" @@ -11,9 +11,57 @@ * * Contributors: * -* Description: This API provides access to the display driver. +* Description: API for DDC (E-EDID and displayID) read from DVI/HDMI display * */ +/* + + + + + + + + ddc_access.dll + ---------------- + + SW Include Document - C++ + + + + + + + + +Module name: ddc_access.dll + +Filename: ddc_access.h + +Working copy: ddc_access + +* Continuus version : +* %version: 2 %, + %date_modified: Thu May 06 12:35:27 2010 % + +---------------------------------------------------------------------------*/ +/** + + @mainpage + @section intro_sec Introduction + +

This is adaptation component which hides hw-drivers from users. + Because this is adaptation API, and user is also adaptation, this + API is not binary compatible, only source compatible.

+ +

API for DDC (E-EDID and displayID) read from DVI/HDMI display.

+ +

@see EDDCv1_2.pdf/DisplayIDv1.pdf/EEDIDrAr2.pdf (or newer) for more details

+ +*/ +/** @file + +*///========================================================================= #ifndef __DDC_ACCESS_H__ @@ -22,18 +70,23 @@ //- Include Files ---------------------------------------------------------- -#include +#ifndef __KERNEL_MODE__ + #include +#else + #include +#endif //__KERNEL_MODE__ //- Enumerations and consts ------------------------------------------------- /** API version number: + 2: __KERNEL_MODE__ definitions, capability ECapabilityReadDeviceData 1: First version */ const TUint KDdcAccessVersion = 1; -///One DDC segment size +///One DDC segment size. See that EDID block size is just 128 bytes, so base-EDID read might contain one EDID extension const TUint KSizeOfSegment = 256; -/** One data block array, See that EDID block size is just 128 bytes, so one read contains one EDID extension (if exists) */ +/** One data block array */ typedef TUint8 TDataBlock[ KSizeOfSegment ]; ///DDC port enumerations @@ -69,6 +122,7 @@ //- Class Definitions ------------------------------------------------------- +#ifndef __KERNEL_MODE__ /** Adaptation API for VESA's E-DDC (Enhanced Display Data Channel) raw read @@ -94,20 +148,19 @@ DisplayID is "second generation" of EDID, and it is proposed to be used. - See the method reads one TDataBlock, and it size is double of one EDID block, - so the first EDID read might get base-EDID and first extension, if exists. - With variable size DisplayID, method reads anyway whole size of TDataBlock, - even DisplayID section is smaller. + The method reads one TDataBlock, and its size is double of one EDID block, + so the first EDID read might get base-EDID and first extension, if such exists. + With variable size DisplayID, method reads the whole size of TDataBlock anyway, + even if DisplayID section is smaller. - @param aDdcPort DDC port which to be read - @param aBlockNumber Datablock which to be read (parameter maps to segment-register 0x60) + @param aDdcPort DDC port which needs to be read + @param aBlockNumber Datablock which needs to be read (parameter maps to segment-register 0x60) @param aDataBlock Method fills this with read values. Ensure that this data exists all the time, be careful if local variable. @param aCompletedWhenRead Will be completed when ready, if no errors, then aDataBlock contains read values @return KErrNone if success */ virtual TInt Read(TDdcPort aDdcPort, TUint aBlockNumber, TDataBlock& aDataBlock, TRequestStatus& aCompletedWhenRead) = 0; - /** Cancels all TRequestStatuses. - @return KErrNone if success */ + /** Cancels all TRequestStatuses. */ virtual void CancelAll() = 0; protected: @@ -117,7 +170,7 @@ virtual void ConstructL() = 0; }; - +#endif //__KERNEL_MODE__ //- Global Function Prototypes ---------------------------------------------- diff -r 61516c5786af -r 00076e39386f devicesrv_plat/dos_extension_plugin_api/inc/dosdsy.h --- a/devicesrv_plat/dos_extension_plugin_api/inc/dosdsy.h Wed Jun 23 22:58:50 2010 +0100 +++ b/devicesrv_plat/dos_extension_plugin_api/inc/dosdsy.h Thu Jul 22 16:45:41 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2002-2010 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" @@ -21,7 +21,7 @@ #include #include // THCIConnHandle, TBDAddress -#include "dossvrservices.h" // TBTDeviceType +#include // TBTDeviceType class CDosExtensionBase; diff -r 61516c5786af -r 00076e39386f devicesrv_plat/dos_extension_plugin_api/inc/doseventmanager.h --- a/devicesrv_plat/dos_extension_plugin_api/inc/doseventmanager.h Wed Jun 23 22:58:50 2010 +0100 +++ b/devicesrv_plat/dos_extension_plugin_api/inc/doseventmanager.h Thu Jul 22 16:45:41 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2002-2010 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" @@ -20,7 +20,7 @@ #ifndef __DOSEVENTMANAGER_H__ #define __DOSEVENTMANAGER_H__ -#include "dossvrservices.h" +#include #include "doseventmanagerbase.h" /** diff -r 61516c5786af -r 00076e39386f devicesrv_plat/group/bld.inf --- a/devicesrv_plat/group/bld.inf Wed Jun 23 22:58:50 2010 +0100 +++ b/devicesrv_plat/group/bld.inf Thu Jul 22 16:45:41 2010 +0100 @@ -68,3 +68,6 @@ #include "../sensor_data_compensator_plugin_api/group/bld.inf" #include "../ddc_access_api/group/bld.inf" #include "../tv_out_behaviour_api/group/bld.inf" +#ifdef FF_AUTOMOTIVESTACK +#include "../autoaudio_plugin_api/group/bld.inf" +#endif diff -r 61516c5786af -r 00076e39386f devicesrv_plat/mediator_command_responder_api/inc/MediatorCommandResponder.h --- a/devicesrv_plat/mediator_command_responder_api/inc/MediatorCommandResponder.h Wed Jun 23 22:58:50 2010 +0100 +++ b/devicesrv_plat/mediator_command_responder_api/inc/MediatorCommandResponder.h Thu Jul 22 16:45:41 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2005-2010 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" @@ -21,7 +21,7 @@ // INCLUDES #include -#include +#include // FORWARD DECLARATION class CMediatorCommandResponderBody; diff -r 61516c5786af -r 00076e39386f devicesrv_plat/mediator_event_consumer_api/inc/MediatorEventConsumer.h --- a/devicesrv_plat/mediator_event_consumer_api/inc/MediatorEventConsumer.h Wed Jun 23 22:58:50 2010 +0100 +++ b/devicesrv_plat/mediator_event_consumer_api/inc/MediatorEventConsumer.h Thu Jul 22 16:45:41 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2005-2010 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" @@ -20,7 +20,7 @@ // INCLUDES #include -#include +#include // FORWARD DECLARATIONS class CMediatorEventConsumerBody; diff -r 61516c5786af -r 00076e39386f devicesrv_plat/mediator_event_provider_api/inc/MediatorEventProvider.h --- a/devicesrv_plat/mediator_event_provider_api/inc/MediatorEventProvider.h Wed Jun 23 22:58:50 2010 +0100 +++ b/devicesrv_plat/mediator_event_provider_api/inc/MediatorEventProvider.h Thu Jul 22 16:45:41 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2005-2010 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" @@ -21,7 +21,7 @@ // INCLUDES #include -#include +#include // FORWARD DECLARATION class CMediatorEventProviderBody; diff -r 61516c5786af -r 00076e39386f devicesrv_plat/mediator_notification_api/inc/MediatorNotifications.h --- a/devicesrv_plat/mediator_notification_api/inc/MediatorNotifications.h Wed Jun 23 22:58:50 2010 +0100 +++ b/devicesrv_plat/mediator_notification_api/inc/MediatorNotifications.h Thu Jul 22 16:45:41 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2005-2010 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" @@ -21,7 +21,7 @@ // INCLUDES #include -#include +#include // FORWARD DECLARATIONS class CMediatorNotificationsBody; diff -r 61516c5786af -r 00076e39386f devicesrv_plat/remote_control_extension_api/inc/RemConCallHandlingTarget.h --- a/devicesrv_plat/remote_control_extension_api/inc/RemConCallHandlingTarget.h Wed Jun 23 22:58:50 2010 +0100 +++ b/devicesrv_plat/remote_control_extension_api/inc/RemConCallHandlingTarget.h Thu Jul 22 16:45:41 2010 +0100 @@ -23,7 +23,7 @@ #define CREMCONCALLHANDLINGTARGET_H // INCLUDES -#include +#include #include #include #include diff -r 61516c5786af -r 00076e39386f devicesrv_plat/remote_control_extension_api/inc/RemConPocTarget.h --- a/devicesrv_plat/remote_control_extension_api/inc/RemConPocTarget.h Wed Jun 23 22:58:50 2010 +0100 +++ b/devicesrv_plat/remote_control_extension_api/inc/RemConPocTarget.h Thu Jul 22 16:45:41 2010 +0100 @@ -23,7 +23,7 @@ #define CREMCONPOCTARGET_H // INCLUDES -#include +#include #include #include #include diff -r 61516c5786af -r 00076e39386f devicesrv_plat/remote_control_extension_api/inc/RemConSynchronizationTarget.h --- a/devicesrv_plat/remote_control_extension_api/inc/RemConSynchronizationTarget.h Wed Jun 23 22:58:50 2010 +0100 +++ b/devicesrv_plat/remote_control_extension_api/inc/RemConSynchronizationTarget.h Thu Jul 22 16:45:41 2010 +0100 @@ -23,7 +23,7 @@ #define CREMCONSYNCHRONIZATIONTARGET_H // INCLUDES -#include +#include #include #include #include diff -r 61516c5786af -r 00076e39386f devicesrv_pub/accessory_monitoring_api/inc/AccMonitor.h --- a/devicesrv_pub/accessory_monitoring_api/inc/AccMonitor.h Wed Jun 23 22:58:50 2010 +0100 +++ b/devicesrv_pub/accessory_monitoring_api/inc/AccMonitor.h Thu Jul 22 16:45:41 2010 +0100 @@ -24,7 +24,7 @@ // INCLUDES #include -#include +#include // FORWARD DECLARATIONS class MAccMonitorObserver; diff -r 61516c5786af -r 00076e39386f devicesrv_pub/accessory_monitoring_api/inc/AccMonitorInfo.h --- a/devicesrv_pub/accessory_monitoring_api/inc/AccMonitorInfo.h Wed Jun 23 22:58:50 2010 +0100 +++ b/devicesrv_pub/accessory_monitoring_api/inc/AccMonitorInfo.h Thu Jul 22 16:45:41 2010 +0100 @@ -22,7 +22,7 @@ // INCLUDES #include -#include +#include // FORWARD DECLARATIONS class CAccMonitorInfo; @@ -212,7 +212,7 @@ TInt iReserved2; }; -#include +#include #endif // ACCMONITORINFO_H diff -r 61516c5786af -r 00076e39386f devicesrv_pub/platform_path_definitions_api/inc/platform_paths.hrh --- a/devicesrv_pub/platform_path_definitions_api/inc/platform_paths.hrh Wed Jun 23 22:58:50 2010 +0100 +++ b/devicesrv_pub/platform_path_definitions_api/inc/platform_paths.hrh Thu Jul 22 16:45:41 2010 +0100 @@ -11,171 +11,7 @@ * * Contributors: * -* Description: Predefined include paths to be used in the mmp-files for the -* components in the layered model. There is one definition for -* each layer. The mmp-file should use the statement that is -* intended for the same layer as where the mmp-file resides. -* -* There is also macros to be used in the bld.inf-files to -* export of Public and Platform headers into -* correct locations. -* -* Usage examples: -* --------------------------------------------- -* How to include this file in bld.inf and mmp-files. -* Reasoning: The build system is such that at the time the -* bld.inf and mmp-files are "compiled" the available -* include paths are limited. Only the /epoc32/include -* can be guaranteed. Thus to get this file available -* you need to make include relative to the mentioned -* directory. -* --------------------------------------------- -* -* #include -* -* ************************************************************* -* * MMP file related macro usages to add the system include paths -* * -* * The include paths has to be related to the layer in which your SW -* * resides. Thus as an example: a component residing in middleware -* * layer should use the MW specific macro. -* * Keep this as a separate line in the mmp-files. If you need to -* * add your own SYSTEMINCLUDE paths, please defined them as -* * separate statement. -* ************************************************************* -* APP_LAYER_SYSTEMINCLUDE -* MW_LAYER_SYSTEMINCLUDE -* OS_LAYER_SYSTEMINCLUDE -** -* ************************************************************* -* * Macros related to using various parts of stdapis -* ************************************************************* -* To use STLLIB you need to have this in your mmp-file -* STLLIB_USAGE_DEFINITIONS -* -* Depending on what module you are using from stdapis you need to have -* one or more of the following macros in your mmp-file (every one in -* separate line !) -* -* OS_LAYER_LIBC_SYSTEMINCLUDE -* OS_LAYER_GLIB_SYSTEMINCLUDE -* OS_LAYER_SSL_SYSTEMINCLUDE -* OS_LAYER_STDCPP_SYSTEMINCLUDE -* OS_LAYER_BOOST_SYSTEMINCLUDE -* OS_LAYER_DBUS_SYSTEMINCLUDE -* OS_LAYER_LIBUTILITY_SYSTEMINCLUDE -* -* ************************************************************* -* * Macros related to exporting Public and Platform APIs into -* * correct place in the new system. -* * -* * The macro that you should use depends on 2 things: -* * - in which layer your package, which exports the APIs resides -* * - what is the visibility of the API (public or platform) -* ************************************************************* -* // the exporting of public APIs should use one of below macros -* // depending on which layer the API belogs to -* APP_LAYER_PUBLIC_EXPORT_PATH -* MW_LAYER_PUBLIC_EXPORT_PATH -* OS_LAYER_PUBLIC_EXPORT_PATH -* -* // the exporting of platform APIs should use one of below macros -* // depending on which layer the API belogs to -* APP_LAYER_PLATFORM_EXPORT_PATH -* MW_LAYER_PLATFORM_EXPORT_PATH -* OS_LAYER_PLATFORM_EXPORT_PATH -* -* The hierarchy how APIs should reside in foundation has been specified -* in developer documentation. See further details from documentation. -* Below is example case relying on the structure -* my_own_api/group/bld.inf -* my_own_api/inc/header1.h -* my_own_api/inc/subdir/header2.h -* -* Assuming that the API is in middleware layer and a public API. -* Then the bld.inf should have the following -* ../inc/header1.h APP_LAYER_PUBLIC_EXPORT_PATH(header1.h) -* ../inc/subdir/header2.h APP_LAYER_PUBLIC_EXPORT_PATH(subdir/header2.h) -* -* In the above case the locations are as follow (with current MACRO settings): -* header1.h in /epoc32/include/app -* header2.h in /epoc32/include/app/subdir -* -* -* ************************************************************* -* * Macros related to IBY file exporting -* ************************************************************* -* -* Component bld.inf files need to include platform_paths.hrh, see -* beginning of this file on how to do this correctly. Component bld.inf -* files need to use these macros in PRJ_EXPORTS to get their IBY files -* to ROM image. -* -* --------------------------------------------- -* Usage for Core image (ROM+ROFS1): -* --------------------------------------------- -* // Layer specific specific macros. Use the macro, which is specified -* // for the layer, in which your component resides -* / CORE_APP_LAYER_IBY_EXPORT_PATH() -* / CORE_MW_LAYER_IBY_EXPORT_PATH() -* / CORE_OS_LAYER_IBY_EXPORT_PATH() -* -* //stub iby files -* / CORE_IBY_EXPORT_PATH(stubs,) -* //tool iby files -* / CORE_IBY_EXPORT_PATH(tools,) -* -* --------------------------------------------- -* Usage for Variant image, Language part (ROFS2): -* --------------------------------------------- -* // Layer specific specific macros. Use the macro, which is specified -* // for the layer, in which your component resides -* / LANGUAGE_APP_LAYER_IBY_EXPORT_PATH() -* / LANGUAGE_MW_LAYER_IBY_EXPORT_PATH() -* / LANGUAGE_OS_LAYER_IBY_EXPORT_PATH() -* -* --------------------------------------------- -* Usage for Variant image, Language part (ROFS2): -* --------------------------------------------- -* // Layer specific specific macros. Use the macro, which is specified -* // for the layer, in which your component resides -* / CUSTOMER_APP_LAYER_IBY_EXPORT_PATH() -* / CUSTOMER_MW_LAYER_IBY_EXPORT_PATH() -* / CUSTOMER_OS_LAYER_IBY_EXPORT_PATH() -* -* --------------------------------------------- -* Usage for Customer Variant image, (ROFS3): -* --------------------------------------------- -* // Layer specific specific macros. Use the macro, which is specified -* // for the layer, in which your component resides -* / CUSTOMER_VARIANT_APP_LAYER_IBY_EXPORT_PATH() -* / CUSTOMER_VARIANT_MW_LAYER_IBY_EXPORT_PATH() -* / CUSTOMER_VARIANT_OS_LAYER_IBY_EXPORT_PATH() -* -* -* ************************************************************* -* * Macro related to Exporting localization .loc files into -* * correct place in the system. -* ************************************************************* -* -* --------------------------------------------- -* Usage for components: -* --------------------------------------------- -* Component bld.inf files need to include platform_paths.hrh, see -* beginning of this file on how to do this correctly. Component bld.inf -* files need to use these macros in PRJ_EXPORTS to get their loc files -* for localization. -* loc files that should be localized by localisation team should be in -* loc-folder in the source tree (see developer guidelines) -* -* // Layer specific specific macros. Use the macro, which is specified -* // for the layer, in which your component resides -* /loc/.loc APP_LAYER_LOC_EXPORT_PATH(.loc) -* /loc/.loc MW_LAYER_LOC_EXPORT_PATH(.loc) -* /loc/.loc OS_LAYER_LOC_EXPORT_PATH(.loc) -* -* -* +* Description: * */ @@ -183,403 +19,6 @@ #ifndef PLATFORM_PATHS_HRH #define PLATFORM_PATHS_HRH -/** -************************************************************************** -* General comments about the exporting of headers macros -* 1) The definitions point currently to the old locations. (which makes some -* macros to have same values. The idea is that you can already start using -* them now and those will be later on changed => change affects everybody. -*************************************************************************** -*/ - -/** -* --------------------------------------- -* Location, where the applications layer specific public headers should be exported -* See usage on top of this hrh-file. -* --------------------------------------- -*/ - -#if __GNUC__ >= 3 -#define APP_LAYER_SDK_EXPORT_PATH(exported) do not use intentionally generates error -#define APP_LAYER_PUBLIC_EXPORT_PATH(exported) /epoc32/include/app/exported -#else -#define APP_LAYER_SDK_EXPORT_PATH(exported) do not use intentionally generates error -#define APP_LAYER_PUBLIC_EXPORT_PATH(exported) /epoc32/include/app/##exported -#endif - -/** -* --------------------------------------- -* Location, where the applications layer specific platform headers should be exported -* See usage on top of this hrh-file. -* --------------------------------------- -*/ -#if __GNUC__ >= 3 -#define APP_LAYER_DOMAIN_EXPORT_PATH(exported) do not use intentionally generates error -#define APP_LAYER_PLATFORM_EXPORT_PATH(exported) /epoc32/include/platform/app/exported -#else -#define APP_LAYER_DOMAIN_EXPORT_PATH(exported) do not use intentionally generates error -#define APP_LAYER_PLATFORM_EXPORT_PATH(exported) /epoc32/include/platform/app/##exported -#endif - -/** -* --------------------------------------- -* Location, where the middleware layer specific public headers should be exported -* See usage on top of this hrh-file. -* --------------------------------------- -*/ -#if __GNUC__ >= 3 -#define MW_LAYER_SDK_EXPORT_PATH(exported) do not use intentionally generates error -#define MW_LAYER_PUBLIC_EXPORT_PATH(exported) /epoc32/include/mw/exported -#else -#define MW_LAYER_SDK_EXPORT_PATH(exported) do not use intentionally generates error -#define MW_LAYER_PUBLIC_EXPORT_PATH(exported) /epoc32/include/mw/##exported -#endif - -/** -* --------------------------------------- -* Location, where the middleware layer specific platform headers should be exported -* --------------------------------------- -*/ -#if __GNUC__ >= 3 -#define MW_LAYER_DOMAIN_EXPORT_PATH(exported) do not use intentionally generates error -#define MW_LAYER_PLATFORM_EXPORT_PATH(exported) /epoc32/include/platform/mw/exported -#else -#define MW_LAYER_DOMAIN_EXPORT_PATH(exported) do not use intentionally generates error -#define MW_LAYER_PLATFORM_EXPORT_PATH(exported) /epoc32/include/platform/mw/##exported -#endif - -/** -* --------------------------------------- -* Location, where the os layer specific public headers should be exported -* --------------------------------------- -*/ -#if __GNUC__ >= 3 -#define OSEXT_LAYER_SDK_EXPORT_PATH(exported) do not use intentionally generates error -#define OS_LAYER_PUBLIC_EXPORT_PATH(exported) /epoc32/include/exported -#else -#define OSEXT_LAYER_SDK_EXPORT_PATH(exported) do not use intentionally generates error -#define OS_LAYER_PUBLIC_EXPORT_PATH(exported) /epoc32/include/##exported -#endif - -/** -* --------------------------------------- -* Location, where the os specific platform headers should be exported -* --------------------------------------- -*/ -#if __GNUC__ >= 3 -#define OSEXT_LAYER_DOMAIN_EXPORT_PATH(exported) do not use intentionally generates error -#define OS_LAYER_PLATFORM_EXPORT_PATH(exported) /epoc32/include/platform/exported -#else -#define OSEXT_LAYER_DOMAIN_EXPORT_PATH(exported) do not use intentionally generates error -#define OS_LAYER_PLATFORM_EXPORT_PATH(exported) /epoc32/include/platform/##exported -#endif - -/** -* --------------------------------------- -* Location, where the cenrep excel sheets should be exported -* Deprecated: should no longer be used. Kept for compability. -* --------------------------------------- -*/ -#if __GNUC__ >= 3 -#define CENREP_XLS_EXPORT_PATH(exported) /epoc32/tools/cenrep/data/src/exported -#else -#define CENREP_XLS_EXPORT_PATH(exported) /epoc32/tools/cenrep/data/src/##exported -#endif - -/** -************************************************************************** -* General comments about the 3 define statements related to include paths: -* 1) the /epoc32/include/oem is now defined there for backward compability. -* Once the directory is empty, the directory will be removed. However this -* enables us to ensure that if you use these define statements => you do -* not have to remove the statements later on, when the directory no longer -* exists. -* 2) These statements should be enough in normal cases. For certain specific -* cases you migth need to add some specific directory from /epoc32/include -* (for instance /epoc32/include/ecom). -* In normal cases the include staments in code should be relative to one of -* the system include paths, but in certain cases, the included files requires -* that the subdirectory is also part of the system include paths. -**************************************************************************** -*/ - -/** -* This define statements defines the SYSTEMINCLUDE-line, which is intended to be -* used in the mmp-files that are part of the applications-layer. It includes all -* the needed directories from the /epoc32/include, that are valid ones for the -* application-layer components. -* -* Applications layer is the last one in the list, since most likely the most of -* the headers come from middleware or os-layer => thus they are first. -*/ -#define APP_LAYER_SYSTEMINCLUDE SYSTEMINCLUDE \ - /epoc32/include \ - /epoc32/include/mw \ - /epoc32/include/platform/mw \ - /epoc32/include/platform \ - /epoc32/include/app \ - /epoc32/include/platform/app \ - /epoc32/include/platform/loc \ - /epoc32/include/platform/mw/loc \ - /epoc32/include/platform/app/loc \ - /epoc32/include/platform/loc/sc \ - /epoc32/include/platform/mw/loc/sc \ - /epoc32/include/platform/app/loc/sc - -/** -* This define statements defines the SYSTEMINCLUDE-line, which is intended to be -* used in the mmp-files that are part of the middleware-layer. It includes all -* the needed directories from the /epoc32/include, that are valid ones for the -* middleware-layer components. -*/ -#define MW_LAYER_SYSTEMINCLUDE SYSTEMINCLUDE \ - /epoc32/include \ - /epoc32/include/mw \ - /epoc32/include/platform/mw \ - /epoc32/include/platform \ - /epoc32/include/platform/loc \ - /epoc32/include/platform/mw/loc \ - /epoc32/include/platform/loc/sc \ - /epoc32/include/platform/mw/loc/sc - -/** -* This define statements defines the SYSTEMINCLUDE-line, which is intended to be -* used in the mmp-files that are part of the osextensions-layer. It includes all -* the needed directories from the /epoc32/include, that are valid ones for the -* os-layer components. -*/ -#define OS_LAYER_SYSTEMINCLUDE SYSTEMINCLUDE \ - /epoc32/include \ - /epoc32/include/platform \ - /epoc32/include/platform/loc \ - /epoc32/include/platform/loc/sc - -// Below statement is Deprecated and the OS_LAYER_SYSTEMINCLUDE-macro has to be -// used. -// Removed, use teh OS_LAYER_SYSTEMINCLUDE instead. -// #define OSEXT_LAYER_SYSTEMINCLUDE OS_LAYER_SYSTEMINCLUDE - -/** -* This define statements defines the SYSTEMINCLUDE-line, which is intended to be -* used in the mmp-files that are part of the os-layer. This is intended -* to be only used by those components which need to use in their mmp-file either -* kern_ext.mmh or nkern_ext.mmh. Reason is that those -* 2 files already contain the /epoc32/include as system include path. -* -*/ -#define OS_LAYER_KERNEL_SYSTEMINCLUDE SYSTEMINCLUDE \ - /epoc32/include/platform - -// Below statement is Deprecated and the OS_LAYER_KERNEL_SYSTEMINCLUDE-macro -// has to be used. -// Removed, use the OS_LAYER_KERNER_SYSTEMINCLUDE instead. -// #define OSEXT_LAYER_KERNEL_SYSTEMINCLUDE OS_LAYER_KERNEL_SYSTEMINCLUDE - -/** -**************************************************************************** -* Definitions that also define the systeminclude paths for various -* part of stdapis. Each statement has to be in its own line in the using -* mmp-file. There are be more than 1 statement in single mmp-file. -**************************************************************************** -*/ -#define OS_LAYER_LIBC_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(stdapis) - -#define OS_LAYER_GLIB_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/glib-2.0) \ - OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/glib-2.0/glib) \ - OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/glib-2.0/gobject) - - -#define OS_LAYER_SSL_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/openssl) - -#define OS_LAYER_STDCPP_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/stlport) - -#define OS_LAYER_BOOST_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/boost) - -#define OS_LAYER_DBUS_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/dbus-1.0) \ - OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/dbus-1.0/dbus) -#define OS_LAYER_LIBUTILITY_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PLATFORM_EXPORT_PATH(stdapis/utility) - -#define OS_LAYER_LIBOIL_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PLATFORM_EXPORT_PATH(stdapis/liboil) - -#define MW_LAYER_GSTREAMER_SYSTEMINCLUDE SYSTEMINCLUDE \ - /epoc32/include/platform/mw/gstreamer/10_18 \ - /epoc32/include/platform/mw/gstreamer/10_18/gst \ - /epoc32/include/platform/mw/gstreamer/10_18/gst/gstcontroller \ - /epoc32/include/stdapis/machine - -// You need to add STLLIB_USAGE_DEFINITIONS as a separate line into your mmp-file, if you are using -// the stllib. -#define STLLIB_USAGE_DEFINITIONS OPTION CW -wchar_t on\ - MACRO _WCHAR_T_DECLARED - - -/** -**************************************************************************** -* Definitions that also define the paths to the layer specific source directories. -**************************************************************************** -*/ -/** -* The below 3 macros define the paths to the layer-specific source dirs. -* See usage on top of this hrh-file, these are used the same way as -* for instance the OS_LAYER_DOMAIN_EXPORT_PATH -* Deprecated: is not allowed to be using in Symbian Foundation -*/ -#if __GNUC__ >= 3 -#define APP_LAYER_SOURCE_PATH(rest) do not use intentionally generates error in export -#define MW_LAYER_SOURCE_PATH(rest) do not use intentionally generates error in export -#define OSEXT_LAYER_SOURCE_PATH(rest) do not use intentionally generates error in export -#else -#define APP_LAYER_SOURCE_PATH(rest) do not use intentionally generates error in export -#define MW_LAYER_SOURCE_PATH(rest) do not use intentionally generates error in export -#define OSEXT_LAYER_SOURCE_PATH(rest) do not use intentionally generates error in export -#endif - -/** -**************************************************************************** -* Definitions to export IBY files to different folders where they will be taken -* to ROM image -**************************************************************************** -*/ - -// Following three definitions are used for exporting IBY files to -// Core image (ROM+ROFS1). IBY files are exported according to their layer. -#if __GNUC__ >= 3 -#define CORE_APP_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/core/app/exported -#define CORE_MW_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/core/mw/exported -#define CORE_OSEXT_LAYER_IBY_EXPORT_PATH(exported) do not use intentionally generates error -#define CORE_OS_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/core/os/exported -#define CORE_ADAPT_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/exported -#else -#define CORE_APP_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/core/app/##exported -#define CORE_MW_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/core/mw/##exported -#define CORE_OSEXT_LAYER_IBY_EXPORT_PATH(exported) do not use intentionally generates error -#define CORE_OS_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/core/os/##exported -#define CORE_ADAPT_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/##exported -#endif - -// Following three definitions are used for exporting IBY files to Variant image, -// Language part (ROFS2). IBY files are exported according to their layer. -#if __GNUC__ >= 3 -#define LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/language/app/exported -#define LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/language/mw/exported -#define LANGUAGE_OSEXT_LAYER_IBY_EXPORT_PATH(exported) do not use intentionally generates error -#define LANGUAGE_OS_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/language/os/exported -#else -#define LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/language/app/##exported -#define LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/language/mw/##exported -#define LANGUAGE_OSEXT_LAYER_IBY_EXPORT_PATH(exported) do not use intentionally generates error -#define LANGUAGE_OS_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/language/os/##exported -#endif - -// Following three definitions are used for exporting IBY files to Variant image, (ROFS2). -// BY files are exported according to their layer. -#if __GNUC__ >= 3 -#define CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customer/app/exported -#define CUSTOMER_MW_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customer/mw/exported -#define CUSTOMER_OSEXT_LAYER_IBY_EXPORT_PATH(exported) do not use intentionally generates error -#define CUSTOMER_OS_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customer/os/exported -#else -#define CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customer/app/##exported -#define CUSTOMER_MW_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customer/mw/##exported -#define CUSTOMER_OSEXT_LAYER_IBY_EXPORT_PATH(exported) do not use intentionally generates error -#define CUSTOMER_OS_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customer/os/##exported -#endif - -// Following three definitions are used for exporting IBY files to -// Variant Customer part, (ROFS3). IBY files are exported according to -// their layer. -#if __GNUC__ >= 3 -#define CUSTOMER_VARIANT_APP_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customervariant/app/exported -#define CUSTOMER_VARIANT_MW_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customervariant/mw/exported -#define CUSTOMER_VARIANT_OSEXT_LAYER_IBY_EXPORT_PATH(exported) do not use intentionally generates error -#define CUSTOMER_VARIANT_OS_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customervariant/os/exported -#else -#define CUSTOMER_VARIANT_APP_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customervariant/app/##exported -#define CUSTOMER_VARIANT_MW_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customervariant/mw/##exported -#define CUSTOMER_VARIANT_OSEXT_LAYER_IBY_EXPORT_PATH(exported) do not use intentionally generates error -#define CUSTOMER_VARIANT_OS_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customervariant/os/##exported -#endif - - -// Following definition is used for exporting tools and stubs IBY files to -// Core image. -#if __GNUC__ >= 3 -#define CORE_IBY_EXPORT_PATH(path,exported) /epoc32/rom/include/core/path/exported -#else -#define CORE_IBY_EXPORT_PATH(path,exported) /epoc32/rom/include/core/##path##/##exported -#endif - -/** -* --------------------------------------- -* Location, where the localization .loc file should be exported -* --------------------------------------- -*/ -// Location, where the os layer localization .loc file should be -// exported -#if __GNUC__ >= 3 -// Deprecated: use the OS_LAYER_LOC_EXPORT_PATH instead -#define OSEXT_LAYER_LOC_EXPORT_PATH(exported) do not use intentionally generates error -#define OS_LAYER_LOC_EXPORT_PATH(exported) /epoc32/include/platform/loc/sc/exported - -// Location, where the middleware layer localization .loc file should be -// exported -#define MW_LAYER_LOC_EXPORT_PATH(exported) /epoc32/include/platform/mw/loc/sc/exported - -// Location, where the application layer localization .loc file should be -// exported -#define APP_LAYER_LOC_EXPORT_PATH(exported) /epoc32/include/platform/app/loc/sc/exported - -#else - -// Deprecated: use the OS_LAYER_LOC_EXPORT_PATH instead -#define OSEXT_LAYER_LOC_EXPORT_PATH(exported) do not use intentionally generates error -#define OS_LAYER_LOC_EXPORT_PATH(exported) /epoc32/include/platform/loc/sc/##exported - -// Location, where the middleware layer localization .loc file should be exported -#define MW_LAYER_LOC_EXPORT_PATH(exported) /epoc32/include/platform/mw/loc/sc/##exported - -// Location, where the application layer localization .loc file should be exported -#define APP_LAYER_LOC_EXPORT_PATH(exported) /epoc32/include/platform/app/loc/sc/##exported -#endif - -/** -* --------------------------------------- -* Macros for Configuration tool migration. -* The below macros define the location under epoc32, where the confml -* (Configuration Markup Language) and crml (Central Repository Markup Language) -* files should be exported. -* --------------------------------------- -*/ -#if __GNUC__ >= 3 -#define CONFML_EXPORT_PATH(file,category) /epoc32/rom/config/confml_data/category/file -#define CRML_EXPORT_PATH(file,category) /epoc32/rom/config/confml_data/category/file -#define GCFML_EXPORT_PATH(file,category) /epoc32/rom/config/confml_data/category/file -#define CONFML_CONFIG_EXPORT_PATH(file,category) /epoc32/rom/config/confml_data/category/config/file -#else -#define CONFML_EXPORT_PATH(file,category) /epoc32/rom/config/confml_data/##category##/##file -#define CRML_EXPORT_PATH(file,category) /epoc32/rom/config/confml_data/##category##/##file -#define GCFML_EXPORT_PATH(file,category) /epoc32/rom/config/confml_data/##category##/##file -#define CONFML_CONFIG_EXPORT_PATH(file,category) /epoc32/rom/config/confml_data/##category##/config/##file -#endif - -#define APP_LAYER_CONFML(exported) CONFML_EXPORT_PATH(exported,s60) -#define APP_LAYER_CRML(exported) CRML_EXPORT_PATH(exported,s60) -#define APP_LAYER_GCFML(exported) GCFML_EXPORT_PATH(exported,s60) -#define APP_LAYER_CONFML_CONFIG(exported) CONFML_CONFIG_EXPORT_PATH(exported,s60) - -#define MW_LAYER_CONFML(exported) CONFML_EXPORT_PATH(exported,s60) -#define MW_LAYER_CRML(exported) CRML_EXPORT_PATH(exported,s60) -#define MW_LAYER_GCFML(exported) GCFML_EXPORT_PATH(exported,s60) -#define MW_LAYER_CONFML_CONFIG(exported) CONFML_CONFIG_EXPORT_PATH(exported,s60) - -// Deprecate: Use the OS_LAYER_* macros instead of OSEXT_LAYER_* -#define OSEXT_LAYER_CONFML(exported) do not use intentionally generates error -#define OSEXT_LAYER_CRML(exported) do not use intentionally generates error -#define OSEXT_LAYER_GCFML(exported) do not use intentionally generates error -#define OSEXT_LAYER_CONFML_CONFIG(exported) do not use intentionally generates error -#define OS_LAYER_CONFML(exported) CONFML_EXPORT_PATH(exported,s60) -#define OS_LAYER_CRML(exported) CRML_EXPORT_PATH(exported,s60) -#define OS_LAYER_GCFML(exported) GCFML_EXPORT_PATH(exported,s60) -#define OS_LAYER_CONFML_CONFIG(exported) CONFML_CONFIG_EXPORT_PATH(exported,s60) +#include #endif // end of PLATFORM_PATHS_HRH diff -r 61516c5786af -r 00076e39386f dosservices/dosserver/inc/dosclishareddata.h --- a/dosservices/dosserver/inc/dosclishareddata.h Wed Jun 23 22:58:50 2010 +0100 +++ b/dosservices/dosserver/inc/dosclishareddata.h Thu Jul 22 16:45:41 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2002-2010 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" @@ -23,7 +23,7 @@ // INCLUDES #include -#include "DosSvrServices.h" +#include /** * Subsession that provides functionality to make a DOS side self test. diff -r 61516c5786af -r 00076e39386f dosservices/dosserver/inc/doseventrcvservice.h --- a/dosservices/dosserver/inc/doseventrcvservice.h Wed Jun 23 22:58:50 2010 +0100 +++ b/dosservices/dosserver/inc/doseventrcvservice.h Thu Jul 22 16:45:41 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2002-2010 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" @@ -20,7 +20,7 @@ #ifndef __DOSEVENTRCVSERVICE_H__ #define __DOSEVENTRCVSERVICE_H__ -#include "DosSvrServices.h" +#include #include "dosservice.h" class CDosWaitingEvent; diff -r 61516c5786af -r 00076e39386f dosservices/dosserver/inc/doseventsender.h --- a/dosservices/dosserver/inc/doseventsender.h Wed Jun 23 22:58:50 2010 +0100 +++ b/dosservices/dosserver/inc/doseventsender.h Thu Jul 22 16:45:41 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2002-2010 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" @@ -22,7 +22,7 @@ #ifndef __DOSEVENTSENDER_H__ #define __DOSEVENTSENDER_H__ -#include "DosSvrServices.h" +#include /** * Raises DosServer events from a different thread/proccess. diff -r 61516c5786af -r 00076e39386f dosservices/dosserver/src/dosclieventlistener.cpp --- a/dosservices/dosserver/src/dosclieventlistener.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/dosservices/dosserver/src/dosclieventlistener.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2002-2010 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" @@ -17,7 +17,7 @@ */ -#include "DosSvrServices.h" +#include #include "dos_debug.h" #include diff -r 61516c5786af -r 00076e39386f dosservices/dosserver/src/dosclieventnotifier.cpp --- a/dosservices/dosserver/src/dosclieventnotifier.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/dosservices/dosserver/src/dosclieventnotifier.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2002-2010 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" @@ -17,7 +17,7 @@ */ -#include "DosSvrServices.h" +#include // // --------------------------------------------------------- diff -r 61516c5786af -r 00076e39386f dosservices/dosserver/src/dosclieventrcv.cpp --- a/dosservices/dosserver/src/dosclieventrcv.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/dosservices/dosserver/src/dosclieventrcv.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2002-2010 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" @@ -17,7 +17,7 @@ */ -#include "DosSvrServices.h" +#include #include "dosclientserver.h" // --------------------------------------------------------- diff -r 61516c5786af -r 00076e39386f dosservices/dosserver/src/doscliextension.cpp --- a/dosservices/dosserver/src/doscliextension.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/dosservices/dosserver/src/doscliextension.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2002-2010 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" @@ -17,7 +17,7 @@ */ -#include "DosSvrServices.h" +#include #include "dosclientserver.h" #include "dos_debug.h" diff -r 61516c5786af -r 00076e39386f dosservices/dosserver/src/doscliserver.cpp --- a/dosservices/dosserver/src/doscliserver.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/dosservices/dosserver/src/doscliserver.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2002-2010 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" @@ -18,7 +18,7 @@ #include -#include "DosSvrServices.h" +#include #include "dosclientserver.h" #include "dosserver.h" #include "dos_debug.h" diff -r 61516c5786af -r 00076e39386f dosservices/dosserver/src/dosclisubsession.cpp --- a/dosservices/dosserver/src/dosclisubsession.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/dosservices/dosserver/src/dosclisubsession.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2002-2010 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" @@ -17,7 +17,7 @@ */ -#include "DosSvrServices.h" +#include #include "dosclientserver.h" #include "dos_debug.h" diff -r 61516c5786af -r 00076e39386f dosservices/tsrc/dsytesttool/dosservercontrol/inc/ctfdoseventlistener.h --- a/dosservices/tsrc/dsytesttool/dosservercontrol/inc/ctfdoseventlistener.h Wed Jun 23 22:58:50 2010 +0100 +++ b/dosservices/tsrc/dsytesttool/dosservercontrol/inc/ctfdoseventlistener.h Thu Jul 22 16:45:41 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2009-2010 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" @@ -19,7 +19,7 @@ #ifndef __CTFDOSEVENTLISTENER_H__ #define __CTFDOSEVENTLISTENER_H__ -#include +#include class CTFDosServerControl; diff -r 61516c5786af -r 00076e39386f dosservices/tsrc/dsytesttool/dosservercontrol/inc/ctfdosservercontrol.h --- a/dosservices/tsrc/dsytesttool/dosservercontrol/inc/ctfdosservercontrol.h Wed Jun 23 22:58:50 2010 +0100 +++ b/dosservices/tsrc/dsytesttool/dosservercontrol/inc/ctfdosservercontrol.h Thu Jul 22 16:45:41 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2009-2010 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" @@ -19,7 +19,7 @@ #ifndef __CTFDOSSERVERCONTROL_H__ #define __CTFDOSSERVERCONTROL_H__ -#include +#include #include "ctfstub.h" #include "mtfdosservercontrol.h" #include "tfdosservertypes.h" diff -r 61516c5786af -r 00076e39386f dosservices/tsrc/dsytesttool/dosservercontrol/src/tfdoseventlistener.cpp --- a/dosservices/tsrc/dsytesttool/dosservercontrol/src/tfdoseventlistener.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/dosservices/tsrc/dsytesttool/dosservercontrol/src/tfdoseventlistener.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2009-2010 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" @@ -16,7 +16,7 @@ */ -#include +#include #include "dsytesttooltrace.h" #include "tfdosservertypes.h" #include "ctfdoseventlistener.h" diff -r 61516c5786af -r 00076e39386f dosservices/tsrc/public/basic/dosservertestplugin/inc/Ctfdoscontrol.h --- a/dosservices/tsrc/public/basic/dosservertestplugin/inc/Ctfdoscontrol.h Wed Jun 23 22:58:50 2010 +0100 +++ b/dosservices/tsrc/public/basic/dosservertestplugin/inc/Ctfdoscontrol.h Thu Jul 22 16:45:41 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2004-2010 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" @@ -20,7 +20,7 @@ #ifndef __CTFDOSCONTROL_H__ #define __CTFDOSCONTROL_H__ -#include +#include #include "dosclishareddata.h" #include #include "mtfdoscontrol.h" diff -r 61516c5786af -r 00076e39386f dosservices/tsrc/public/basic/dosservertestplugin/inc/Ctfeventlistener.h --- a/dosservices/tsrc/public/basic/dosservertestplugin/inc/Ctfeventlistener.h Wed Jun 23 22:58:50 2010 +0100 +++ b/dosservices/tsrc/public/basic/dosservertestplugin/inc/Ctfeventlistener.h Thu Jul 22 16:45:41 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2004-2010 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" @@ -20,7 +20,7 @@ #ifndef __CTFEVENTLISTENER_H__ #define __CTFEVENTLISTENER_H__ -#include +#include diff -r 61516c5786af -r 00076e39386f dosservices/tsrc/public/basic/dosservertestplugin/src/Tfeventlistener.cpp --- a/dosservices/tsrc/public/basic/dosservertestplugin/src/Tfeventlistener.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/dosservices/tsrc/public/basic/dosservertestplugin/src/Tfeventlistener.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2009-2010 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" @@ -16,7 +16,7 @@ */ -#include +#include #include "siftrace.h" #include "tfdostypes.h" #include "ctfeventlistener.h" diff -r 61516c5786af -r 00076e39386f group/bld.inf --- a/group/bld.inf Wed Jun 23 22:58:50 2010 +0100 +++ b/group/bld.inf Thu Jul 22 16:45:41 2010 +0100 @@ -32,7 +32,9 @@ #include "../mediator/group/bld.inf" #include "../psmservices/group/bld.inf" #include "../resourcemgmt/group/bld.inf" +#include "../resourceinterfaces/group/bld.inf" #include "../sysstatemgmt/group/bld.inf" +#include "../systemhealthmanagement/systemhealthmgr/group/bld.inf" PRJ_TESTMMPFILES diff -r 61516c5786af -r 00076e39386f hwrmhaptics/hapticsclient/src/hwrmhapticsimpl.cpp --- a/hwrmhaptics/hapticsclient/src/hwrmhapticsimpl.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/hwrmhaptics/hapticsclient/src/hwrmhapticsimpl.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -427,20 +427,11 @@ // send command to haptics server if ( KErrNone == err ) - { - if( aDevicePropertyType == EHWRMHapticsLicensekey ) - { - err = iClient.ExecuteOperation( + { + err = iClient.ExecuteOperation( EHWRMHapticsSetLicenseProp, - TIpcArgs( &iReqData, aDevicePropertyValue.Length() ) ); - } - else - { - err = iClient.ExecuteOperation( EHWRMHaptics, - TIpcArgs( &iReqData ) ); - } - } - + TIpcArgs( &iReqData, aDevicePropertyValue.Length() ) ); + } } API_TRACE( ( _L( "CHWRMHapticsImpl::SetDeviceProperty() - const TDesC8 overloaded - return %d" ), err ) ); diff -r 61516c5786af -r 00076e39386f psmservices/psmserver/inc/engine/psmstorage.h --- a/psmservices/psmserver/inc/engine/psmstorage.h Wed Jun 23 22:58:50 2010 +0100 +++ b/psmservices/psmserver/inc/engine/psmstorage.h Thu Jul 22 16:45:41 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2007-2010 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" @@ -20,7 +20,7 @@ #define PSMSTORAGE_H #include -#include +#include #include /** diff -r 61516c5786af -r 00076e39386f psmservices/psmserver/src/server/psmsrvsession.cpp --- a/psmservices/psmserver/src/server/psmsrvsession.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/psmservices/psmserver/src/server/psmsrvsession.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2007-2010 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" @@ -15,7 +15,8 @@ * */ - +#include +#include #include #include "psmmanager.h" #include "psmsrvserver.h" @@ -167,7 +168,18 @@ { User::Leave( KErrArgument ); } - + + TInt keyVal = -1; + User::LeaveIfError( RProperty::Get( KUidSystemCategory, conn::KUidBackupRestoreKey, keyVal ) ); + //if backup or restore is in progress, change in power save mode + //is not allowed as it will not be possible to do write + //operation in cenrep and it would leave the device in unstable power saving mode state + if( (( keyVal & conn::KBURPartTypeMask ) != conn::EBURNormal ) + && (( keyVal & conn::KBURPartTypeMask ) != conn::EBURUnset )) + { + User::Leave( KErrNotSupported ); + } + iNotifyModeMessage->Initialize( aMessage ); iPsmManager.NotifyPowerSaveModeChangeL( mode ); break; diff -r 61516c5786af -r 00076e39386f resourceinterfaces/fmtransmittercontrol/group/telephony_hwrmfmtx.mrp --- a/resourceinterfaces/fmtransmittercontrol/group/telephony_hwrmfmtx.mrp Wed Jun 23 22:58:50 2010 +0100 +++ b/resourceinterfaces/fmtransmittercontrol/group/telephony_hwrmfmtx.mrp Thu Jul 22 16:45:41 2010 +0100 @@ -1,19 +1,3 @@ -# -# 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: -# - component telephony_hwrmfmtx source \sf\os\devicesrv\resourceinterfaces\fmtransmittercontrol binary \sf\os\devicesrv\resourceinterfaces\fmtransmittercontrol\group all diff -r 61516c5786af -r 00076e39386f resourceinterfaces/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/resourceinterfaces/group/bld.inf Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,30 @@ +/* +* Copyright (c) 2006-2010 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: +* +*/ + + +PRJ_PLATFORMS +DEFAULT + +PRJ_EXPORTS + +PRJ_MMPFILES + +#include "../fmtransmittercontrol/group/bld.inf" + +PRJ_TESTMMPFILES + +// End of File diff -r 61516c5786af -r 00076e39386f resourceinterfaces/layers.sysdef.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/resourceinterfaces/layers.sysdef.xml Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,105 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]> + + + + + + + + + + + \ No newline at end of file diff -r 61516c5786af -r 00076e39386f resourcemgmt/group/bld.inf --- a/resourcemgmt/group/bld.inf Wed Jun 23 22:58:50 2010 +0100 +++ b/resourcemgmt/group/bld.inf Thu Jul 22 16:45:41 2010 +0100 @@ -26,6 +26,9 @@ ../data/InternalHWRMFmTxPolicy.ini z:/private/101f7a02/customerhwrmfmtxpolicy.ini +#include "../hwresourcesmgr/group/bld.inf" +#include "../hwresourcesmgrconfig/bld.inf" +#include "../powerandmemorynotificationservice/group/bld.inf" #include "../hwrmfmtxwatcherplugin/group/bld.inf" #if defined(WINSCW) && !defined(__HWRM_TARGET_MODIFIER_PLUGIN) diff -r 61516c5786af -r 00076e39386f resourcemgmt/hwresourcesmgr/group/telephony_hwrm.mrp --- a/resourcemgmt/hwresourcesmgr/group/telephony_hwrm.mrp Wed Jun 23 22:58:50 2010 +0100 +++ b/resourcemgmt/hwresourcesmgr/group/telephony_hwrm.mrp Thu Jul 22 16:45:41 2010 +0100 @@ -1,19 +1,3 @@ -# -# 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: -# - component telephony_hwrm source \sf\os\devicesrv\resourcemgmt\hwresourcesmgr\client diff -r 61516c5786af -r 00076e39386f resourcemgmt/hwresourcesmgr/power/inc/HWRMChargingStatusObserver.h --- a/resourcemgmt/hwresourcesmgr/power/inc/HWRMChargingStatusObserver.h Wed Jun 23 22:58:50 2010 +0100 +++ b/resourcemgmt/hwresourcesmgr/power/inc/HWRMChargingStatusObserver.h Thu Jul 22 16:45:41 2010 +0100 @@ -23,7 +23,8 @@ /* Observer class for charging status change */ -class CHWRMChargingStatusObs: public MPsPropertyObserver +class CHWRMChargingStatusObs: public CBase, + public MPsPropertyObserver { public: static CHWRMChargingStatusObs* NewL(MHWRMBatteryChargingStatusObserver* aChargingStatusCallback); diff -r 61516c5786af -r 00076e39386f resourcemgmt/hwresourcesmgr/server/src/HWRMPowerCommonData.cpp --- a/resourcemgmt/hwresourcesmgr/server/src/HWRMPowerCommonData.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/resourcemgmt/hwresourcesmgr/server/src/HWRMPowerCommonData.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -166,10 +166,13 @@ delete iPowerService; iPowerService = NULL; - iMaxReportingPeriodNotifyHandler->StopListening(); - delete iMaxReportingPeriodNotifyHandler; - iMaxReportingPeriodNotifyHandler = NULL; - + if (iMaxReportingPeriodNotifyHandler) + { + iMaxReportingPeriodNotifyHandler->StopListening(); + delete iMaxReportingPeriodNotifyHandler; + iMaxReportingPeriodNotifyHandler = NULL; + } + delete iRepository; iRepository = NULL; diff -r 61516c5786af -r 00076e39386f resourcemgmt/hwresourcesmgr/test/data/cenrep/10205043.txt Binary file resourcemgmt/hwresourcesmgr/test/data/cenrep/10205043.txt has changed diff -r 61516c5786af -r 00076e39386f resourcemgmt/hwresourcesmgr/test/group/bld.inf --- a/resourcemgmt/hwresourcesmgr/test/group/bld.inf Wed Jun 23 22:58:50 2010 +0100 +++ b/resourcemgmt/hwresourcesmgr/test/group/bld.inf Thu Jul 22 16:45:41 2010 +0100 @@ -40,6 +40,7 @@ ../data/cenrep/10200C8C.txt /epoc32/data/z/private/10202be9/10200c8c.txt ../data/cenrep/10200C8D.txt /epoc32/data/z/private/10202be9/10200c8d.txt ../data/cenrep/20008EA6.txt /epoc32/data/z/private/10202be9/20008ea6.txt +../data/cenrep/10205043.txt /epoc32/data/z/private/10202be9/10205043.txt ../data/cenrep/10200C8B.txt /epoc32/release/winscw/udeb/z/private/10202be9/10200c8b.txt ../data/cenrep/10200C8C.txt /epoc32/release/winscw/udeb/z/private/10202be9/10200c8c.txt @@ -98,5 +99,5 @@ ../multiclient/mctest_b/mctest_b.mmp ../plugins/testuiplugin_f/group/hwrmtestuiplugin_f.mmp ../plugins/testuiplugin_b/group/hwrmtestuiplugin_b.mmp -../multiclient/HWRMLightTestF/group/HWRMLightTestF.mmp -../multiclient/HWRMLightTestB/group/HWRMLightTestB.mmp +//../multiclient/HWRMLightTestF/group/HWRMLightTestF.mmp +//../multiclient/HWRMLightTestB/group/HWRMLightTestB.mmp diff -r 61516c5786af -r 00076e39386f resourcemgmt/hwresourcesmgr/test/group/hwrm_rtests.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/resourcemgmt/hwresourcesmgr/test/group/hwrm_rtests.pkg Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,33 @@ +; +; Copyright (c) 2010 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: +; + + +;Languages +&EN + + +;Localised Vendor name +%{"Hwrm_rtests EN"} + +; Vendor name +: "Hwrm_rtests" + +; RTest Cases +"\epoc32\release\armv5\urel\hwrmtests.exe"-"c:\sys\bin\hwrmtests.exe" +"\epoc32\release\armv5\urel\mctest_f.exe"-"c:\sys\bin\mctest_f.exe" + + + diff -r 61516c5786af -r 00076e39386f resourcemgmt/hwresourcesmgr/test/group/te_hwrm.iby --- a/resourcemgmt/hwresourcesmgr/test/group/te_hwrm.iby Wed Jun 23 22:58:50 2010 +0100 +++ b/resourcemgmt/hwresourcesmgr/test/group/te_hwrm.iby Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -20,6 +20,10 @@ #include //for test purposes, include symbian's FmTx and UI plugin #include +// if the feature flag for FF_FMTX is undefined, include the dll here +#ifndef FF_FMTX +file=ABI_DIR\DEBUG_DIR\HWRMFmTxClient.dll SYSTEM_BINDIR\HWRMFmTxClient.dll +#endif //FF_FMTX #include #include @@ -53,10 +57,10 @@ #endif // cenrep registration files -#ifdef TEXT_ONLY_ROM +//#ifdef TEXT_ONLY_ROM // This is required because the cenrep files are now being included only via techview_base.iby data=DATAZ_\private\10202BE9\10205043.txt private\10202be9\10205043.txt -#endif +//#endif data=DATAZ_\private\10202BE9\10200C8B.txt private\10202be9\10200C8B.txt data=DATAZ_\private\10202BE9\10200C8C.txt private\10202be9\10200C8C.txt data=DATAZ_\private\10202BE9\10200C8D.txt private\10202be9\10200C8D.txt diff -r 61516c5786af -r 00076e39386f resourcemgmt/hwresourcesmgr/test/group/te_hwrm.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/resourcemgmt/hwresourcesmgr/test/group/te_hwrm.pkg Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,29 @@ +; +; Copyright (c) 2010 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: +; + + +;Languages +&EN + + +;Localised Vendor name +%{"Te_Hwrm EN"} + +; Vendor name +: "Te_Hwrm" + +"\sf\os\devicesrv\resourcemgmt\hwresourcesmgr\test\te_hwrm\te_hwrm.script"-"c:\devicesrv\hwrmtest\te_hwrm.script" +"\sf\os\devicesrv\resourcemgmt\hwresourcesmgr\test\TestCapsHWRMPolicing\scripts\Cap_HWRM_API_Policing.script"-"c:\devicesrv\hwrmtest\Cap_HWRM_API_Policing.script" diff -r 61516c5786af -r 00076e39386f resourcemgmt/hwresourcesmgr/test/multiclient/hwrmtests/hwrmtests.cpp --- a/resourcemgmt/hwresourcesmgr/test/multiclient/hwrmtests/hwrmtests.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/resourcemgmt/hwresourcesmgr/test/multiclient/hwrmtests/hwrmtests.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -17,7 +17,7 @@ #include _LIT(KDirectoryPath, "C:\\logs\\"); -_LIT(KLogFile,"C:\\logs\\hwrmtests.log"); +_LIT(KLogFile,"C:\\logs\\testexecute\\hwrmtests.htm"); _LIT8(KCrLf,"\r\n"); _LIT8(KRTest,"RTEST:"); diff -r 61516c5786af -r 00076e39386f resourcemgmt/hwresourcesmgr/test/multiclient/hwrmtests/hwrmtests.mmp --- a/resourcemgmt/hwresourcesmgr/test/multiclient/hwrmtests/hwrmtests.mmp Wed Jun 23 22:58:50 2010 +0100 +++ b/resourcemgmt/hwresourcesmgr/test/multiclient/hwrmtests/hwrmtests.mmp Thu Jul 22 16:45:41 2010 +0100 @@ -13,7 +13,7 @@ // Description: // -TARGET hwrmtests.exe +TARGET hwrmtests.exe //RTEST TARGETTYPE exe UID 0x102857BB 0x102857BB // 0 VENDORID 0x70000001 diff -r 61516c5786af -r 00076e39386f resourcemgmt/hwresourcesmgr/test/multiclient/mctest_f/mctest_f.cpp --- a/resourcemgmt/hwresourcesmgr/test/multiclient/mctest_f/mctest_f.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/resourcemgmt/hwresourcesmgr/test/multiclient/mctest_f/mctest_f.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -16,7 +16,7 @@ #include "mctest_f.h" #include -_LIT(KLogFile,"C:\\logs\\mctest_f.log"); +_LIT(KLogFile,"C:\\logs\\testexecute\\mctest_f.htm"); _LIT8(KCrLf,"\r\n"); _LIT8(KRTest,"RTEST:"); diff -r 61516c5786af -r 00076e39386f resourcemgmt/hwresourcesmgr/test/multiclient/mctest_f/mctest_f.mmp --- a/resourcemgmt/hwresourcesmgr/test/multiclient/mctest_f/mctest_f.mmp Wed Jun 23 22:58:50 2010 +0100 +++ b/resourcemgmt/hwresourcesmgr/test/multiclient/mctest_f/mctest_f.mmp Thu Jul 22 16:45:41 2010 +0100 @@ -13,7 +13,7 @@ // Description: // -TARGET mctest_f.exe +TARGET mctest_f.exe //RTEST TARGETTYPE exe UID 0x102857BB 0x102857BB VENDORID 0x70000001 diff -r 61516c5786af -r 00076e39386f resourcemgmt/hwresourcesmgrconfig/telephony_hwrm-config.mrp --- a/resourcemgmt/hwresourcesmgrconfig/telephony_hwrm-config.mrp Wed Jun 23 22:58:50 2010 +0100 +++ b/resourcemgmt/hwresourcesmgrconfig/telephony_hwrm-config.mrp Thu Jul 22 16:45:41 2010 +0100 @@ -1,19 +1,3 @@ -# -# 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: -# - component telephony_hwrm-config source \sf\os\devicesrv\resourcemgmt\hwresourcesmgrconfig diff -r 61516c5786af -r 00076e39386f resourcemgmt/layers.sysdef.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/resourcemgmt/layers.sysdef.xml Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,119 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -r 61516c5786af -r 00076e39386f resourcemgmt/powerandmemorynotificationservice/group/PwrCliTests.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/resourcemgmt/powerandmemorynotificationservice/group/PwrCliTests.pkg Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,35 @@ +; +; Copyright (c) 2010 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: +; + + +;Languages +&EN + + +;Localised Vendor name +%{"PwrCliTests EN"} + +; Vendor name +: "PwrCliTests" + +; RTest Cases +"\epoc32\release\armv5\urel\t_pwrbasic.exe"-"c:\sys\bin\t_pwrbasic.exe" +"\epoc32\release\armv5\urel\t_pwroffevents.exe"-"c:\sys\bin\t_pwroffevents.exe" +"\epoc32\release\armv5\urel\t_shutdownserver.exe"-"c:\sys\bin\t_shutdownserver.exe" + + + + diff -r 61516c5786af -r 00076e39386f resourcemgmt/powerandmemorynotificationservice/group/syslibs_pwrcli.mrp --- a/resourcemgmt/powerandmemorynotificationservice/group/syslibs_pwrcli.mrp Wed Jun 23 22:58:50 2010 +0100 +++ b/resourcemgmt/powerandmemorynotificationservice/group/syslibs_pwrcli.mrp Thu Jul 22 16:45:41 2010 +0100 @@ -1,19 +1,3 @@ -# -# 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: -# - component syslibs_pwrcli source \sf\os\devicesrv\resourcemgmt\powerandmemorynotificationservice binary \sf\os\devicesrv\resourcemgmt\powerandmemorynotificationservice\group all diff -r 61516c5786af -r 00076e39386f resourcemgmt/powerandmemorynotificationservice/group/t_pwrbasic.mmp --- a/resourcemgmt/powerandmemorynotificationservice/group/t_pwrbasic.mmp Wed Jun 23 22:58:50 2010 +0100 +++ b/resourcemgmt/powerandmemorynotificationservice/group/t_pwrbasic.mmp Thu Jul 22 16:45:41 2010 +0100 @@ -15,7 +15,7 @@ // // -TARGET t_pwrbasic.exe +TARGET t_pwrbasic.exe //RTEST CAPABILITY PowerMgmt TARGETTYPE EXE diff -r 61516c5786af -r 00076e39386f resourcemgmt/powerandmemorynotificationservice/group/t_pwroffevents.mmp --- a/resourcemgmt/powerandmemorynotificationservice/group/t_pwroffevents.mmp Wed Jun 23 22:58:50 2010 +0100 +++ b/resourcemgmt/powerandmemorynotificationservice/group/t_pwroffevents.mmp Thu Jul 22 16:45:41 2010 +0100 @@ -16,7 +16,7 @@ // // -TARGET t_pwroffevents.exe +TARGET t_pwroffevents.exe //RTEST // requires PowerMgmt because it is a unit test of the server code that will call the Power API which requires it // requires DiskAdmin because the test will make the server call RFs::FinaliseDrives() as part of power-off sequence CAPABILITY PowerMgmt DiskAdmin diff -r 61516c5786af -r 00076e39386f resourcemgmt/powerandmemorynotificationservice/group/t_shutdownserver.mmp --- a/resourcemgmt/powerandmemorynotificationservice/group/t_shutdownserver.mmp Wed Jun 23 22:58:50 2010 +0100 +++ b/resourcemgmt/powerandmemorynotificationservice/group/t_shutdownserver.mmp Thu Jul 22 16:45:41 2010 +0100 @@ -15,7 +15,7 @@ // // -TARGET t_shutdownserver.exe +TARGET t_shutdownserver.exe //RTEST CAPABILITY ProtServ PowerMgmt DiskAdmin TARGETTYPE EXE diff -r 61516c5786af -r 00076e39386f sensorservices/orientationssy/inc/SsyConfiguration.h --- a/sensorservices/orientationssy/inc/SsyConfiguration.h Wed Jun 23 22:58:50 2010 +0100 +++ b/sensorservices/orientationssy/inc/SsyConfiguration.h Thu Jul 22 16:45:41 2010 +0100 @@ -156,8 +156,7 @@ KNoRealValue, 0, // iMinValue KNoRealValue, - ETrue, // iReadOnly. Default value is not readonly, it is set - // to read only when updated. + ETrue, // iReadOnly. ESensrvIntProperty // iPropertyType } }; diff -r 61516c5786af -r 00076e39386f sensorservices/orientationssy/src/SsyChannel.cpp --- a/sensorservices/orientationssy/src/SsyChannel.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sensorservices/orientationssy/src/SsyChannel.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -303,17 +303,6 @@ break; case EChannelOpening: { - // Before completing channel opening, get max data rate from actual SSY - if ( !iSensorProperties->DataRateUpdated() ) - { - TSensrvProperty maxdatarate; - RSensrvChannelList affectedChannels; - // Get max data rate - iOrientationHandler->GetMaxDataRateL( maxdatarate ); - // Set property - iSensorProperties->SetProperty( maxdatarate, affectedChannels ); - } - SetChannelState( EChannelOpen ); iCallback->ChannelOpened( iChannelInfo.iChannelId, iStatus.Int(), this, this ); break; diff -r 61516c5786af -r 00076e39386f sensorservices/orientationssy/src/SsyProperty.cpp --- a/sensorservices/orientationssy/src/SsyProperty.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sensorservices/orientationssy/src/SsyProperty.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -297,14 +297,13 @@ else if ( aProperty.GetPropertyId() == KSensrvPropIdDataRate ) { - SSY_TRACE( EExtended, "ORIENTATIONSSY: Updating data rate property" ); - // Data rate property is replaced in a different way than others. - // Note that this can be done only once as this property is set to read only. - aProperty.GetValue( intValue ); - // Leave value to 0, update only max value because that is the only value we can provide + // Since Orientation is an event, the data rate property is made readonly. + // In ssyconfiguration.h file, the datarate property is defined as writable, + // it is not modified due to backward compatibility. + // Now it is changed and the orientation channel property is made readonly always. + if( iChannelProperties.Count() >= index ) { - iChannelProperties[index].iIntMaxValue = intValue; iChannelProperties[index].iReadOnly = ETrue; } diff -r 61516c5786af -r 00076e39386f sensorservices/sensordatacompensator/tsrc/sensordatacompensatortest/group/envrecall.cmd --- a/sensorservices/sensordatacompensator/tsrc/sensordatacompensatortest/group/envrecall.cmd Wed Jun 23 22:58:50 2010 +0100 +++ b/sensorservices/sensordatacompensator/tsrc/sensordatacompensatortest/group/envrecall.cmd Thu Jul 22 16:45:41 2010 +0100 @@ -19,15 +19,13 @@ echo Cleaning up sensor data compensator stub... pushd ..\sensordatacompensatorpluginstub\group -call bldmake bldfiles -call abld test reallyclean +call sbs REALLYCLEAN -c winscw.test -c armv5.generic.test popd @echo Cleaning up sensor data compensator... Finished @echo Cleaning sensor data compensator stub part2... pushd ..\..\..\..\..\..\..\mw\appsupport\coreapplicationuis\sensordatacompensatorplugin\group -call bldmake bldfiles -call abld reallyclean -call abld build +call sbs REALLYCLEAN -c winscw -c armv5.generic +call sbs -b bld.inf -c winscw -c armv5.generic popd @echo Cleaning for sensor data compensator part2... Finished diff -r 61516c5786af -r 00076e39386f sensorservices/sensordatacompensator/tsrc/sensordatacompensatortest/group/envsetup.cmd --- a/sensorservices/sensordatacompensator/tsrc/sensordatacompensatortest/group/envsetup.cmd Wed Jun 23 22:58:50 2010 +0100 +++ b/sensorservices/sensordatacompensator/tsrc/sensordatacompensatortest/group/envsetup.cmd Thu Jul 22 16:45:41 2010 +0100 @@ -19,15 +19,13 @@ echo Preparing for sensor data compensator stub... pushd ..\..\..\..\..\..\..\mw\appsupport\coreapplicationuis\sensordatacompensatorplugin\group -call bldmake bldfiles -call abld reallyclean +call sbs REALLYCLEAN -c winscw -c armv5.generic popd @echo Preparing for sensor data compensator... Finished @echo Setting up sensor data compensator stub... pushd ..\sensordatacompensatorpluginstub\group -call bldmake bldfiles -call abld test reallyclean -call abld test build +call sbs REALLYCLEAN -c winscw.test -c armv5.generic.test +call sbs -b bld.inf -c winscw.test -c armv5.generic.test popd @echo Setting up sensor data compensator... Finished diff -r 61516c5786af -r 00076e39386f sensorservices/sensorserver/src/util/sensrvproperty.cpp --- a/sensorservices/sensorserver/src/util/sensrvproperty.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sensorservices/sensorserver/src/util/sensrvproperty.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -356,9 +356,12 @@ { API_TRACE( ( _L( "Sensor Util - TSensrvProperty::GetValue return %e" ), iRealValue ) ); - __ASSERT_ALWAYS( ESensrvRealProperty == iPropertyType, User::Panic( KSensrvPropertyPanic, 0 )); + //__ASSERT_ALWAYS( ESensrvRealProperty == iPropertyType, User::Panic( KSensrvPropertyPanic, 0 )); - aValue = iRealValue; + if( ESensrvRealProperty == iPropertyType ) + aValue = iRealValue; + else if( ESensrvIntProperty == iPropertyType ) + aValue = iIntValue; } // --------------------------------------------------------------------------- @@ -467,9 +470,13 @@ { API_TRACE( ( _L( "Sensor Util - TSensrvProperty::GetMaxValue return %e" ), iRealValueMax ) ); - __ASSERT_ALWAYS( ESensrvRealProperty == iPropertyType, User::Panic( KSensrvPropertyPanic, 0 )); + //__ASSERT_ALWAYS( ESensrvRealProperty == iPropertyType, User::Panic( KSensrvPropertyPanic, 0 )); - aMaxValue = iRealValueMax; + if( ESensrvRealProperty == iPropertyType ) + aMaxValue = iRealValueMax; + else if ( ESensrvIntProperty == iPropertyType ) + aMaxValue = iIntValueMax; + } // --------------------------------------------------------------------------- @@ -480,9 +487,11 @@ { API_TRACE( ( _L( "Sensor Util - TSensrvProperty::GetMinValue return %e" ), iRealValueMin ) ); - __ASSERT_ALWAYS( ESensrvRealProperty == iPropertyType, User::Panic( KSensrvPropertyPanic, 0 )); - - aMinValue = iRealValueMin; + //__ASSERT_ALWAYS( ESensrvRealProperty == iPropertyType, User::Panic( KSensrvPropertyPanic, 0 )); + if( ESensrvRealProperty == iPropertyType ) + aMinValue = iRealValueMin; + else if( ESensrvIntProperty == iPropertyType ) + aMinValue = iIntValueMin; } // --------------------------------------------------------------------------- diff -r 61516c5786af -r 00076e39386f sensorservices/sensorserver/tsrc/sensorsrvtest/SensorTestModule/src/SensrvTestBlocks.cpp --- a/sensorservices/sensorserver/tsrc/sensorsrvtest/SensorTestModule/src/SensrvTestBlocks.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sensorservices/sensorserver/tsrc/sensorsrvtest/SensorTestModule/src/SensrvTestBlocks.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -233,6 +233,7 @@ User::After(7000000); } + tempChannelInfoList.Reset(); delete tempChannelFinder; delete tempSensorChannel1; delete tempSensorChannel2; @@ -313,6 +314,7 @@ tempChannelFinder19->FindChannelsL( tempChannelInfoList, tempChannelInfo ); tempChannelFinder20->FindChannelsL( tempChannelInfoList, tempChannelInfo ); + tempChannelInfoList.Reset(); delete tempChannelFinder1; delete tempChannelFinder2; delete tempChannelFinder3; @@ -398,6 +400,7 @@ } } + tempChannelInfoList.Reset(); delete tempChannelFinder; delete tempSensorChannel; @@ -467,7 +470,7 @@ } } - + tempChannelInfoList.Reset(); //Checking for Magnetometer tempChannelInfo.iChannelType = KSensrvChannelTypeIdMagnetometerXYZAxisData; @@ -499,6 +502,7 @@ } } + tempChannelInfoList.Reset(); tempChannelInfo.iChannelType = KSensrvChannelTypeIdAmbientLightData; @@ -530,7 +534,7 @@ } } - + tempChannelInfoList.Reset(); delete tempChannelFinder; delete tempSensorChannel1; delete tempSensorChannel2; @@ -599,6 +603,7 @@ } } + tempChannelInfoList.Reset(); //Checking for Magnetometer tempChannelInfo.iChannelType = KSensrvChannelTypeIdMagnetometerXYZAxisData; @@ -631,6 +636,7 @@ } } + tempChannelInfoList.Reset(); tempChannelInfo.iChannelType = KSensrvChannelTypeIdAmbientLightData; @@ -673,6 +679,7 @@ { returnValue = KErrNone; } + tempChannelInfoList.Reset(); delete tempSensorChannel1; delete tempSensorChannel2; delete tempSensorChannel3; @@ -729,7 +736,8 @@ //Close the channel tempSensorChannel1->CloseChannel(); - } + } + tempChannelInfoList.Reset(); tempChannelInfo.iChannelType = KSensrvChannelTypeIdOrientationData; @@ -763,6 +771,7 @@ } delete tempChannelFinder; + tempChannelInfoList.Reset(); //Wait for sensorserver to shutdown gracefully, it will take some time.. User::After(30000000); @@ -799,7 +808,7 @@ } } - + tempChannelInfoList.Reset(); //Checking for Magnetometer tempChannelInfo.iChannelType = KSensrvChannelTypeIdMagneticNorthData; @@ -830,7 +839,7 @@ ssyProcess.Close(); } } - + tempChannelInfoList.Reset(); delete tempChannelFinder; //Wait for the sensorserver to shutdown @@ -868,6 +877,7 @@ ssyProcess.Close(); } } + tempChannelInfoList.Reset(); tempChannelInfo.iChannelType = KSensrvChannelTypeIdAmbientLightData; @@ -899,7 +909,7 @@ } } - + tempChannelInfoList.Reset(); delete tempChannelFinder; User::After(3000000); diff -r 61516c5786af -r 00076e39386f sensorservices/sensorserver/tsrc/sensorsrvtest/group/envrecall.cmd --- a/sensorservices/sensorserver/tsrc/sensorsrvtest/group/envrecall.cmd Wed Jun 23 22:58:50 2010 +0100 +++ b/sensorservices/sensorserver/tsrc/sensorsrvtest/group/envrecall.cmd Thu Jul 22 16:45:41 2010 +0100 @@ -19,7 +19,6 @@ @echo Cleaning SensorTestModuleStubs pushd ..\SensorTestModule\group\ -call bldmake bldfiles -call abld test reallyclean +call sbs REALLYCLEAN -c winscw.test -c armv5.generic.test popd @echo Cleaning SensorTestModuleStubs Finished \ No newline at end of file diff -r 61516c5786af -r 00076e39386f sensorservices/sensorserver/tsrc/sensorsrvtest/group/envsetup.cmd --- a/sensorservices/sensorserver/tsrc/sensorsrvtest/group/envsetup.cmd Wed Jun 23 22:58:50 2010 +0100 +++ b/sensorservices/sensorserver/tsrc/sensorsrvtest/group/envsetup.cmd Thu Jul 22 16:45:41 2010 +0100 @@ -19,8 +19,7 @@ @echo Setting up SensorTestModuleStubs pushd ..\SensorTestModule\group\ -call bldmake bldfiles -call abld test reallyclean -call abld test build +call sbs REALLYCLEAN -c winscw.test -c armv5.generic.test +call sbs -b bld.inf -c winscw.test -c armv5.generic.test popd @echo Setting up SensorTestModuleStubs Finished diff -r 61516c5786af -r 00076e39386f sensorservices/tiltcompensationssy/inc/tcsendeventtimer.h --- a/sensorservices/tiltcompensationssy/inc/tcsendeventtimer.h Wed Jun 23 22:58:50 2010 +0100 +++ b/sensorservices/tiltcompensationssy/inc/tcsendeventtimer.h Thu Jul 22 16:45:41 2010 +0100 @@ -71,6 +71,8 @@ // @see CActive TInt RunError( TInt aError ); + public: + void Start( ); private: // Private data for base channel diff -r 61516c5786af -r 00076e39386f sensorservices/tiltcompensationssy/src/tcchanneltilt.cpp --- a/sensorservices/tiltcompensationssy/src/tcchanneltilt.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sensorservices/tiltcompensationssy/src/tcchanneltilt.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -687,8 +687,11 @@ // Complete transaction iStatus = KRequestPending; - SetActive(); - CompleteTransaction( err ); + if( !IsActive() ) + { + SetActive(); + } + CompleteTransaction( err ); break; } case ETCTransactionIdCloseChannel: @@ -698,7 +701,10 @@ // Complete transaction iStatus = KRequestPending; - SetActive(); + if( !IsActive() ) + { + SetActive(); + } CompleteTransaction( KErrNone ); break; } @@ -709,7 +715,10 @@ // Complete transaction iStatus = KRequestPending; - SetActive(); + if( !IsActive() ) + { + SetActive(); + } CompleteTransaction( KErrNone ); break; } @@ -720,7 +729,10 @@ // Complete transaction iStatus = KRequestPending; - SetActive(); + if( !IsActive() ) + { + SetActive(); + } CompleteTransaction( KErrNone ); break; } @@ -741,7 +753,10 @@ // Complete transaction iStatus = KRequestPending; - SetActive(); + if( !IsActive() ) + { + SetActive(); + } CompleteTransaction( KErrNone ); break; } diff -r 61516c5786af -r 00076e39386f sensorservices/tiltcompensationssy/src/tcsendeventtimer.cpp --- a/sensorservices/tiltcompensationssy/src/tcsendeventtimer.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sensorservices/tiltcompensationssy/src/tcsendeventtimer.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -74,7 +74,10 @@ ret = iTimer.CreateLocal(); User::LeaveIfError( ret ); iTimerToHzLevel = aSetTimerToHzLevel; - TTimeIntervalMicroSeconds32 interval( KOneSecondInMicroSeconds / aSetTimerToHzLevel ); + } +void CTCSendEventTimer::Start() + { + TTimeIntervalMicroSeconds32 interval( KOneSecondInMicroSeconds / iTimerToHzLevel ); if( !IsActive() ) { diff -r 61516c5786af -r 00076e39386f sensorservices/tiltcompensationssy/src/tcstate.cpp --- a/sensorservices/tiltcompensationssy/src/tcstate.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sensorservices/tiltcompensationssy/src/tcstate.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -82,11 +82,14 @@ // CTCState::IsSet // ---------------------------------------------------------------------------------- // -TBool CTCState::IsSet( TUint32 /*aFlag*/ ) +TBool CTCState::IsSet( TUint32 aFlag ) { FUNC_LOG; - return ETrue; + if(iFlags & aFlag) + return ETrue; + else + return EFalse; } // ---------------------------------------------------------------------------------- diff -r 61516c5786af -r 00076e39386f sensorservices/tiltcompensationssy/src/tcstatetiltlistendata.cpp --- a/sensorservices/tiltcompensationssy/src/tcstatetiltlistendata.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sensorservices/tiltcompensationssy/src/tcstatetiltlistendata.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -355,6 +355,7 @@ if( !iTimerToSend ) { iTimerToSend = CTCSendEventTimer::NewL( iHzSamplingRate, *this ); + iTimerToSend->Start(); } else if( iHasChanged ) { @@ -363,6 +364,10 @@ iTimerToSend = CTCSendEventTimer::NewL( iHzSamplingRate, *this ); iHasChanged = EFalse; } + else + { + iTimerToSend->Start(); + } } // ---------------------------------------------------------------------------------- @@ -375,8 +380,7 @@ if( iTimerToSend ) { - delete iTimerToSend; - iTimerToSend = NULL; + iTimerToSend->Cancel(); } } diff -r 61516c5786af -r 00076e39386f sysstatemgmt/group/bld.inf --- a/sysstatemgmt/group/bld.inf Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/group/bld.inf Thu Jul 22 16:45:41 2010 +0100 @@ -31,6 +31,10 @@ #include "../ssmcustcmds/group/bld.inf" #include "../syslangutil/group/bld.inf" #include "../sysrestart/group/bld.inf" +#include "../systemstarter/group/bld.inf" +#include "../systemstatemgr/group/bld.inf" +#include "../systemstatereferenceplugins/group/bld.inf" +#include "../systemstateplugins/group/bld.inf" #include "../sysuiprovider/group/bld.inf" diff -r 61516c5786af -r 00076e39386f sysstatemgmt/layers.sysdef.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/layers.sysdef.xml Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -r 61516c5786af -r 00076e39386f sysstatemgmt/ssmcmdlists/data/noncriticalcmdlist_ext.rss --- a/sysstatemgmt/ssmcmdlists/data/noncriticalcmdlist_ext.rss Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/ssmcmdlists/data/noncriticalcmdlist_ext.rss Thu Jul 22 16:45:41 2010 +0100 @@ -68,6 +68,7 @@ { commands = { + r_cmd_waitidle, //CR:ETIN-86JCY2 // prio 0xFFB7 #ifdef __JAVA r_cmd_javacaptain, @@ -99,58 +100,10 @@ r_cmd_amastart, // prio 0x7F96 r_cmd_multiple_wait, - // prio 0x7EFF - r_cmd_activitymonitor1, - // prio 0x7EFD - r_cmd_activitymonitor2, - // prio 0x7EFB - r_cmd_activitymonitor3, - // prio 0x7EF9 - r_cmd_activitymonitor4, - // prio 0x7EF7 - r_cmd_activitymonitor5, - // prio 0x7EF6 - r_cmd_videocenter, - // prio 0x7EF5 - r_cmd_activitymonitor6, - // prio 0x7EF4 - r_cmd_iaupdatebg, - // prio 0x7EF3 - r_cmd_activitymonitor7, - // prio 0x7EF2 - r_cmd_activitymonitor8, - // prio 0x7EEE - r_cmd_autosync, - // prio 0x7EED - r_cmd_activitymonitor9, - // prio 0x7EEC - r_cmd_mylocationsengine, - //prio 0x7EEA - r_cmd_activitymonitor10, - //prio 0x7EE9 - r_cmd_conversationserver, //SBSA-7YZGCQ - //prio 0x7EE8 - r_cmd_activitymonitor11, - //prio 0x7EE7 - r_cmd_msgnotifier //SBSA-82ZBMC -#ifdef FF_ATT_ADDRESS_BK - //prio 0x7EE6 - ,r_cmd_activitymonitor12, - //prio 0x7EE5 - r_cmd_aab -#endif -#ifdef FF_SEARCH_SW - //prio 0x7EE4 - ,r_cmd_activitymonitor13, - //prio 0x7EE3 - r_cmd_searchsw //SLAR-832C9T -#endif //FF_SEARCH_SW -#ifdef FF_EMAIL_FRAMEWORK - //prio 0x7EE2 - ,r_cmd_activitymonitor14, - //prio 0x7EE1 - r_cmd_nmailagent //MBEN-83CFQE -#endif //FF_EMAIL_FRAMEWORK + // prio 0x7F55 + r_cmd_createswp_noncriticalphase, + // prio 0x7F54 + r_cmd_setswp_noncriticalstart }; } @@ -159,236 +112,6 @@ // =========================================================================== // -// ----------------------------------------------------------------------------- -// r_cmd_aab -// ----------------------------------------------------------------------------- -// -#ifdef FF_ATT_ADDRESS_BK -RESOURCE SSM_START_APP_INFO r_cmd_aab - { - priority = 0x7EE5; - name = "z:\\sys\\bin\\AABPhonebookapp.exe"; - retries = 2; - background = 1; // To background - monitor_info = r_mon_3_restarts_ignore; - } -#endif - -// --------------------------------------------------------------------------- -// r_cmd_activitymonitor1 -// --------------------------------------------------------------------------- -// -RESOURCE SSM_START_CUSTOM_COMMAND r_cmd_activitymonitor1 - { - priority = 0x7EFF; - severity = ECmdCriticalSeverity; - execution_behaviour = ESsmWaitForSignal; - dllname = "ssmactivitycmd.dll"; - ordinal = 1; // SsmActivityCmdNewL - retries = 2; - dll_data = r_dlldata_activitymonitor_timeout; - } - -// --------------------------------------------------------------------------- -// r_cmd_activitymonitor2 -// --------------------------------------------------------------------------- -// -RESOURCE SSM_START_CUSTOM_COMMAND r_cmd_activitymonitor2 - { - priority = 0x7EFD; - severity = ECmdCriticalSeverity; - execution_behaviour = ESsmWaitForSignal; - dllname = "ssmactivitycmd.dll"; - ordinal = 1; // SsmActivityCmdNewL - retries = 2; - dll_data = r_dlldata_activitymonitor_timeout; - } - -// --------------------------------------------------------------------------- -// r_cmd_activitymonitor3 -// --------------------------------------------------------------------------- -// -RESOURCE SSM_START_CUSTOM_COMMAND r_cmd_activitymonitor3 - { - priority = 0x7EFB; - severity = ECmdCriticalSeverity; - execution_behaviour = ESsmWaitForSignal; - dllname = "ssmactivitycmd.dll"; - ordinal = 1; // SsmActivityCmdNewL - retries = 2; - dll_data = r_dlldata_activitymonitor_timeout; - } - -// --------------------------------------------------------------------------- -// r_cmd_activitymonitor4 -// --------------------------------------------------------------------------- -// -RESOURCE SSM_START_CUSTOM_COMMAND r_cmd_activitymonitor4 - { - priority = 0x7EF9; - severity = ECmdCriticalSeverity; - execution_behaviour = ESsmWaitForSignal; - dllname = "ssmactivitycmd.dll"; - ordinal = 1; // SsmActivityCmdNewL - retries = 2; - dll_data = r_dlldata_activitymonitor_timeout; - } - -// --------------------------------------------------------------------------- -// r_cmd_activitymonitor5 -// --------------------------------------------------------------------------- -// -RESOURCE SSM_START_CUSTOM_COMMAND r_cmd_activitymonitor5 - { - priority = 0x7EF7; - severity = ECmdCriticalSeverity; - execution_behaviour = ESsmWaitForSignal; - dllname = "ssmactivitycmd.dll"; - ordinal = 1; // SsmActivityCmdNewL - retries = 2; - dll_data = r_dlldata_activitymonitor_timeout; - } - -// --------------------------------------------------------------------------- -// r_cmd_activitymonitor6 -// --------------------------------------------------------------------------- -// -RESOURCE SSM_START_CUSTOM_COMMAND r_cmd_activitymonitor6 - { - priority = 0x7EF5; - severity = ECmdCriticalSeverity; - execution_behaviour = ESsmWaitForSignal; - dllname = "ssmactivitycmd.dll"; - ordinal = 1; // SsmActivityCmdNewL - retries = 2; - dll_data = r_dlldata_activitymonitor_timeout; - } - -// --------------------------------------------------------------------------- -// r_cmd_activitymonitor7 -// --------------------------------------------------------------------------- -// -RESOURCE SSM_START_CUSTOM_COMMAND r_cmd_activitymonitor7 - { - priority = 0x7EF3; - severity = ECmdCriticalSeverity; - execution_behaviour = ESsmWaitForSignal; - dllname = "ssmactivitycmd.dll"; - ordinal = 1; // SsmActivityCmdNewL - retries = 2; - dll_data = r_dlldata_activitymonitor_timeout; - } - -// --------------------------------------------------------------------------- -// r_cmd_activitymonitor8 -// --------------------------------------------------------------------------- -// -RESOURCE SSM_START_CUSTOM_COMMAND r_cmd_activitymonitor8 - { - priority = 0x7EEF; - severity = ECmdCriticalSeverity; - execution_behaviour = ESsmWaitForSignal; - dllname = "ssmactivitycmd.dll"; - ordinal = 1; // SsmActivityCmdNewL - retries = 2; - dll_data = r_dlldata_activitymonitor_timeout; - } - -// --------------------------------------------------------------------------- -// r_cmd_activitymonitor9 -// --------------------------------------------------------------------------- -// -RESOURCE SSM_START_CUSTOM_COMMAND r_cmd_activitymonitor9 - { - priority = 0x7EED; - severity = ECmdCriticalSeverity; - execution_behaviour = ESsmWaitForSignal; - dllname = "ssmactivitycmd.dll"; - ordinal = 1; // SsmActivityCmdNewL - retries = 2; - dll_data = r_dlldata_activitymonitor_timeout; - } - -// --------------------------------------------------------------------------- -// r_cmd_activitymonitor10 -// --------------------------------------------------------------------------- -// -RESOURCE SSM_START_CUSTOM_COMMAND r_cmd_activitymonitor10 - { - priority = 0x7EEA; - severity = ECmdCriticalSeverity; - execution_behaviour = ESsmWaitForSignal; - dllname = "ssmactivitycmd.dll"; - ordinal = 1; // SsmActivityCmdNewL - retries = 2; - dll_data = r_dlldata_activitymonitor_timeout; - } - -// --------------------------------------------------------------------------- -// r_cmd_activitymonitor11 -// --------------------------------------------------------------------------- -// -RESOURCE SSM_START_CUSTOM_COMMAND r_cmd_activitymonitor11 - { - priority = 0x7EE8; - severity = ECmdCriticalSeverity; - execution_behaviour = ESsmWaitForSignal; - dllname = "ssmactivitycmd.dll"; - ordinal = 1; // SsmActivityCmdNewL - retries = 2; - dll_data = r_dlldata_activitymonitor_timeout; - } - -// --------------------------------------------------------------------------- -// r_cmd_activitymonitor12 -// --------------------------------------------------------------------------- -// -#ifdef FF_ATT_ADDRESS_BK -RESOURCE SSM_START_CUSTOM_COMMAND r_cmd_activitymonitor12 - { - priority = 0x7EE6; - severity = ECmdCriticalSeverity; - execution_behaviour = ESsmWaitForSignal; - dllname = "ssmactivitycmd.dll"; - ordinal = 1; // SsmActivityCmdNewL - retries = 2; - dll_data = r_dlldata_activitymonitor_timeout; - } -#endif - -// --------------------------------------------------------------------------- -// r_cmd_activitymonitor13 -// --------------------------------------------------------------------------- -// -#ifdef FF_SEARCH_SW -RESOURCE SSM_START_CUSTOM_COMMAND r_cmd_activitymonitor13 - { - priority = 0x7EE4; - severity = ECmdCriticalSeverity; - execution_behaviour = ESsmWaitForSignal; - dllname = "ssmactivitycmd.dll"; - ordinal = 1; // SsmActivityCmdNewL - retries = 2; - dll_data = r_dlldata_activitymonitor_timeout; - } -#endif //FF_SEARCH_SW - -// --------------------------------------------------------------------------- -// r_cmd_activitymonitor14 -// --------------------------------------------------------------------------- -// -#ifdef FF_EMAIL_FRAMEWORK -RESOURCE SSM_START_CUSTOM_COMMAND r_cmd_activitymonitor14 - { - priority = 0x7EE2; - severity = ECmdCriticalSeverity; - execution_behaviour = ESsmWaitForSignal; - dllname = "ssmactivitycmd.dll"; - ordinal = 1; // SsmActivityCmdNewL - retries = 2; - dll_data = r_dlldata_activitymonitor_timeout; - } -#endif //FF_EMAIL_FRAMEWORK // --------------------------------------------------------------------------- // r_cmd_amastart // --------------------------------------------------------------------------- @@ -398,18 +121,6 @@ priority = 0x7F97; conditional_information = r_cond_ps_normalboot; } - -// --------------------------------------------------------------------------- -// r_cmd_autosync -// --------------------------------------------------------------------------- -// -RESOURCE SSM_START_PROCESS_INFO r_cmd_autosync - { - priority = 0x7EEE; - execution_behaviour = ESsmFireAndForget; - retries = 3; - name = "cctautosync.exe"; - } // --------------------------------------------------------------------------- // r_cmd_aosrv @@ -451,16 +162,30 @@ monitor_info = r_mon_3_restarts_ignore; } + // --------------------------------------------------------------------------- -// r_cmd_conversationserver +// r_cmd_createswp_noncriticalphase // --------------------------------------------------------------------------- // -RESOURCE SSM_START_PROCESS_INFO r_cmd_conversationserver +RESOURCE SSM_CREATE_SYSTEM_WIDE_PROPERTY r_cmd_createswp_noncriticalphase { - priority = 0x7EE9; - name = "csserver.exe"; - execution_behaviour = ESsmWaitForSignal; + priority = 0x7F55; + severity = ECmdCriticalSeverity; + key = SWP_UID_SSM_NONCRITICAL_PHASE; + filename = "ssmnoncriticalswppolicy.dll"; } + +// --------------------------------------------------------------------------- +// r_cmd_setswp_noncriticalstart +// --------------------------------------------------------------------------- +// +RESOURCE SSM_REQUEST_SYSTEM_WIDE_PROPERTY r_cmd_setswp_noncriticalstart + { + priority = 0x7F54; + key = SWP_UID_SSM_NONCRITICAL_PHASE; + value = ESsmNonCriticalPhaseStarted; + } + // --------------------------------------------------------------------------- // r_cmd_dcmo // --------------------------------------------------------------------------- @@ -542,19 +267,6 @@ } // --------------------------------------------------------------------------- -// r_cmd_iaupdatebg -// --------------------------------------------------------------------------- -// -RESOURCE SSM_START_PROCESS_INFO r_cmd_iaupdatebg - { - priority = 0x7EF4; - name = "iaupdatebg.exe"; - execution_behaviour = ESsmWaitForSignal; - timeout = 10000; - conditional_information = r_cond_feat_iadv2; - } - -// --------------------------------------------------------------------------- // r_cmd_ippushman // --------------------------------------------------------------------------- // @@ -592,17 +304,6 @@ monitor_info = r_mon_3_restarts_ignore; } -// --------------------------------------------------------------------------- -// r_cmd_msgnotifier -// --------------------------------------------------------------------------- -// -RESOURCE SSM_START_APP_INFO r_cmd_msgnotifier - { - priority = 0x7EE7; - name = "msgnotifier.exe"; - execution_behaviour = ESsmFireAndForget; - retries = 3; - } // --------------------------------------------------------------------------- // r_cmd_psstate @@ -655,52 +356,6 @@ execution_behaviour = ESsmWaitForSignal; timeout = 10000; } - -//--------------------------------------------------------------------------- -// r_cmd_searchsw -// --------------------------------------------------------------------------- -// -#ifdef FF_SEARCH_SW -RESOURCE SSM_START_PROCESS_INFO r_cmd_searchsw - { - priority = 0x7EE3; - name = "z:\\sys\\bin\\cpixwatchdog.exe"; - execution_behaviour = ESsmFireAndForget; - conditional_information = r_cond_feat_searchsw; - } - -// --------------------------------------------------------------------------- -// r_cond_feat_searchsw -// --------------------------------------------------------------------------- -// -RESOURCE SSM_CND_FEATURE_VALUE r_cond_feat_searchsw - { - feature_id = KFeatureIdFfSearchSw; - } -#endif //FF_SEARCH_SW - -// --------------------------------------------------------------------------- -// r_cmd_nmailagent -// --------------------------------------------------------------------------- -// -#ifdef FF_EMAIL_FRAMEWORK -RESOURCE SSM_START_PROCESS_INFO r_cmd_nmailagent - { - priority = 0x7EE1; - name = "z:\\sys\\bin\\nmailagent.exe"; - execution_behaviour = ESsmFireAndForget; - conditional_information = r_cond_feat_emailfw; - } - -// --------------------------------------------------------------------------- -// r_cond_feat_emailfw -// --------------------------------------------------------------------------- -// -RESOURCE SSM_CND_FEATURE_VALUE r_cond_feat_emailfw - { - feature_id = KFeatureIdFfEmailFramework; - } -#endif //FF_EMAIL_FRAMEWORK // --------------------------------------------------------------------------- // r_cmd_supllistener @@ -726,18 +381,6 @@ } // --------------------------------------------------------------------------- -// r_cmd_videocenter -// --------------------------------------------------------------------------- -// -RESOURCE SSM_START_PROCESS_INFO r_cmd_videocenter - { - priority = 0x7EF6; - name = "cseschedulerserver.exe"; - execution_behaviour = ESsmWaitForSignal; - timeout = 10000; - } - -// --------------------------------------------------------------------------- // r_cmd_waitcleanbootinfo // --------------------------------------------------------------------------- // @@ -753,6 +396,33 @@ } // --------------------------------------------------------------------------- +// r_cmd_waitidle +// --------------------------------------------------------------------------- +// +RESOURCE SSM_START_CUSTOM_COMMAND r_cmd_waitidle + { + priority = 0xFFC5; + severity = ECmdCriticalSeverity; + dllname = "ssmsystemcmds.dll"; + ordinal = 5; // WaitPsKeyExact + dll_data = r_dlldata_waitidle; + unload_on_finish = ENeverUnload; + retries = 2; + execution_behaviour = ESsmWaitForSignal; + } + +// --------------------------------------------------------------------------- +// r_dlldata_waitidle +// --------------------------------------------------------------------------- +// +RESOURCE CMD_PARAM_WAIT_PS r_dlldata_waitidle + { + category = 0x101F8766; // KPSUidStartup + key = 0x00000043; // KPSIdlePhase1Ok + target = 101; // EIdlePhase1Ok + } + +// --------------------------------------------------------------------------- // r_cmd_watcher // --------------------------------------------------------------------------- // @@ -783,15 +453,6 @@ // // --------------------------------------------------------------------------- -// r_dlldata_activitymonitor_timeout -// --------------------------------------------------------------------------- -// -RESOURCE CMD_PARAM_TIMEOUT r_dlldata_activitymonitor_timeout - { - timeout = 2; - } - -// --------------------------------------------------------------------------- // r_dlldata_waitcleanbootinfo // --------------------------------------------------------------------------- // @@ -803,17 +464,6 @@ target2 = 102; // EStartupCleanBoot } -// --------------------------------------------------------------------------- -// r_cmd_mylocationsengine -// --------------------------------------------------------------------------- -// -RESOURCE SSM_START_PROCESS_INFO r_cmd_mylocationsengine - { - priority = 0x7EEC; - name = "z:\\sys\\bin\\mylocationsengine.exe"; - execution_behaviour = ESsmFireAndForget; - } - // =========================================================================== // Conditional blocks in alphabetical order // =========================================================================== @@ -849,15 +499,6 @@ } // --------------------------------------------------------------------------- -// r_cond_feat_iadv2 -// --------------------------------------------------------------------------- -// -RESOURCE SSM_CND_FEATURE_VALUE r_cond_feat_iadv2 - { - feature_id = KFeatureIdFfIaupdatePhase2; - } - -// --------------------------------------------------------------------------- // r_cond_feat_ippush // --------------------------------------------------------------------------- // diff -r 61516c5786af -r 00076e39386f sysstatemgmt/ssmcmdlists/data/noncriticalswpcmdlists.rss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/ssmcmdlists/data/noncriticalswpcmdlists.rss Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,462 @@ +/* +* Copyright (c) 2010 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: +* Command lists for the noncritical phase SWP: +* - non-critical phase Started +* +*/ + +#include +#include + +#include "ssmswp.hrh" +#include "ssmdlldatadefs.rh" + +// Identify command list type +UID2 KUidSsmCommandListResourceFile + +// --------------------------------------------------------------------------- +// r_entry_point +// This must be the first resource +// --------------------------------------------------------------------------- +// +RESOURCE SSM_COMMAND_LIST_ROOT r_entry_point + { + command_list_mapping = r_map; + } + +// --------------------------------------------------------------------------- +// r_map +// Mapping of command list ids to resource ids. +// --------------------------------------------------------------------------- +// +RESOURCE SSM_COMMAND_LIST_MAPPING r_map + { + mappings = + { + SSM_COMMANDLISTID_TO_RESOURCEID + { + command_list_id = ESsmNonCriticalPhaseStarted; + resource_id = r_noncriticalphase_commands; + } + }; + } + +// =========================================================================== +// Command lists in alphabetical order +// =========================================================================== +// + +// --------------------------------------------------------------------------- +// r_started_commands +// --------------------------------------------------------------------------- +// +RESOURCE SSM_COMMAND_LIST r_noncriticalphase_commands + { + commands = + { + // prio 0xFFF1 + r_cmd_publishswp, + //prio 0x7EF9 + r_cmd_activitymonitor_hsrunningapp, + //prio 0x7EF8 + r_cmd_hsrunningappmonitor, //JJAA-85CDEA + // prio 0x7EF7 + r_cmd_activitymonitor1, + // prio 0x7EF6 + r_cmd_videocenter, + // prio 0x7EF5 + r_cmd_activitymonitor2, + // prio 0x7EF4 + r_cmd_iaupdatebg, + // prio 0x7EF2 + r_cmd_activitymonitor3, + // prio 0x7EEE + r_cmd_autosync, + // prio 0x7EED + r_cmd_activitymonitor4, + // prio 0x7EEC + r_cmd_mylocationsengine, + //prio 0x7EEA + r_cmd_activitymonitor5, + //prio 0x7EE9 + r_cmd_conversationserver, //SBSA-7YZGCQ + //prio 0x7EE8 + r_cmd_activitymonitor6, + //prio 0x7EE7 + r_cmd_msgnotifier //SBSA-82ZBMC +#ifdef FF_ATT_ADDRESS_BK + //prio 0x7EE6 + ,r_cmd_activitymonitor7, + //prio 0x7EE5 + r_cmd_aab +#endif +#ifdef FF_SEARCH_SW + //prio 0x7EE4 + ,r_cmd_activitymonitor8, + //prio 0x7EE3 + r_cmd_searchsw //SLAR-832C9T +#endif //FF_SEARCH_SW +#ifdef FF_EMAIL_FRAMEWORK + //prio 0x7EE2 + ,r_cmd_activitymonitor9, + //prio 0x7EE1 + r_cmd_nmailagent //MBEN-83CFQE +#endif //FF_EMAIL_FRAMEWORK + }; + } + +// =========================================================================== +// Command items in alphabetical order +// =========================================================================== +// + +// ----------------------------------------------------------------------------- +// r_cmd_aab +// ----------------------------------------------------------------------------- +// +#ifdef FF_ATT_ADDRESS_BK +RESOURCE SSM_START_APP_INFO r_cmd_aab + { + priority = 0x7EE5; + name = "z:\\sys\\bin\\AABPhonebookapp.exe"; + retries = 2; + background = 1; // To background + monitor_info = r_mon_3_restarts_ignore; + } +#endif + +// --------------------------------------------------------------------------- +// r_cmd_activitymonitor_hsrunningapp +// --------------------------------------------------------------------------- +// +RESOURCE SSM_START_CUSTOM_COMMAND r_cmd_activitymonitor_hsrunningapp + { + priority = 0x7EF9; + severity = ECmdCriticalSeverity; + execution_behaviour = ESsmWaitForSignal; + dllname = "ssmactivitycmd.dll"; + ordinal = 1; // SsmActivityCmdNewL + retries = 2; + dll_data = r_dlldata_activitymonitor_timeout; + } + +// --------------------------------------------------------------------------- +// r_cmd_activitymonitor1 +// --------------------------------------------------------------------------- +// +RESOURCE SSM_START_CUSTOM_COMMAND r_cmd_activitymonitor1 + { + priority = 0x7EF7; + severity = ECmdCriticalSeverity; + execution_behaviour = ESsmWaitForSignal; + dllname = "ssmactivitycmd.dll"; + ordinal = 1; // SsmActivityCmdNewL + retries = 2; + dll_data = r_dlldata_activitymonitor_timeout; + } + +// --------------------------------------------------------------------------- +// r_cmd_activitymonitor2 +// --------------------------------------------------------------------------- +// +RESOURCE SSM_START_CUSTOM_COMMAND r_cmd_activitymonitor2 + { + priority = 0x7EF5; + severity = ECmdCriticalSeverity; + execution_behaviour = ESsmWaitForSignal; + dllname = "ssmactivitycmd.dll"; + ordinal = 1; // SsmActivityCmdNewL + retries = 2; + dll_data = r_dlldata_activitymonitor_timeout; + } + +// --------------------------------------------------------------------------- +// r_cmd_activitymonitor3 +// --------------------------------------------------------------------------- +// +RESOURCE SSM_START_CUSTOM_COMMAND r_cmd_activitymonitor3 + { + priority = 0x7EF2; + severity = ECmdCriticalSeverity; + execution_behaviour = ESsmWaitForSignal; + dllname = "ssmactivitycmd.dll"; + ordinal = 1; // SsmActivityCmdNewL + retries = 2; + dll_data = r_dlldata_activitymonitor_timeout; + } + +// --------------------------------------------------------------------------- +// r_cmd_activitymonitor4 +// --------------------------------------------------------------------------- +// +RESOURCE SSM_START_CUSTOM_COMMAND r_cmd_activitymonitor4 + { + priority = 0x7EED; + severity = ECmdCriticalSeverity; + execution_behaviour = ESsmWaitForSignal; + dllname = "ssmactivitycmd.dll"; + ordinal = 1; // SsmActivityCmdNewL + retries = 2; + dll_data = r_dlldata_activitymonitor_timeout; + } + +// --------------------------------------------------------------------------- +// r_cmd_activitymonitor5 +// --------------------------------------------------------------------------- +// +RESOURCE SSM_START_CUSTOM_COMMAND r_cmd_activitymonitor5 + { + priority = 0x7EEA; + severity = ECmdCriticalSeverity; + execution_behaviour = ESsmWaitForSignal; + dllname = "ssmactivitycmd.dll"; + ordinal = 1; // SsmActivityCmdNewL + retries = 2; + dll_data = r_dlldata_activitymonitor_timeout; + } + +// --------------------------------------------------------------------------- +// r_cmd_activitymonitor6 +// --------------------------------------------------------------------------- +// +RESOURCE SSM_START_CUSTOM_COMMAND r_cmd_activitymonitor6 + { + priority = 0x7EE8; + severity = ECmdCriticalSeverity; + execution_behaviour = ESsmWaitForSignal; + dllname = "ssmactivitycmd.dll"; + ordinal = 1; // SsmActivityCmdNewL + retries = 2; + dll_data = r_dlldata_activitymonitor_timeout; + } + +// --------------------------------------------------------------------------- +// r_cmd_activitymonitor7 +// --------------------------------------------------------------------------- +// +#ifdef FF_ATT_ADDRESS_BK +RESOURCE SSM_START_CUSTOM_COMMAND r_cmd_activitymonitor7 + { + priority = 0x7EE6; + severity = ECmdCriticalSeverity; + execution_behaviour = ESsmWaitForSignal; + dllname = "ssmactivitycmd.dll"; + ordinal = 1; // SsmActivityCmdNewL + retries = 2; + dll_data = r_dlldata_activitymonitor_timeout; + } +#endif + +// --------------------------------------------------------------------------- +// r_cmd_activitymonitor8 +// --------------------------------------------------------------------------- +// +#ifdef FF_SEARCH_SW +RESOURCE SSM_START_CUSTOM_COMMAND r_cmd_activitymonitor8 + { + priority = 0x7EE4; + severity = ECmdCriticalSeverity; + execution_behaviour = ESsmWaitForSignal; + dllname = "ssmactivitycmd.dll"; + ordinal = 1; // SsmActivityCmdNewL + retries = 2; + dll_data = r_dlldata_activitymonitor_timeout; + } +#endif //FF_SEARCH_SW + +// --------------------------------------------------------------------------- +// r_cmd_activitymonitor9 +// --------------------------------------------------------------------------- +// +#ifdef FF_EMAIL_FRAMEWORK +RESOURCE SSM_START_CUSTOM_COMMAND r_cmd_activitymonitor9 + { + priority = 0x7EE2; + severity = ECmdCriticalSeverity; + execution_behaviour = ESsmWaitForSignal; + dllname = "ssmactivitycmd.dll"; + ordinal = 1; // SsmActivityCmdNewL + retries = 2; + dll_data = r_dlldata_activitymonitor_timeout; + } +#endif //FF_EMAIL_FRAMEWORK + + +// --------------------------------------------------------------------------- +// r_cmd_autosync +// --------------------------------------------------------------------------- +// +RESOURCE SSM_START_PROCESS_INFO r_cmd_autosync + { + priority = 0x7EEE; + execution_behaviour = ESsmFireAndForget; + retries = 3; + name = "cctautosync.exe"; + } + +// --------------------------------------------------------------------------- +// r_cmd_conversationserver +// --------------------------------------------------------------------------- +// +RESOURCE SSM_START_PROCESS_INFO r_cmd_conversationserver + { + priority = 0x7EE9; + name = "csserver.exe"; + execution_behaviour = ESsmWaitForSignal; + } + +// --------------------------------------------------------------------------- +// r_cmd_hsrunningappmonitor +// --------------------------------------------------------------------------- +// +RESOURCE SSM_START_PROCESS_INFO r_cmd_hsrunningappmonitor + { + priority = 0x7EF8; + name = "z:\\sys\\bin\\hsrunningappmonitor.exe"; + execution_behaviour = ESsmWaitForSignal; + monitor_info = r_mon_3_restarts_ignore; + } + + +// --------------------------------------------------------------------------- +// r_cmd_msgnotifier +// --------------------------------------------------------------------------- +// +RESOURCE SSM_START_APP_INFO r_cmd_msgnotifier + { + priority = 0x7EE7; + name = "msgnotifier.exe"; + execution_behaviour = ESsmFireAndForget; + retries = 3; + } + +// --------------------------------------------------------------------------- +// r_cmd_mylocationsengine +// --------------------------------------------------------------------------- +// +RESOURCE SSM_START_PROCESS_INFO r_cmd_mylocationsengine + { + priority = 0x7EEC; + name = "z:\\sys\\bin\\mylocationsengine.exe"; + execution_behaviour = ESsmFireAndForget; + } + +// --------------------------------------------------------------------------- +// r_cmd_publishswp +// --------------------------------------------------------------------------- +// +RESOURCE SSM_PUBLISH_SYSTEM_WIDE_PROPERTY r_cmd_publishswp + { + priority = 0xFFF1; + severity = ECmdCriticalSeverity; + } + +// --------------------------------------------------------------------------- +// r_cmd_nmailagent +// --------------------------------------------------------------------------- +// +#ifdef FF_EMAIL_FRAMEWORK +RESOURCE SSM_START_PROCESS_INFO r_cmd_nmailagent + { + priority = 0x7EE1; + name = "z:\\sys\\bin\\nmailagent.exe"; + execution_behaviour = ESsmFireAndForget; + conditional_information = r_cond_feat_emailfw; + } + +// --------------------------------------------------------------------------- +// r_cond_feat_emailfw +// --------------------------------------------------------------------------- +// +RESOURCE SSM_CND_FEATURE_VALUE r_cond_feat_emailfw + { + feature_id = KFeatureIdFfEmailFramework; + } +#endif //FF_EMAIL_FRAMEWORK + +// --------------------------------------------------------------------------- +// r_cmd_iaupdatebg +// --------------------------------------------------------------------------- +// +RESOURCE SSM_START_PROCESS_INFO r_cmd_iaupdatebg + { + priority = 0x7EF4; + name = "iaupdatebg.exe"; + execution_behaviour = ESsmWaitForSignal; + timeout = 10000; + conditional_information = r_cond_feat_iadv2; + } + +//--------------------------------------------------------------------------- +// r_cmd_searchsw +// --------------------------------------------------------------------------- +// +#ifdef FF_SEARCH_SW +RESOURCE SSM_START_PROCESS_INFO r_cmd_searchsw + { + priority = 0x7EE3; + name = "z:\\sys\\bin\\cpixwatchdog.exe"; + execution_behaviour = ESsmFireAndForget; + conditional_information = r_cond_feat_searchsw; + } + +// --------------------------------------------------------------------------- +// r_cond_feat_searchsw +// --------------------------------------------------------------------------- +// +RESOURCE SSM_CND_FEATURE_VALUE r_cond_feat_searchsw + { + feature_id = KFeatureIdFfSearchSw; + } +#endif //FF_SEARCH_SW + +// --------------------------------------------------------------------------- +// r_cmd_videocenter +// --------------------------------------------------------------------------- +// +RESOURCE SSM_START_PROCESS_INFO r_cmd_videocenter + { + priority = 0x7EF6; + name = "cseschedulerserver.exe"; + execution_behaviour = ESsmWaitForSignal; + timeout = 10000; + } + +// =========================================================================== +// DLL data items in alphabetical order +// =========================================================================== +// + +// --------------------------------------------------------------------------- +// r_dlldata_activitymonitor_timeout +// --------------------------------------------------------------------------- +// +RESOURCE CMD_PARAM_TIMEOUT r_dlldata_activitymonitor_timeout + { + timeout = 2; + } + +// --------------------------------------------------------------------------- +// r_cond_feat_iadv2 +// --------------------------------------------------------------------------- +// +RESOURCE SSM_CND_FEATURE_VALUE r_cond_feat_iadv2 + { + feature_id = KFeatureIdFfIaupdatePhase2; + } + +// monitoring.rss contains resource definitions, so it may not be included +// before entry point. +#include "monitoring.rss" diff -r 61516c5786af -r 00076e39386f sysstatemgmt/ssmcmdlists/data/securitycheckcmdlist.rss --- a/sysstatemgmt/ssmcmdlists/data/securitycheckcmdlist.rss Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/ssmcmdlists/data/securitycheckcmdlist.rss Thu Jul 22 16:45:41 2010 +0100 @@ -69,7 +69,7 @@ r_cmd_publishstate, // prio 0xFFF1 r_cmd_psstate, // prio 0xFFF0 // prio 0xFFE7 - r_cmd_hbthemeserver, + r_cmd_idle, // prio 0xFFE6 r_cmd_multiwaitforever1, // prio 0xFFE3 @@ -77,10 +77,6 @@ r_cmd_phone, r_cmd_clockserver, r_cmd_multiwaitforever2, - // prio 0xFFDF - r_cmd_idle, - // prio 0xFFDE - r_cmd_multiwaitforever3, // prio 0xFFD8 r_cmd_createswp_simstatus, // prio 0xFFD7 @@ -116,18 +112,7 @@ key = 0x00000031; // KPSSimStatus filename = "ssm.swp.policy.simstatus.dll"; } - -// --------------------------------------------------------------------------- -// r_cmd_hbthemeserver -// --------------------------------------------------------------------------- -// -RESOURCE SSM_START_PROCESS_INFO r_cmd_hbthemeserver - { - priority = 0xFFE7; - name = "z:\\sys\\bin\\hbthemeserver.exe"; - execution_behaviour = ESsmDeferredWaitForSignal; - monitor_info = r_mon_100_restarts_reset; - } + // --------------------------------------------------------------------------- // r_cmd_idle @@ -135,7 +120,7 @@ // RESOURCE SSM_START_APP_INFO r_cmd_idle { - priority = 0xFFDF; + priority = 0xFFE7; name = "z:\\sys\\bin\\hsapplication.exe"; execution_behaviour = ESsmDeferredWaitForSignal; monitor_info = r_mon_max_restarts_ignore; @@ -159,14 +144,6 @@ priority = 0xFFE2; } -// --------------------------------------------------------------------------- -// r_cmd_multiwaitforever3 -// --------------------------------------------------------------------------- -// -RESOURCE SSM_MULTIPLE_WAIT r_cmd_multiwaitforever3 - { - priority = 0xFFDE; - } // --------------------------------------------------------------------------- // r_cmd_phone diff -r 61516c5786af -r 00076e39386f sysstatemgmt/ssmcmdlists/data/shutdowncmdlists.rss --- a/sysstatemgmt/ssmcmdlists/data/shutdowncmdlists.rss Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/ssmcmdlists/data/shutdowncmdlists.rss Thu Jul 22 16:45:41 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2009-2010 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" @@ -214,6 +214,7 @@ { priority = 0xFFF1; severity = ECmdCriticalSeverity; + direction = 1; // ETraverseChildrenFirst, Transition children first for graceful shutdown. retries = 2; } diff -r 61516c5786af -r 00076e39386f sysstatemgmt/ssmcmdlists/data/uiservicescmdlist.rss --- a/sysstatemgmt/ssmcmdlists/data/uiservicescmdlist.rss Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/ssmcmdlists/data/uiservicescmdlist.rss Thu Jul 22 16:45:41 2010 +0100 @@ -93,6 +93,8 @@ r_cmd_loaduilanguage, // Observes changes in UI Language setting // prio 0xFF79 r_cmd_aknstart, // UI Framework + r_cmd_hbthemeserver, //CR:KJLN-7WBEGU + r_cmd_devicedialog, //CR:KJLN-7WBEGU // prio 0xFF77 r_cmd_apparc_init, // Init application framework // prio 0xFF75 @@ -142,6 +144,29 @@ } // --------------------------------------------------------------------------- +// r_cmd_devicedialog +// --------------------------------------------------------------------------- +// +RESOURCE SSM_START_PROCESS_INFO r_cmd_devicedialog + { + priority = 0xFF79; + severity = ECmdCriticalSeverity; + name = "Z:\\sys\\bin\\hbdevicedialogappserver.exe"; + execution_behaviour = ESsmWaitForSignal; + } + +// --------------------------------------------------------------------------- +// r_cmd_hbthemeserver +// --------------------------------------------------------------------------- +// +RESOURCE SSM_START_PROCESS_INFO r_cmd_hbthemeserver + { + priority = 0xFF79; + name = "z:\\sys\\bin\\hbthemeserver.exe"; + execution_behaviour = ESsmWaitForSignal; + } + +// --------------------------------------------------------------------------- // r_cmd_initclkeys // --------------------------------------------------------------------------- // diff -r 61516c5786af -r 00076e39386f sysstatemgmt/ssmcmdlists/group/ssmcmdlists.mmp --- a/sysstatemgmt/ssmcmdlists/group/ssmcmdlists.mmp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/ssmcmdlists/group/ssmcmdlists.mmp Thu Jul 22 16:45:41 2010 +0100 @@ -107,6 +107,10 @@ TARGETPATH /private/2000d75b/swpui // Private directory of sysstatemgr.exe END +START RESOURCE noncriticalswpcmdlists.rss // noncritical phase SWP +TARGETPATH /private/2000d75b/swpnoncritical // Private directory of sysstatemgr.exe +END + USERINCLUDE ../inc USERINCLUDE ../../inc diff -r 61516c5786af -r 00076e39386f sysstatemgmt/ssmcmdlists/rom/ssmcmdlists.iby --- a/sysstatemgmt/ssmcmdlists/rom/ssmcmdlists.iby Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/ssmcmdlists/rom/ssmcmdlists.iby Thu Jul 22 16:45:41 2010 +0100 @@ -36,5 +36,6 @@ data=DATAZ_\private\2000D75B\shutdown\shutdowncmdlists.rsc \private\2000D75B\shutdown\shutdowncmdlists.rsc data=DATAZ_\private\2000D75B\rfstatusswpcmdlist\rfswpcmdlists.rsc \private\2000D75B\rfstatusswpcmdlist\rfswpcmdlists.rsc data=DATAZ_\private\2000D75B\swpui\uiswpcmdlists.rsc \private\2000D75B\swpui\uiswpcmdlists.rsc +data=DATAZ_\private\2000D75B\swpnoncritical\noncriticalswpcmdlists.rsc \private\2000D75B\swpnoncritical\noncriticalswpcmdlists.rsc #endif // SSMCMDLISTS_IBY diff -r 61516c5786af -r 00076e39386f sysstatemgmt/ssmpolicyplugins/group/bld.inf --- a/sysstatemgmt/ssmpolicyplugins/group/bld.inf Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/ssmpolicyplugins/group/bld.inf Thu Jul 22 16:45:41 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2009-2010 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" @@ -37,3 +37,5 @@ #include "../ssmfailpolicy/group/bld.inf" #include "../ssmshutdownpolicy/group/bld.inf" #include "../ssmuiswppolicy/group/bld.inf" +#include "../ssmnoncriticalswppolicy/group/bld.inf" + diff -r 61516c5786af -r 00076e39386f sysstatemgmt/ssmpolicyplugins/inc/ssmswp.hrh --- a/sysstatemgmt/ssmpolicyplugins/inc/ssmswp.hrh Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/ssmpolicyplugins/inc/ssmswp.hrh Thu Jul 22 16:45:41 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2009-2010 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" @@ -32,6 +32,19 @@ }; /** +* Startup NonCritical phase SWP. +* +* These identifiers are also used as command list ids to find the correct +* command list among all command lists in the system. +*/ +#define SWP_UID_SSM_NONCRITICAL_PHASE 0x2002EA5B + +enum TSwpStartupNonCriticalPhase + { + ESsmNonCriticalPhaseStarted = 0xb1 + }; + +/** * System-wide property for RF status. * * These identifiers are also used as command list ids to find the correct diff -r 61516c5786af -r 00076e39386f sysstatemgmt/ssmpolicyplugins/rom/ssmpolicyplugins.iby --- a/sysstatemgmt/ssmpolicyplugins/rom/ssmpolicyplugins.iby Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/ssmpolicyplugins/rom/ssmpolicyplugins.iby Thu Jul 22 16:45:41 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2009-2010 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" @@ -26,5 +26,6 @@ file=ABI_DIR\BUILD_DIR\ssm.state.policy.0002.dll SHARED_LIB_DIR\ssm.state.policy.0002.dll file=ABI_DIR\BUILD_DIR\ssm.state.policy.0003.dll SHARED_LIB_DIR\ssm.state.policy.0003.dll file=ABI_DIR\BUILD_DIR\ssmuiswppolicy.dll SHARED_LIB_DIR\ssmuiswppolicy.dll +file=ABI_DIR\BUILD_DIR\ssmnoncriticalswppolicy.dll SHARED_LIB_DIR\ssmnoncriticalswppolicy.dll #endif // SSMPOLICYPLUGINS_IBY diff -r 61516c5786af -r 00076e39386f sysstatemgmt/ssmpolicyplugins/ssmnoncriticalswppolicy/bwins/ssmnoncriticalswppolicyu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/ssmpolicyplugins/ssmnoncriticalswppolicy/bwins/ssmnoncriticalswppolicyu.def Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,3 @@ +EXPORTS + ?NewL@CSsmNonCriticalSwpPolicy@@SAPAVMSsmSwpPolicy@@XZ @ 1 NONAME ; class MSsmSwpPolicy * CSsmNonCriticalSwpPolicy::NewL(void) + diff -r 61516c5786af -r 00076e39386f sysstatemgmt/ssmpolicyplugins/ssmnoncriticalswppolicy/eabi/ssmnoncriticalswppolicyu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/ssmpolicyplugins/ssmnoncriticalswppolicy/eabi/ssmnoncriticalswppolicyu.def Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,3 @@ +EXPORTS + _ZN24CSsmNonCriticalSwpPolicy4NewLEv @ 1 NONAME + diff -r 61516c5786af -r 00076e39386f sysstatemgmt/ssmpolicyplugins/ssmnoncriticalswppolicy/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/ssmpolicyplugins/ssmnoncriticalswppolicy/group/bld.inf Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,28 @@ +/* +* Copyright (c) 2010 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: +* Build information file for the ssmnoncriticalswppolicy project. +* +*/ + +#include + +PRJ_PLATFORMS +DEFAULT + +PRJ_EXPORTS + +PRJ_MMPFILES +ssmnoncriticalswppolicy.mmp + diff -r 61516c5786af -r 00076e39386f sysstatemgmt/ssmpolicyplugins/ssmnoncriticalswppolicy/group/ssmnoncriticalswppolicy.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/ssmpolicyplugins/ssmnoncriticalswppolicy/group/ssmnoncriticalswppolicy.mmp Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,55 @@ +/* +* Copyright (c) 2010 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: +* Project definition file for the ssmnoncriticalswppolicy project. +* +*/ + +#include + +TARGET ssmnoncriticalswppolicy.dll +TARGETTYPE dll +UID 0x2000D765 0x2002EA59 + +CAPABILITY PowerMgmt ReadDeviceData WriteDeviceData ProtServ DiskAdmin SwEvent +VENDORID VID_DEFAULT + +SOURCEPATH ../src +SOURCE ssmnoncriticalswppolicy.cpp + +USERINCLUDE ../inc +USERINCLUDE ../../inc +USERINCLUDE ../../ssmpolicybase/inc +USERINCLUDE ../../ssmswppolicybase/inc +USERINCLUDE ../../../inc + +OS_LAYER_SYSTEMINCLUDE + +LIBRARY euser.lib +LIBRARY ssmcmd.lib +LIBRARY ssmcmn.lib +LIBRARY ssmpolicybase.lib +LIBRARY ssmswppolicybase.lib + +// >>> uncomment to enable function-level tracing +// MACRO __SSM_FUNC_TRACE__ +// <<< uncomment to enable function-level tracing + +// >>> uncomment to direct trace output to file +// MACRO __SSM_TRACE_INTO_FILE__ +// LIBRARY flogger.lib +// <<< uncomment to direct trace output to file + +SMPSAFE + diff -r 61516c5786af -r 00076e39386f sysstatemgmt/ssmpolicyplugins/ssmnoncriticalswppolicy/inc/ssmnoncriticalswppolicy.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/ssmpolicyplugins/ssmnoncriticalswppolicy/inc/ssmnoncriticalswppolicy.h Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,65 @@ +/* +* Copyright (c) 2010 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: Declaration of CSsmNonCriticalSwpPolicy class. +* +*/ + +#ifndef SSMNONCRITICALSWPPOLICY_H +#define SSMNONCRITICALSWPPOLICY_H + +#include "ssmswppolicybase.h" + +/** + * Policy plugin for noncritical phase SWP. + */ +NONSHARABLE_CLASS( CSsmNonCriticalSwpPolicy ) : public CSsmSwpPolicyBase + { + +public: + + /** + * Constructs a CSsmNonCriticalSwpPolicy object. + * + * @return The new object + */ + IMPORT_C static MSsmSwpPolicy* NewL(); + + /** + * Destructor. + */ + virtual ~CSsmNonCriticalSwpPolicy(); + +private: // From CSsmPolicyBase + + void GetCommandListPathL( TDes& aCmdListPath ); + +private: // From MSsmSwpPolicy + + /** + * @see MSsmSwpPolicy. + */ + TResponse TransitionAllowed( + const TSsmSwp& aSwp, + const RMessagePtr2& aMessage ); + +private: + + /** + * First phase constructor. + */ + CSsmNonCriticalSwpPolicy(); + + }; + +#endif // SSMNONCRITICALSWPPOLICY_H diff -r 61516c5786af -r 00076e39386f sysstatemgmt/ssmpolicyplugins/ssmnoncriticalswppolicy/src/ssmnoncriticalswppolicy.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/ssmpolicyplugins/ssmnoncriticalswppolicy/src/ssmnoncriticalswppolicy.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,117 @@ +/* +* Copyright (c) 2010 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: Implementation of CSsmNonCriticalSwpPolicy class. +* +*/ + +#include +#include + +#include "ssmnoncriticalswppolicy.h" +#include "ssmswp.hrh" +#include "ssmmapperutility.h" +#include "trace.h" +#include "ssmsubstateext.hrh" + +/** +* SWP noncritical phase policy resource file path format : "\private\\swpnoncritical\" +*/ +_LIT( KCommandListPath, "Z:\\private\\2000D75B\\swpnoncritical\\" ); + +// ======== MEMBER FUNCTIONS ======== + +// --------------------------------------------------------------------------- +// CSsmNonCriticalSwpPolicy::NewL +// --------------------------------------------------------------------------- +// +EXPORT_C MSsmSwpPolicy* CSsmNonCriticalSwpPolicy::NewL() + { + FUNC_LOG; + + CSsmNonCriticalSwpPolicy* self = new( ELeave ) CSsmNonCriticalSwpPolicy; + CleanupStack::PushL( self ); + self->BaseConstructL(); + CleanupStack::Pop( self ); + return self; + } + + +// --------------------------------------------------------------------------- +// CSsmNonCriticalSwpPolicy::~CSsmNonCriticalSwpPolicy +// --------------------------------------------------------------------------- +// +CSsmNonCriticalSwpPolicy::~CSsmNonCriticalSwpPolicy() + { + FUNC_LOG; + } + + +// --------------------------------------------------------------------------- +// CSsmNonCriticalSwpPolicy::GetCommandListPathL +// --------------------------------------------------------------------------- +// +void CSsmNonCriticalSwpPolicy::GetCommandListPathL( TDes& aCmdListPath ) + { + FUNC_LOG; + + aCmdListPath = KCommandListPath; + iUtil->GetCommandListPath( aCmdListPath ); + } + + +// --------------------------------------------------------------------------- +// CSsmNonCriticalSwpPolicy::TransitionAllowed +// --------------------------------------------------------------------------- +// +MSsmSwpPolicy::TResponse CSsmNonCriticalSwpPolicy::TransitionAllowed( + const TSsmSwp& aSwp, + const RMessagePtr2& aMessage ) + { + FUNC_LOG; + INFO_2( "Requested SWP transition: 0x%08x::0x%08x", aSwp.Key(), aSwp.Value() ); + + TResponse response = ENotAllowed; + if ( iUtil->CheckCaps( aMessage ) ) + { + TSsmState currentState; + const TInt errorCode = GetCurrentState(currentState); + ERROR( errorCode, "Failed to get current state" ); + + // this SwP transition would be allowed only once per boot(during the system startup). + if ((KErrNone == errorCode) && (ESsmStartup == currentState.MainState()) && (aSwp.Value() == ESsmNonCriticalPhaseStarted)) + { + response = EAllowed; + } + else + { + INFO( "Requested SWP transition not allowed" ); + } + } + else + { + INFO( "Capability Check Failed" ); + } + + return response; + } + + +// --------------------------------------------------------------------------- +// CSsmNonCriticalSwpPolicy::CSsmNonCriticalSwpPolicy +// --------------------------------------------------------------------------- +// +CSsmNonCriticalSwpPolicy::CSsmNonCriticalSwpPolicy() + { + FUNC_LOG; + } diff -r 61516c5786af -r 00076e39386f sysstatemgmt/ssmutilityplugins/rom/ssmutilityplugins.iby --- a/sysstatemgmt/ssmutilityplugins/rom/ssmutilityplugins.iby Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/ssmutilityplugins/rom/ssmutilityplugins.iby Thu Jul 22 16:45:41 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2009 - 2010 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" @@ -22,4 +22,8 @@ file=ABI_DIR\BUILD_DIR\ssmpowersup.dll SHARED_LIB_DIR\ssmpowersup.dll file=ABI_DIR\BUILD_DIR\ssmlocaleobserversup.dll SHARED_LIB_DIR\ssmlocaleobserversup.dll +//backup resgistration file for localedata +data=DATAZ_\private\2000d766\backup_registration.xml private\2000d766\backup_registration.xml + + #endif // SSMUTILITYPLUGINS_IBY diff -r 61516c5786af -r 00076e39386f sysstatemgmt/ssmutilityplugins/ssmlocaleobserversup/data/backup_registration.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/ssmutilityplugins/ssmlocaleobserversup/data/backup_registration.xml Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,8 @@ + + + + + + + + diff -r 61516c5786af -r 00076e39386f sysstatemgmt/ssmutilityplugins/ssmlocaleobserversup/group/bld.inf --- a/sysstatemgmt/ssmutilityplugins/ssmlocaleobserversup/group/bld.inf Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/ssmutilityplugins/ssmlocaleobserversup/group/bld.inf Thu Jul 22 16:45:41 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2009 - 2010 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" @@ -25,3 +25,10 @@ PRJ_MMPFILES ssmlocaleobserversup + +PRJ_EXPORTS +// Backup registration file +../data/backup_registration.xml /epoc32/data/z/private/2000d766/backup_registration.xml +../data/backup_registration.xml /epoc32/release/winscw/udeb/z/private/2000d766/backup_registration.xml +../data/backup_registration.xml /epoc32/release/winscw/urel/z/private/2000d766/backup_registration.xml + diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstarter/documentation/9.4/SysStart.mdl --- a/sysstatemgmt/systemstarter/documentation/9.4/SysStart.mdl Wed Jun 23 22:58:50 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,3341 +0,0 @@ - -(object Petal - version 43 - _written "Rose 6.1.9113.5" - charSet 0) - -(object Design "Logical View" - is_unit TRUE - is_loaded TRUE - quid "426E373D03AC" - defaults (object defaults - rightMargin 0.250000 - leftMargin 0.250000 - topMargin 0.250000 - bottomMargin 0.500000 - pageOverlap 0.250000 - clipIconLabels TRUE - autoResize TRUE - snapToGrid TRUE - gridX 15 - gridY 15 - defaultFont (object Font - size 10 - face "Arial" - bold FALSE - italics FALSE - underline FALSE - strike FALSE - color 0 - default_color TRUE) - showMessageNum 3 - showClassOfObject TRUE - notation "Unified") - root_usecase_package (object Class_Category "Use Case View" - quid "426E373D03AE" - exportControl "Public" - global TRUE - logical_models (list unit_reference_list) - logical_presentations (list unit_reference_list - (object UseCaseDiagram "Main" - quid "426E373D03BC" - title "Main" - zoom 100 - max_height 28350 - max_width 21600 - origin_x 0 - origin_y 0 - items (list diagram_item_list)))) - root_category (object Class_Category "Logical View" - quid "426E373D03AD" - exportControl "Public" - global TRUE - subsystem "Component View" - quidu "426E373D03AF" - logical_models (list unit_reference_list - (object Class "CActive" - quid "426E386F0244") - (object Class "CSystemStarter" - quid "426E3BE90031" - documentation "System starter main controller class" - superclasses (list inheritance_relationship_list - (object Inheritance_Relationship - quid "426E3BE90032" - supplier "Logical View::CActive" - quidu "426E386F0244")) - realized_interfaces (list realize_rel_list - (object Realize_Relationship - quid "426E47E702A2" - supplier "Logical View::MStartup" - quidu "426E46A1033E")) - operations (list Operations - (object Operation "Start" - quid "426E3BF1037D" - result " " - concurrency "Sequential" - opExportControl "Public" - uid 0) - (object Operation "RunL" - quid "426E405F011B" - concurrency "Sequential" - opExportControl "Private" - uid 0) - (object Operation "RunError" - quid "426E406502F0" - result "TInt" - concurrency "Sequential" - opExportControl "Private" - uid 0) - (object Operation "DoCancel" - quid "426E406A01A8" - concurrency "Sequential" - opExportControl "Private" - uid 0) - (object Operation "RequestNotify" - quid "426E407D0283" - concurrency "Sequential" - opExportControl "Private" - uid 0))) - (object Class "CSystemStartup" - quid "426E41EA011B" - documentation "CSystemStartup" - superclasses (list inheritance_relationship_list - (object Inheritance_Relationship - quid "428A242802B0" - supplier "Logical View::MStartup" - quidu "426E46A1033E")) - realized_interfaces (list realize_rel_list - (object Realize_Relationship - quid "426E483900FC" - supplier "Logical View::MStartup" - quidu "426E46A1033E")) - operations (list Operations - (object Operation "GetNextStateL" - quid "426E43F5030F" - result "MStartupStateInfo*" - concurrency "Sequential" - opExportControl "Public" - uid 0)) - class_attributes (list class_attribute_list - (object ClassAttribute "iFs" - quid "426E44A30189" - type "RFs") - (object ClassAttribute "iReader" - quid "426E44A80244" - type "CResourceFileReader*"))) - (object Class "CResourceFileReader" - quid "426E4B66008F" - documentation "CResourceFileReader" - operations (list Operations - (object Operation "GetStateInfoL" - quid "428A1D9C0389" - result "MStartupStateInfo*" - concurrency "Sequential" - opExportControl "Public" - uid 0) - (object Operation "LsSession" - quid "428A1DB502CD" - result "RApaLsSession&" - concurrency "Sequential" - opExportControl "Private" - uid 0) - (object Operation "Connect" - quid "428A1DEE0212" - result "void" - concurrency "Sequential" - opExportControl "Private" - uid 0) - (object Operation "FindFirstStateEntryL" - quid "428A1E0B003D" - result "void" - concurrency "Sequential" - opExportControl "Private" - uid 0) - (object Operation "ReadStateInformationL" - quid "428A1E22036A" - result "CSystemStartupStateInfo*" - concurrency "Sequential" - opExportControl "Private" - uid 0) - (object Operation "ReadCommandListL" - quid "428A1E3F00D9" - parameters (list Parameters - (object Parameter "aCommandListId" - type "TUint32")) - result "CommandListType" - concurrency "Sequential" - opExportControl "Private" - uid 0) - (object Operation "ReadDllInfoL" - quid "428A1EAE0128" - parameters (list Parameters - (object Parameter "aReader" - type "TResourceReader&")) - result "MStartupCommand*" - concurrency "Sequential" - opExportControl "Private" - uid 0)) - class_attributes (list class_attribute_list - (object ClassAttribute "iFs" - quid "428A1EEE0147" - type "RFs") - (object ClassAttribute "iResourceFile" - quid "428A1F02003D" - type "RResourceFile") - (object ClassAttribute "iState" - quid "428A1F220260" - type "TInt32") - (object ClassAttribute "iAppUiSession" - quid "428A1F340250" - type "REikAppUiSession") - (object ClassAttribute "iLsSession" - quid "428A1F4C02FC" - type "RApaLsSession"))) - (object Class "CStartupState" - quid "428882C00309" - operations (list Operations - (object Operation "StartL" - quid "428883060164" - result "void" - concurrency "Sequential" - opExportControl "Private" - uid 0) - (object Operation "DoCommand" - quid "4288831B01A2" - parameters (list Parameters - (object Parameter "aCommand" - type "MStartupCommand&")) - result "void" - concurrency "Sequential" - opExportControl "Private" - uid 0)) - class_attributes (list class_attribute_list - (object ClassAttribute "iStateInfo" - quid "42888369003B" - type "MStartupStateInfo&"))) - (object Class "MStartupStateInfo" - quid "42888401023E" - operations (list Operations - (object Operation "StateId" - quid "428884340386" - result "TUint8" - concurrency "Sequential" - opExportControl "Public" - uid 0) - (object Operation "Name" - quid "42888466027D" - result "TPtrC" - concurrency "Sequential" - opExportControl "Public" - uid 0) - (object Operation "GetCommandList" - quid "4288848302FA" - result "CommandListType" - concurrency "Sequential" - opExportControl "Public" - uid 0) - (object Operation "Count" - quid "428884A3021F" - documentation "Get a count of the number of commands in the list" - result "TInt" - concurrency "Sequential" - opExportControl "Public" - uid 0) - (object Operation "NoOfRetries" - quid "428884D60135" - result "TNoOfRetries" - concurrency "Sequential" - opExportControl "Public" - uid 0) - (object Operation "ActionOnStateTransitionFailure" - quid "4288858A020F" - result "TActionOnStateTransitionFailure" - concurrency "Sequential" - opExportControl "Public" - uid 0) - (object Operation "GetCommand" - quid "428885B50377" - parameters (list Parameters - (object Parameter "aIndex" - type "TInt")) - result "MStartupCommand*" - concurrency "Sequential" - opExportControl "Public" - uid 0))) - (object Class "TBootModeMapping" - quid "428886F8003B" - operations (list Operations - (object Operation "GetResourceFileName" - quid "4288871703D5" - parameters (list Parameters - (object Parameter "aBootMode" - type "TUint") - (object Parameter "aResourceFileName" - type "TDes&")) - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 0))) - (object Class "CAppStarter" - quid "4289DD02005C" - operations (list Operations - (object Operation "StartProcess" - quid "428B28F60114" - result "TInt" - concurrency "Sequential" - opExportControl "Private" - uid 0) - (object Operation "StartAppL" - quid "428B290602E9" - result "TInt" - concurrency "Sequential" - opExportControl "Private" - uid 0)) - class_attributes (list class_attribute_list - (object ClassAttribute "iAppInfo" - quid "428B29340347" - type "const MStartupAppInfo*") - (object ClassAttribute "iProvider" - quid "428B29590347" - type "MApaLsSessionProvider"))) - (object Class "CSystemStartupAppInfo" - quid "4289DD86002E" - superclasses (list inheritance_relationship_list - (object Inheritance_Relationship - quid "428A227501F3" - supplier "Logical View::MStartupAppInfo" - quidu "428A219C0166")) - operations (list Operations - (object Operation "SetFailOnError" - quid "428A22A003D7" - parameters (list Parameters - (object Parameter "aFail" - type "TBool")) - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 0) - (object Operation "SetStartMethod" - quid "428A22D60252" - parameters (list Parameters - (object Parameter "aStartMethod" - type "TInt")) - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 0) - (object Operation "SetTimeout" - quid "428A22E501B6" - parameters (list Parameters - (object Parameter "aStartType" - type "TInt")) - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 0) - (object Operation "SetStartType" - quid "428A22F10291" - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 0) - (object Operation "SetViewless" - quid "428A22FD00AC" - parameters (list Parameters - (object Parameter "aViewLess" - type "TBool")) - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 0) - (object Operation "SetStartInBackground" - quid "428A23090233" - parameters (list Parameters - (object Parameter "aStartInBackground" - type "TBool")) - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 0) - (object Operation "SetNoOfRetries" - quid "428A231A008D" - parameters (list Parameters - (object Parameter "aNoOfRetries" - type "TNoOfRetries")) - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 0))) - (object Class "CSystemStartupStateInfo" - quid "4289DF6203A8" - superclasses (list inheritance_relationship_list - (object Inheritance_Relationship - quid "428A23AA0158" - supplier "Logical View::MStartupStateInfo" - quidu "42888401023E")) - class_attributes (list class_attribute_list - (object ClassAttribute "iNoOfRetries" - quid "428B29A40183" - type "TNoOfRetries") - (object ClassAttribute "iActionOnStateTransitionFailure" - quid "428B29BB01A3" - type "TActionOnStateTransitionFailure") - (object ClassAttribute "iStateId" - quid "428B29E00388" - type "TInt") - (object ClassAttribute "iName" - quid "428B29F10136" - type "HBufC*") - (object ClassAttribute "iCommandList" - quid "428B2A06008B" - type "CommandListType"))) - (object Class "CDllStarter" - quid "428A1ABE00F9" - operations (list Operations - (object Operation "Execute" - quid "428A1AD1009B" - parameters (list Parameters - (object Parameter "aCallerStatus" - type "TRequestStatus&")) - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 0)) - class_attributes (list class_attribute_list - (object ClassAttribute "iDllInfo" - quid "428A1B0B000E" - type "CSystemStartupDllInfo*"))) - (object Class "MApaLsSessionProvider" - quid "428A1B7E008B" - operations (list Operations - (object Operation "LsSession" - quid "428A1B940195" - result "RApaLsSession&" - concurrency "Sequential" - opExportControl "Public" - uid 0))) - (object Class "MStartup" - quid "426E46A1033E" - documentation -|Retrieves the next stage that the system needs to move into -|for example 'critical static' - - operations (list Operations - (object Operation "GetNextStateL" - quid "426E46E50189" - result "MStartupStateInfo*" - concurrency "Sequential" - opExportControl "Public" - uid 0))) - (object Class "CSystemStartupDllInfo" - quid "428A1C3E00D9" - operations (list Operations - (object Operation "SetDllName" - quid "428A1C530250" - parameters (list Parameters - (object Parameter "aDllName" - type "const TDesC&")) - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 0) - (object Operation "SetOrdinal" - quid "428A1C5C002E" - parameters (list Parameters - (object Parameter "aSetOrdinal" - type "TUint8")) - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 0) - (object Operation "SetFailOnError" - quid "428A1C62034A" - parameters (list Parameters - (object Parameter "aFail" - type "TBool")) - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 0) - (object Operation "SetNoOfRetries" - quid "428A1C6A0166" - parameters (list Parameters - (object Parameter "aNoOfRetries" - type "TUint8")) - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 0) - (object Operation "SetDllBuffer" - quid "428A1C71008B" - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 0)) - class_attributes (list class_attribute_list - (object ClassAttribute "iDllName" - quid "428B2C4C0257" - type "HBufC*") - (object ClassAttribute "iOrdinal" - quid "428B2C5C01AB" - type "TUint8") - (object ClassAttribute "iFailOnError" - quid "428B2C6D013E" - type "TBool") - (object ClassAttribute "iNoOfRetries" - quid "428B2C7B02F4" - type "TUint8") - (object ClassAttribute "iDllBuffer" - quid "428B2C8D020A" - type "HBufC8*"))) - (object Class "MStartupAppInfo" - quid "428A219C0166" - operations (list Operations - (object Operation "GetPath" - quid "428A21B001F3" - result "TPtrC" - concurrency "Sequential" - opExportControl "Public" - uid 0) - (object Operation "GetArgs" - quid "428A21CB000E" - result "TPtrC" - concurrency "Sequential" - opExportControl "Public" - uid 0) - (object Operation "StartMethod" - quid "428A21D900E9" - result "TInt" - concurrency "Sequential" - opExportControl "Public" - uid 0) - (object Operation "TimeOut" - quid "428A21EA00D9" - result "TInt" - concurrency "Sequential" - opExportControl "Public" - uid 0) - (object Operation "FailOnError" - quid "428A21FA000E" - result "TBool" - concurrency "Sequential" - opExportControl "Public" - uid 0) - (object Operation "StartType" - quid "428A2209003D" - result "TInt" - concurrency "Sequential" - opExportControl "Public" - uid 0) - (object Operation "ViewLess" - quid "428A22170241" - result "TBool" - concurrency "Sequential" - opExportControl "Public" - uid 0) - (object Operation "StartInBackground" - quid "428A222603D7" - result "TBool" - concurrency "Sequential" - opExportControl "Public" - uid 0) - (object Operation "NoOfRetries" - quid "428A2239008B" - parameters (list Parameters - (object Parameter "aFail" - type "TBool")) - result "TInt" - concurrency "Sequential" - opExportControl "Public" - uid 0))) - (object Class "CStartupSplashScreen" - quid "428A23DD00BC" - operations (list Operations - (object Operation "StartSplashScreen" - quid "428B2B02031E" - result "TInt" - concurrency "Sequential" - opExportControl "Private" - uid 0) - (object Operation "KillSplashScreen" - quid "428B2B18012A" - result "TInt" - concurrency "Sequential" - opExportControl "Private" - uid 0)) - class_attributes (list class_attribute_list - (object ClassAttribute "iStartSplash" - quid "428B2B3C0273" - type "TBool") - (object ClassAttribute "iSplashPath" - quid "428B2B54007F" - type "HBufC*"))) - (object Class "CMultipleWait" - quid "434E70FB02C2" - operations (list Operations - (object Operation "Execute" - quid "434E7118011D" - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 0))) - (object Association "iReader" - quid "426E4B970060" - roles (list role_list - (object Role "$UNNAMED$0" - quid "426E4B9A008F" - supplier "Logical View::CResourceFileReader" - quidu "426E4B66008F" - client_cardinality (value cardinality "1") - is_navigable TRUE) - (object Role "$UNNAMED$1" - quid "426E4B9A0090" - supplier "Logical View::CSystemStartup" - quidu "426E41EA011B"))) - (object Association "$UNNAMED$2" - quid "4288868E0125" - roles (list role_list - (object Role "$UNNAMED$3" - quid "4288868F026D" - supplier "Logical View::MStartupStateInfo" - quidu "42888401023E" - client_cardinality (value cardinality "1") - Containment "By Reference" - is_navigable TRUE) - (object Role "$UNNAMED$4" - quid "4288868F027D" - supplier "Logical View::CStartupState" - quidu "428882C00309"))) - (object Association "iDllInfo" - quid "428B25AA02DE" - roles (list role_list - (object Role "$UNNAMED$5" - quid "428B25AB0251" - supplier "Logical View::CSystemStartupDllInfo" - quidu "428A1C3E00D9" - client_cardinality (value cardinality "0..1") - exportControl "Private" - is_navigable TRUE) - (object Role "iDllInfo" - quid "428B25AB0261" - label "iDllInfo" - supplier "Logical View::CDllStarter" - quidu "428A1ABE00F9" - is_principal TRUE))) - (object Association "$UNNAMED$6" - quid "428B2764012E" - roles (list role_list - (object Role "iAppInfo" - quid "428B276500E0" - label "iAppInfo" - supplier "Logical View::MStartupAppInfo" - quidu "428A219C0166" - client_cardinality (value cardinality "1") - is_navigable TRUE) - (object Role "$UNNAMED$7" - quid "428B276500E1" - supplier "Logical View::CAppStarter" - quidu "4289DD02005C"))) - (object Association "$UNNAMED$8" - quid "428B277D013E" - roles (list role_list - (object Role "$UNNAMED$9" - quid "428B27800005" - supplier "Logical View::MApaLsSessionProvider" - quidu "428A1B7E008B" - client_cardinality (value cardinality "1") - Containment "By Reference" - is_navigable TRUE) - (object Role "$UNNAMED$10" - quid "428B27800015" - supplier "Logical View::CAppStarter" - quidu "4289DD02005C"))) - (object Mechanism @1 - logical_models (list unit_reference_list - (object Object "starter" - quid "42848A14022E" - collaborators (list link_list - (object Link - quid "42848AB802BA" - supplier "state" - quidu "42848A9F0124" - messages (list Messages - (object Message "StartL" - quid "4288B0D0006A" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "3" - ordinal 2 - quidu "428883060164"))) - (object Link - quid "4284A17D00B7" - supplier "RProperty" - quidu "4284A1660328" - messages (list Messages - (object Message "Get( ..., bootmode)" - quid "4284A17D00B8" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "1" - ordinal 0))) - (object Link - quid "4284A353026C" - supplier "RDmDomainManager" - quidu "4284A34501EF" - messages (list Messages - (object Message "AddDomainHierarchy(KDmHierarchyIdStartup)" - quid "4288B01B0319" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "2" - ordinal 1)))) - class "Logical View::CSystemStarter" - quidu "426E3BE90031" - persistence "Transient" - multi FALSE) - (object Object "state" - quid "42848A9F0124" - collaborators (list link_list - (object Link - quid "4284B01E01D0" - supplier "systemstartup" - quidu "4284B0070346" - messages (list Messages - (object Message "NewLC(bootmode)" - quid "4284B01E01D1" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "4" - ordinal 3)))) - class "Logical View::CStartupState" - quidu "428882C00309" - persistence "Transient" - multi FALSE) - (object Object "RProperty" - quid "4284A1660328" - persistence "Transient" - multi FALSE) - (object Object "RDmDomainManager" - quid "4284A34501EF" - persistence "Transient" - multi FALSE) - (object Object "systemstartup" - quid "4284B0070346" - collaborators (list link_list - (object Link - quid "4284B03303C6" - supplier "systemstartup" - quidu "4284B0070346" - messages (list Messages - (object Message "ConstructL(bootmode)" - quid "4284B03303C7" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "4.1" - ordinal 4))) - (object Link - quid "4284B09E0217" - supplier "mapping" - quidu "4284B079006F" - messages (list Messages - (object Message "GetResourceFileName" - quid "4284B09E0218" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "4.1.1" - ordinal 5 - Operation "GetResourceFileName(TUint, TDes&)" - quidu "4288871703D5"))) - (object Link - quid "4284B2F70088" - supplier "iReader" - quidu "4284B2DF029A" - messages (list Messages - (object Message " NewL(resourcefile, ...)" - quid "4284B2F70089" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "4.2" - ordinal 6)))) - class "Logical View::CSystemStartup" - quidu "426E41EA011B" - persistence "Transient" - multi FALSE) - (object Object "mapping" - quid "4284B079006F" - class "Logical View::TBootModeMapping" - quidu "428886F8003B" - persistence "Transient" - multi FALSE) - (object Object "iReader" - quid "4284B2DF029A" - collaborators (list link_list - (object Link - quid "4284B341033C" - supplier "iReader" - quidu "4284B2DF029A" - messages (list Messages - (object Message "ConstructL(resourcefile)" - quid "4284B341033D" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "4.2.1" - ordinal 7)))) - class "Logical View::CResourceFileReader" - quidu "426E4B66008F" - persistence "Transient" - multi FALSE))) - (object Mechanism @2 - logical_models (list unit_reference_list - (object Object "starter" - quid "4284B4B203E1" - collaborators (list link_list - (object Link - quid "4284B4DB02BA" - supplier "systemstartup" - quidu "4284B4CE021D" - messages (list Messages - (object Message "GetNextStateL" - quid "4284B4DB02BB" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "1" - ordinal 0 - Operation "GetNextStateL( )" - quidu "426E43F5030F")))) - class "Logical View::CSystemStarter" - quidu "426E3BE90031" - persistence "Transient" - multi FALSE) - (object Object "systemstartup" - quid "4284B4CE021D" - collaborators (list link_list - (object Link - quid "4284B520000F" - supplier "iReader" - quidu "4284B50D029E" - messages (list Messages - (object Message "GetStateInfoL" - quid "4284B5200010" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "1.1" - ordinal 1 - Operation "GetStateInfoL( )" - quidu "428A1D9C0389")))) - class "Logical View::CSystemStartup" - quidu "426E41EA011B" - persistence "Transient" - multi FALSE) - (object Object "iReader" - quid "4284B50D029E" - collaborators (list link_list - (object Link - quid "4284B5530061" - supplier "iReader" - quidu "4284B50D029E" - messages (list Messages - (object Message "ReadStateInformationL" - quid "4284B5530062" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "1.1.1" - ordinal 2 - Operation "ReadStateInformationL( )" - quidu "428A1E22036A") - (object Message "FindFirstStateEntryL" - quid "4284B86501AC" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "1.1.2" - ordinal 3 - Operation "FindFirstStateEntryL( )" - quidu "428A1E0B003D") - (object Message "ReadCommandListL(aCommandListId)" - quid "4284BB24015C" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "1.1.3" - ordinal 5 - Operation "ReadCommandListL(TUint32)" - quidu "428A1E3F00D9") - (object Message "ReadCommandInfoL *" - quid "4284BDE9027D" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "1.1.4" - ordinal 6))) - (object Link - quid "4284BFB20200" - supplier "command" - quidu "4284BFA80115" - messages (list Messages - (object Message "NewL(appInfo, ...)" - quid "4284BFB20201" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "1.1.6" - ordinal 8))) - (object Link - quid "4284C1AA028C" - supplier "stateInfo" - quidu "4284C16C0192" - messages (list Messages - (object Message "NewL" - quid "4289DEE0027F" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "1.1.2.1" - ordinal 4) - (object Message "SetCommandList(CommandList)" - quid "4289DEF5031C" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "1.1.7" - ordinal 9 - Operation "SetCommandList"))) - (object Link - quid "4289DDFF02AE" - supplier "appInfo" - quidu "4289DD5F0389" - messages (list Messages - (object Message "NewL" - quid "4289DDFF02AF" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "1.1.5" - ordinal 7)))) - class "Logical View::CResourceFileReader" - quidu "426E4B66008F" - persistence "Transient" - multi FALSE) - (object Object "command" - quid "4284BFA80115" - class "Logical View::CAppStarter" - quidu "4289DD02005C" - persistence "Transient" - multi FALSE) - (object Object "stateInfo" - quid "4284C16C0192" - class "Logical View::CSystemStartupStateInfo" - quidu "4289DF6203A8" - persistence "Transient" - multi FALSE) - (object Object "appInfo" - quid "4289DD5F0389" - class "Logical View::CSystemStartupAppInfo" - quidu "4289DD86002E" - persistence "Transient" - multi FALSE))) - (object Mechanism @3 - logical_models (list unit_reference_list - (object Object "CSystemStarter" - quid "4284C2D000B7" - collaborators (list link_list - (object Link - quid "4284C2E601E0" - supplier "state" - quidu "4284C2D9001B" - messages (list Messages - (object Message "StartL" - quid "4284C2E601E1" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "1" - ordinal 0 - quidu "428883060164")))) - persistence "Transient" - multi FALSE) - (object Object "state" - quid "4284C2D9001B" - collaborators (list link_list - (object Link - quid "4284CE0B0115" - supplier "RDmManagerSession" - quidu "4284CDE90163" - messages (list Messages - (object Message "RequestDomainTransition" - quid "4284CE0B0116" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "1.1" - ordinal 1))) - (object Link - quid "4284DCE401C9" - supplier "state" - quidu "4284C2D9001B" - messages (list Messages - (object Message "DoCommand" - quid "4284DCE401CA" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "2" - ordinal 2 - Operation "DoCommand(MStartupCommand&)" - quidu "4288831B01A2"))) - (object Link - quid "4284DD17038E" - supplier "aCommand" - quidu "4284DCC90004" - messages (list Messages - (object Message "Execute" - quid "4284DD17038F" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "3" - ordinal 3 - quidu "428A17DD034A") - (object Message "Execute" - quid "428B503F006C" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "4" - ordinal 6 - quidu "428A17DD034A"))) - (object Link - quid "428B52CB0381" - supplier "aCommand" - quidu "4284DCC90004" - messages (list Messages - (object Message "Execute" - quid "428B52CB0382" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "5" - ordinal 8 - quidu "428A17DD034A"))) - (object Link - quid "428B567F00AF" - supplier "aComand" - quidu "428B56640310" - messages (list Messages - (object Message "Execute" - quid "428B567F00B0" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "6" - ordinal 9 - quidu "428A17DD034A"))) - (object Link - quid "428B5A430148" - supplier "aCommand" - quidu "4284DCC90004" - messages (list Messages - (object Message "Execute" - quid "428B5A430149" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "7" - ordinal 10 - quidu "428A17DD034A")))) - class "Logical View::CStartupState" - quidu "428882C00309" - persistence "Transient" - multi FALSE) - (object Object "RDmManagerSession" - quid "4284CDE90163" - persistence "Transient" - multi FALSE) - (object Object "aCommand" - quid "4284DCC90004" - collaborators (list link_list - (object Link - quid "4284DDEE0302" - supplier "aCommand" - quidu "4284DCC90004" - messages (list Messages - (object Message " Utility procs" - quid "4284DDEE0303" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "3.1" - ordinal 4) - (object Message "Utility procs" - quid "4284DE4701E8" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "3.1.1" - ordinal 5) - (object Message "Utility procs" - quid "428B5083008C" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "4.1" - ordinal 7)))) - class "Logical View::CAppStarter" - quidu "4289DD02005C" - persistence "Transient" - multi FALSE) - (object Object "aCommand" - quid "428B52A90371" - class "Logical View::CDllStarter" - quidu "428A1ABE00F9" - persistence "Transient" - multi FALSE) - (object Object "aComand" - quid "428B56640310" - class "Logical View::CStartupSplashScreen" - quidu "428A23DD00BC" - persistence "Transient" - multi FALSE) - (object Object "aCommand" - quid "428B5A0B0389" - class "C" - quidu "428A1A5A0389" - persistence "Transient" - multi FALSE)))) - logical_presentations (list unit_reference_list - (object ClassDiagram "Main" - quid "426E373D03B3" - title "Main" - zoom 59 - max_height 28350 - max_width 21600 - origin_x 432 - origin_y 0 - items (list diagram_item_list - (object ClassView "Class" "Logical View::CActive" @4 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - location (240, 1770) - label (object ItemLabel - Parent_View @4 - location (157, 1723) - fill_color 13434879 - nlines 1 - max_width 166 - justify 0 - label "CActive") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "426E386F0244" - width 184 - height 114 - annotation 8 - autoResize TRUE) - (object ClassView "Class" "Logical View::CSystemStarter" @5 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - location (540, 2025) - label (object ItemLabel - Parent_View @5 - location (381, 1861) - fill_color 13434879 - nlines 1 - max_width 318 - justify 0 - label "CSystemStarter") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "426E3BE90031" - compartment (object Compartment - Parent_View @5 - location (381, 1914) - icon_style "Icon" - fill_color 13434879 - anchor 2 - nlines 6 - max_width 315) - width 336 - height 348 - annotation 8 - autoResize TRUE) - (object InheritView "" @6 - stereotype TRUE - line_color 3342489 - quidu "426E3BE90032" - client @5 - supplier @4 - line_style 0) - (object ClassView "Class" "Logical View::CResourceFileReader" @7 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - location (405, 1290) - label (object ItemLabel - Parent_View @7 - location (69, 969) - fill_color 13434879 - nlines 1 - max_width 672 - justify 0 - label "CResourceFileReader") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "426E4B66008F" - compartment (object Compartment - Parent_View @7 - location (69, 1022) - icon_style "Icon" - fill_color 16777215 - anchor 2 - nlines 13 - max_width 809) - width 690 - height 662 - annotation 8 - autoResize TRUE) - (object ClassView "Class" "Logical View::CSystemStartup" @8 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - location (315, 645) - label (object ItemLabel - Parent_View @8 - location (40, 534) - fill_color 13434879 - nlines 1 - max_width 550 - justify 0 - label "CSystemStartup") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "426E41EA011B" - compartment (object Compartment - Parent_View @8 - location (40, 587) - icon_style "Icon" - fill_color 13434879 - anchor 2 - nlines 4 - max_width 625) - width 568 - height 242 - annotation 8 - autoResize TRUE) - (object AssociationViewNew "iReader" @9 - location (344, 862) - label (object SegLabel @10 - Parent_View @9 - location (344, 803) - font (object Font - italics TRUE) - anchor 1 - anchor_loc 1 - nlines 1 - max_width 600 - justify 0 - label "iReader" - pctDist 0.500000 - height 60 - orientation 0) - stereotype TRUE - line_color 3342489 - quidu "426E4B970060" - roleview_list (list RoleViews - (object RoleView "$UNNAMED$0" @11 - Parent_View @9 - location (-88, -210) - stereotype TRUE - line_color 3342489 - quidu "426E4B9A008F" - client @9 - supplier @7 - line_style 0 - label (object SegLabel @12 - Parent_View @11 - location (304, 955) - anchor 2 - anchor_loc 1 - nlines 1 - max_width 15 - justify 0 - label "1" - pctDist 0.900000 - height 54 - orientation 1)) - (object RoleView "$UNNAMED$1" @13 - Parent_View @9 - location (-88, -210) - stereotype TRUE - line_color 3342489 - quidu "426E4B9A0090" - client @9 - supplier @8 - line_style 0))) - (object ClassView "Class" "Logical View::MStartupStateInfo" @14 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - location (3030, 1545) - label (object ItemLabel - Parent_View @14 - location (2758, 1350) - fill_color 13434879 - nlines 1 - max_width 544 - justify 0 - label "MStartupStateInfo") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "42888401023E" - compartment (object Compartment - Parent_View @14 - location (2758, 1403) - icon_style "Icon" - fill_color 13434879 - anchor 2 - nlines 8 - max_width 615) - width 562 - height 410 - annotation 8 - autoResize TRUE) - (object ClassView "Class" "Logical View::CStartupState" @15 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - location (2385, 1680) - label (object ItemLabel - Parent_View @15 - location (2134, 1569) - fill_color 13434879 - nlines 1 - max_width 502 - justify 0 - label "CStartupState") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "428882C00309" - compartment (object Compartment - Parent_View @15 - location (2134, 1622) - icon_style "Icon" - fill_color 13434879 - anchor 2 - nlines 4 - max_width 577) - width 520 - height 242 - annotation 8 - autoResize TRUE) - (object AssociationViewNew "$UNNAMED$2" @16 - location (2696, 1613) - stereotype TRUE - line_color 3342489 - quidu "4288868E0125" - roleview_list (list RoleViews - (object RoleView "$UNNAMED$3" @17 - Parent_View @16 - location (1496, 1309) - stereotype TRUE - line_color 3342489 - quidu "4288868F026D" - client @16 - supplier @14 - line_style 0 - label (object SegLabel @18 - Parent_View @17 - location (2754, 1656) - anchor 2 - anchor_loc 1 - nlines 1 - max_width 15 - justify 0 - label "1" - pctDist 0.900000 - height 54 - orientation 1)) - (object RoleView "$UNNAMED$4" @19 - Parent_View @16 - location (1496, 1309) - stereotype TRUE - line_color 3342489 - quidu "4288868F027D" - client @16 - supplier @15 - line_style 0))) - (object ClassView "Class" "Logical View::CSystemStartupAppInfo" @20 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1485, 1905) - label (object ItemLabel - Parent_View @20 - location (1007, 1691) - fill_color 13434879 - nlines 1 - max_width 956 - justify 0 - label "CSystemStartupAppInfo") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "4289DD86002E" - compartment (object Compartment - Parent_View @20 - location (1007, 1744) - icon_style "Icon" - fill_color 16777215 - anchor 2 - nlines 8 - max_width 1030) - width 974 - height 448 - annotation 8 - autoResize TRUE) - (object ClassView "Class" "Logical View::CSystemStartupStateInfo" @21 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (2790, 2040) - label (object ItemLabel - Parent_View @21 - location (2278, 1887) - fill_color 13434879 - nlines 1 - max_width 1024 - justify 0 - label "CSystemStartupStateInfo") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "4289DF6203A8" - compartment (object Compartment - Parent_View @21 - location (2278, 1940) - icon_style "Icon" - fill_color 16777215 - anchor 2 - nlines 6 - max_width 1195) - width 1042 - height 326 - annotation 8 - autoResize TRUE) - (object ClassView "Class" "Logical View::MStartup" @22 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - location (285, 195) - label (object ItemLabel - Parent_View @22 - location (124, 121) - fill_color 13434879 - nlines 1 - max_width 322 - justify 0 - label "MStartup") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "426E46A1033E" - compartment (object Compartment - Parent_View @22 - location (124, 174) - icon_style "Icon" - fill_color 13434879 - anchor 2 - nlines 2 - max_width 327) - width 340 - height 168 - annotation 8 - autoResize TRUE) - (object InheritView "" @23 - stereotype TRUE - line_color 3342489 - quidu "428A23AA0158" - client @21 - supplier @14 - line_style 0) - (object ClassView "Class" "Logical View::CStartupSplashScreen" @24 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (2280, 885) - label (object ItemLabel - Parent_View @24 - location (2038, 740) - fill_color 13434879 - nlines 1 - max_width 484 - justify 0 - label "CStartupSplashScreen") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "428A23DD00BC" - compartment (object Compartment - Parent_View @24 - location (2038, 793) - icon_style "Icon" - fill_color 13434879 - anchor 2 - nlines 5 - max_width 490) - width 502 - height 310 - annotation 8 - autoResize TRUE) - (object InheritView "" @25 - stereotype TRUE - line_color 3342489 - quidu "428A242802B0" - client @8 - supplier @22 - line_style 0) - (object ClassView "Class" "Logical View::CSystemStartupDllInfo" @26 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1125, 555) - label (object ItemLabel - Parent_View @26 - location (725, 272) - fill_color 13434879 - nlines 1 - max_width 800 - justify 0 - label "CSystemStartupDllInfo") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "428A1C3E00D9" - compartment (object Compartment - Parent_View @26 - location (725, 325) - icon_style "Icon" - fill_color 13434879 - anchor 2 - nlines 11 - max_width 842) - width 818 - height 586 - annotation 8 - autoResize TRUE) - (object ClassView "Class" "Logical View::CDllStarter" @27 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (2160, 555) - label (object ItemLabel - Parent_View @27 - location (1727, 460) - fill_color 13434879 - nlines 1 - max_width 867 - justify 0 - label "CDllStarter") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "428A1ABE00F9" - compartment (object Compartment - Parent_View @27 - location (1727, 513) - icon_style "Icon" - fill_color 13434879 - anchor 2 - nlines 3 - max_width 1065) - width 885 - height 210 - annotation 8 - autoResize TRUE) - (object AssociationViewNew "iDllInfo" @28 - location (1625, 555) - stereotype TRUE - line_color 3342489 - quidu "428B25AA02DE" - roleview_list (list RoleViews - (object RoleView "$UNNAMED$5" @29 - Parent_View @28 - location (-1045, 45) - label (object SegLabel @30 - Parent_View @29 - location (1562, 514) - hidden TRUE - anchor 1 - anchor_loc 1 - nlines 1 - max_width 60 - justify 0 - label "" - pctDist 0.800000 - height 42 - orientation 1) - stereotype TRUE - line_color 3342489 - quidu "428B25AB0251" - client @28 - supplier @26 - line_style 0 - label (object SegLabel @31 - Parent_View @29 - location (1543, 609) - anchor 2 - anchor_loc 1 - nlines 1 - max_width 15 - justify 0 - label "0..1" - pctDist 0.900000 - height 54 - orientation 0)) - (object RoleView "iDllInfo" @32 - Parent_View @28 - location (-1045, 45) - label (object SegLabel @33 - Parent_View @32 - location (1675, 606) - anchor 1 - anchor_loc 1 - nlines 1 - max_width 139 - justify 0 - label "+iDllInfo" - pctDist 0.550874 - height 51 - orientation 1) - stereotype TRUE - line_color 3342489 - quidu "428B25AB0261" - client @28 - supplier @27 - line_style 0))) - (object ClassView "Class" "Logical View::MStartupAppInfo" @34 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1470, 1185) - label (object ItemLabel - Parent_View @34 - location (1174, 931) - fill_color 13434879 - nlines 1 - max_width 592 - justify 0 - label "MStartupAppInfo") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "428A219C0166" - compartment (object Compartment - Parent_View @34 - location (1174, 984) - icon_style "Icon" - fill_color 13434879 - anchor 2 - nlines 10 - max_width 755) - width 610 - height 528 - annotation 8 - autoResize TRUE) - (object ClassView "Class" "Logical View::CAppStarter" @35 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (2385, 1245) - label (object ItemLabel - Parent_View @35 - location (2071, 1100) - fill_color 13434879 - nlines 1 - max_width 628 - justify 0 - label "CAppStarter") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "4289DD02005C" - compartment (object Compartment - Parent_View @35 - location (2071, 1153) - icon_style "Icon" - fill_color 16777215 - anchor 2 - nlines 5 - max_width 672) - width 646 - height 310 - annotation 8 - autoResize TRUE) - (object AssociationViewNew "$UNNAMED$6" @36 - location (1918, 1213) - stereotype TRUE - line_color 3342489 - quidu "428B2764012E" - roleview_list (list RoleViews - (object RoleView "iAppInfo" @37 - Parent_View @36 - location (-1802, 463) - label (object SegLabel @38 - Parent_View @37 - location (1907, 1181) - anchor 1 - anchor_loc 1 - nlines 1 - max_width 172 - justify 0 - label "+iAppInfo" - pctDist 0.056070 - height 32 - orientation 1) - stereotype TRUE - line_color 3342489 - quidu "428B276500E0" - client @36 - supplier @34 - line_style 0 - label (object SegLabel @39 - Parent_View @37 - location (1788, 1259) - anchor 2 - anchor_loc 1 - nlines 1 - max_width 15 - justify 0 - label "1" - pctDist 0.900000 - height 54 - orientation 0)) - (object RoleView "$UNNAMED$7" @40 - Parent_View @36 - location (-1802, 463) - stereotype TRUE - line_color 3342489 - quidu "428B276500E1" - client @36 - supplier @35 - line_style 0))) - (object InheritView "" @41 - stereotype TRUE - line_color 3342489 - quidu "428A227501F3" - client @20 - supplier @34 - line_style 0) - (object ClassView "Class" "Logical View::CMultipleWait" @42 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (2955, 810) - label (object ItemLabel - Parent_View @42 - location (2770, 710) - fill_color 13434879 - nlines 1 - max_width 371 - justify 0 - label "CMultipleWait") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "434E70FB02C2" - compartment (object Compartment - Parent_View @42 - location (2770, 763) - icon_style "Icon" - fill_color 13434879 - anchor 2 - nlines 2 - max_width 284) - width 389 - height 220 - annotation 8 - autoResize TRUE))) - (object ClassDiagram "command classes" - quid "428A188B01B4" - title "command classes" - zoom 100 - max_height 28350 - max_width 21600 - origin_x 0 - origin_y 0 - items (list diagram_item_list)) - (object InteractionDiagram "Initial Setup" - mechanism_ref @1 - quid "42848A09028B" - title "Initial Setup" - zoom 100 - max_height 28350 - max_width 21600 - origin_x 0 - origin_y 0 - items (list diagram_item_list - (object InterObjView "starter" @43 - location (160, 224) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @43 - location (160, 224) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 302 - justify 0 - label "starter") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "42848A14022E" - width 320 - height 1365 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @44 - location (160, 240) - line_color 3342489 - InterObjView @43 - height 1260 - y_coord 1200 - Nested FALSE)) - (object InterObjView "state" @45 - location (1168, 224) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @45 - location (1168, 224) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 282 - justify 0 - label "state") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "42848A9F0124" - width 300 - height 1365 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @46 - location (1168, 688) - line_color 3342489 - InterObjView @45 - height 752 - y_coord 692 - Nested FALSE)) - (object InterObjView "systemstartup" @47 - location (1504, 224) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @47 - location (1504, 224) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 367 - justify 0 - label "systemstartup") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "4284B0070346" - width 385 - height 1365 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @48 - location (1504, 736) - line_color 3342489 - InterObjView @47 - height 644 - y_coord 584 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @49 - location (1504, 800) - line_color 3342489 - InterObjView @47 - height 248 - y_coord 188 - Nested TRUE)) - (object InterObjView "mapping" @50 - location (1904, 224) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @50 - location (1904, 224) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 372 - justify 0 - label "mapping") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "4284B079006F" - width 390 - height 1365 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @51 - location (1904, 928) - line_color 3342489 - InterObjView @50 - height 60 - y_coord 0 - Nested FALSE)) - (object InterObjView "iReader" @52 - location (2385, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @52 - location (2385, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 506 - justify 0 - label "iReader") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "4284B2DF029A" - width 524 - height 1365 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @53 - location (2385, 1072) - line_color 3342489 - InterObjView @52 - height 248 - y_coord 188 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @54 - location (2385, 1200) - line_color 3342489 - InterObjView @52 - height 60 - y_coord 0 - Nested TRUE)) - (object InterObjView "RDmDomainManager" @55 - location (832, 224) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @55 - location (832, 224) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 282 - justify 0 - label "RDmDomainManager") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "4284A34501EF" - width 300 - height 1365 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @56 - location (832, 576) - line_color 3342489 - InterObjView @55 - height 60 - y_coord 0 - Nested FALSE)) - (object InterObjView "RProperty" @57 - location (512, 224) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @57 - location (512, 224) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 282 - justify 0 - label "RProperty") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "4284A1660328" - width 300 - height 1365 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @58 - location (512, 416) - line_color 3342489 - InterObjView @57 - height 60 - y_coord 0 - Nested FALSE)) - (object InterMessView "" @59 - location (16, 416) - label (object SegLabel @60 - Parent_View @59 - location (398, 373) - quidu "4284A17D00B8" - anchor_loc 1 - nlines 1 - max_width 417 - justify 0 - label "Get( ..., bootmode)" - pctDist 0.697819 - height 44 - orientation 0) - line_color 3342489 - client @43 - supplier @57 - Focus_Src @44 - Focus_Entry @58 - origin (175, 416) - terminus (496, 416) - ordinal 0) - (object InterMessView "" @61 - location (16, 736) - label (object SegLabel @62 - Parent_View @61 - location (1415, 678) - quidu "4284B01E01D1" - anchor_loc 1 - nlines 1 - max_width 408 - justify 0 - label "NewLC(bootmode)" - pctDist 0.760656 - height 59 - orientation 0) - line_color 3342489 - client @45 - supplier @47 - Focus_Src @46 - Focus_Entry @48 - origin (1183, 736) - terminus (1488, 736) - ordinal 3) - (object SelfMessView "" @63 - location (16, 800) - label (object SegLabel @64 - Parent_View @63 - location (1803, 760) - quidu "4284B03303C7" - anchor_loc 1 - nlines 1 - max_width 498 - justify 0 - label "ConstructL(bootmode)" - pctDist 1.893333 - height 41 - orientation 0) - line_color 3342489 - client @47 - supplier @47 - Focus_Src @48 - Focus_Entry @49 - origin (1520, 800) - terminus (1670, 800) - ordinal 4) - (object InterMessView "" @65 - location (16, 928) - label (object SegLabel @66 - Parent_View @65 - location (1835, 902) - quidu "4284B09E0218" - anchor_loc 1 - nlines 1 - max_width 540 - justify 0 - label "GetResourceFileName" - pctDist 0.858357 - height 27 - orientation 0) - line_color 3342489 - client @47 - supplier @50 - Focus_Src @49 - Focus_Entry @51 - origin (1519, 928) - terminus (1888, 928) - ordinal 5) - (object InterMessView "" @67 - location (16, 1072) - label (object SegLabel @68 - Parent_View @67 - location (1944, 1028) - quidu "4284B2F70089" - anchor_loc 1 - nlines 1 - max_width 495 - justify 0 - label " NewL(resourcefile, ...)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @47 - supplier @52 - Focus_Src @48 - Focus_Entry @53 - origin (1519, 1072) - terminus (2369, 1072) - ordinal 6) - (object SelfMessView "" @69 - location (16, 1200) - label (object SegLabel @70 - Parent_View @69 - location (2696, 1158) - quidu "4284B341033D" - anchor_loc 1 - nlines 1 - max_width 555 - justify 0 - label "ConstructL(resourcefile)" - pctDist 1.973333 - height 43 - orientation 0) - line_color 3342489 - client @52 - supplier @52 - Focus_Src @53 - Focus_Entry @54 - origin (2401, 1200) - terminus (2551, 1200) - ordinal 7) - (object InterMessView "" @71 - location (16, 576) - label (object SegLabel @72 - Parent_View @71 - location (608, 533) - quidu "4288B01B0319" - anchor_loc 1 - nlines 1 - max_width 920 - justify 0 - label "AddDomainHierarchy(KDmHierarchyIdStartup)" - pctDist 0.676838 - height 44 - orientation 0) - line_color 3342489 - client @43 - supplier @55 - Focus_Src @44 - Focus_Entry @56 - origin (175, 576) - terminus (816, 576) - ordinal 1) - (object InterMessView "" @73 - location (16, 688) - label (object SegLabel @74 - Parent_View @73 - location (663, 644) - quidu "4288B0D0006A" - anchor_loc 1 - nlines 1 - max_width 159 - justify 0 - label "StartL" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @43 - supplier @45 - Focus_Src @44 - Focus_Entry @46 - origin (175, 688) - terminus (1152, 688) - ordinal 2))) - (object InteractionDiagram "Reading State Information from SSC" - mechanism_ref @2 - quid "4284B4AF024A" - title "Reading State Information from SSC" - zoom 68 - max_height 28350 - max_width 21600 - origin_x 0 - origin_y 21 - items (list diagram_item_list - (object InterObjView "starter" @75 - location (180, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @75 - location (180, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 302 - justify 0 - label "starter") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "4284B4B203E1" - width 320 - height 1905 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @76 - location (180, 368) - line_color 3342489 - InterObjView @75 - height 1672 - y_coord 1612 - Nested FALSE)) - (object InterObjView "systemstartup" @77 - location (540, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @77 - location (540, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 322 - justify 0 - label "systemstartup") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "4284B4CE021D" - width 340 - height 1905 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @78 - location (540, 384) - line_color 3342489 - InterObjView @77 - height 1596 - y_coord 1536 - Nested FALSE)) - (object InterObjView "iReader" @79 - location (960, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @79 - location (960, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 420 - justify 0 - label "iReader") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "4284B50D029E" - width 438 - height 1905 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @80 - location (960, 400) - line_color 3342489 - InterObjView @79 - height 1520 - y_coord 1460 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @81 - location (960, 448) - line_color 3342489 - InterObjView @79 - height 60 - y_coord 0 - Nested TRUE) - Focus_Of_Control (object Focus_Of_Control "" @82 - location (960, 600) - line_color 3342489 - InterObjView @79 - height 225 - y_coord 165 - Nested TRUE) - Focus_Of_Control (object Focus_Of_Control "" @83 - location (960, 1065) - line_color 3342489 - InterObjView @79 - height 60 - y_coord 0 - Nested TRUE) - Focus_Of_Control (object Focus_Of_Control "" @84 - location (960, 1215) - line_color 3342489 - InterObjView @79 - height 60 - y_coord 0 - Nested TRUE)) - (object InterObjView "command" @85 - location (1965, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @85 - location (1965, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 282 - justify 0 - label "command") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "4284BFA80115" - width 300 - height 1905 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @86 - location (1965, 1455) - line_color 3342489 - InterObjView @85 - height 60 - y_coord 0 - Nested FALSE)) - (object InterObjView "stateInfo" @87 - location (2415, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @87 - location (2415, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 492 - justify 0 - label "stateInfo") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "4284C16C0192" - width 510 - height 1905 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @88 - location (2415, 705) - line_color 3342489 - InterObjView @87 - height 60 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @89 - location (2415, 1800) - line_color 3342489 - InterObjView @87 - height 60 - y_coord 0 - Nested FALSE)) - (object InterObjView "appInfo" @90 - location (1560, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @90 - location (1560, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 432 - justify 0 - label "appInfo") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "4289DD5F0389" - width 450 - height 1905 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @91 - location (1560, 1335) - line_color 3342489 - InterObjView @90 - height 60 - y_coord 0 - Nested FALSE)) - (object InterMessView "" @92 - location (16, 384) - label (object SegLabel @93 - Parent_View @92 - location (359, 340) - quidu "4284B4DB02BB" - anchor_loc 1 - nlines 1 - max_width 633 - justify 0 - label "GetNextStateL" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @75 - supplier @77 - Focus_Src @76 - Focus_Entry @78 - origin (195, 384) - terminus (524, 384) - ordinal 0) - (object InterMessView "" @94 - location (16, 400) - label (object SegLabel @95 - Parent_View @94 - location (748, 357) - quidu "4284B5200010" - anchor_loc 1 - nlines 1 - max_width 610 - justify 0 - label "GetStateInfoL" - pctDist 0.498361 - height 44 - orientation 0) - line_color 3342489 - client @77 - supplier @79 - Focus_Src @78 - Focus_Entry @80 - origin (555, 400) - terminus (944, 400) - ordinal 1) - (object SelfMessView "" @96 - location (16, 448) - label (object SegLabel @97 - Parent_View @96 - location (1223, 421) - quidu "4284B5530062" - anchor_loc 1 - nlines 1 - max_width 950 - justify 0 - label "ReadStateInformationL" - pctDist 1.646667 - height 28 - orientation 0) - line_color 3342489 - client @79 - supplier @79 - Focus_Src @80 - Focus_Entry @81 - origin (976, 448) - terminus (1126, 448) - ordinal 2) - (object SelfMessView "" @98 - location (15, 600) - label (object SegLabel @99 - Parent_View @98 - location (1184, 573) - quidu "4284B86501AC" - anchor_loc 1 - nlines 1 - max_width 853 - justify 0 - label "FindFirstStateEntryL" - pctDist 1.386667 - height 28 - orientation 0) - line_color 3342489 - client @79 - supplier @79 - Focus_Src @80 - Focus_Entry @82 - origin (976, 600) - terminus (1126, 600) - ordinal 3) - (object SelfMessView "" @100 - location (15, 1065) - label (object SegLabel @101 - Parent_View @100 - location (1388, 1023) - quidu "4284BB24015C" - anchor_loc 1 - nlines 1 - max_width 1492 - justify 0 - label "ReadCommandListL(aCommandListId)" - pctDist 2.746667 - height 43 - orientation 0) - line_color 3342489 - client @79 - supplier @79 - Focus_Src @80 - Focus_Entry @83 - origin (976, 1065) - terminus (1126, 1065) - ordinal 5) - (object SelfMessView "" @102 - location (15, 1215) - label (object SegLabel @103 - Parent_View @102 - location (1184, 1172) - quidu "4284BDE9027D" - anchor_loc 1 - nlines 1 - max_width 722 - justify 0 - label "ReadCommandInfoL *" - pctDist 1.393333 - height 44 - orientation 0) - line_color 3342489 - client @79 - supplier @79 - Focus_Src @80 - Focus_Entry @84 - origin (976, 1215) - terminus (1126, 1215) - ordinal 6) - (object InterMessView "" @104 - location (15, 1455) - label (object SegLabel @105 - Parent_View @104 - location (1462, 1411) - quidu "4284BFB20201" - anchor_loc 1 - nlines 1 - max_width 720 - justify 0 - label "NewL(appInfo, ...)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @79 - supplier @85 - Focus_Src @80 - Focus_Entry @86 - origin (975, 1455) - terminus (1949, 1455) - ordinal 8) - (object Label @106 - location (1170, 510) - nlines 1 - max_width 600 - label "[state = 0]") - (object Label @107 - location (1185, 945) - nlines 1 - max_width 600 - label "[type == EStartupProcess]") - (object NoteView @108 - location (1965, 1005) - font (object Font - size 8) - label (object ItemLabel - Parent_View @108 - location (1827, 945) - fill_color 13434879 - nlines 2 - max_width 240 - label "Type could be app/DLL etc") - line_color 3342489 - fill_color 13434879 - width 300 - height 132) - (object NoteView @109 - location (2040, 1140) - font (object Font - size 8) - label (object ItemLabel - Parent_View @109 - location (1902, 1080) - fill_color 13434879 - nlines 2 - max_width 240 - label "Repeat for each command") - line_color 3342489 - fill_color 13434879 - width 300 - height 132) - (object InterMessView "" @110 - location (15, 1335) - label (object SegLabel @111 - Parent_View @110 - location (1259, 1291) - quidu "4289DDFF02AF" - anchor_loc 1 - nlines 1 - max_width 302 - justify 0 - label "NewL" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @79 - supplier @90 - Focus_Src @80 - Focus_Entry @91 - origin (975, 1335) - terminus (1544, 1335) - ordinal 7) - (object InterMessView "" @112 - location (15, 705) - label (object SegLabel @113 - Parent_View @112 - location (1687, 661) - quidu "4289DEE0027F" - anchor_loc 1 - nlines 1 - max_width 302 - justify 0 - label "NewL" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @79 - supplier @87 - Focus_Src @82 - Focus_Entry @88 - origin (975, 705) - terminus (2399, 705) - ordinal 4) - (object InterMessView "" @114 - location (15, 1800) - label (object SegLabel @115 - Parent_View @114 - location (1687, 1756) - quidu "4289DEF5031C" - anchor_loc 1 - nlines 1 - max_width 1304 - justify 0 - label "SetCommandList(CommandList)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @79 - supplier @87 - Focus_Src @80 - Focus_Entry @89 - origin (975, 1800) - terminus (2399, 1800) - ordinal 9))) - (object InteractionDiagram "Executing commands for one state" - mechanism_ref @3 - quid "4284C2C90079" - title "Executing commands for one state" - zoom 79 - max_height 28350 - max_width 21600 - origin_x 0 - origin_y 0 - items (list diagram_item_list - (object InterObjView "CSystemStarter" @116 - location (165, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @116 - location (165, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 282 - justify 0 - label "CSystemStarter") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "4284C2D000B7" - width 300 - height 1455 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @117 - location (165, 320) - line_color 3342489 - InterObjView @116 - height 260 - y_coord 200 - Nested FALSE)) - (object InterObjView "state" @118 - location (480, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @118 - location (480, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 282 - justify 0 - label "state") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "4284C2D9001B" - width 300 - height 1455 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @119 - location (480, 352) - line_color 3342489 - InterObjView @118 - height 168 - y_coord 108 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @120 - location (480, 624) - line_color 3342489 - InterObjView @118 - height 966 - y_coord 906 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @121 - location (480, 640) - line_color 3342489 - fill_color 13434879 - InterObjView @118 - height 60 - y_coord 0 - Nested TRUE)) - (object InterObjView "RDmManagerSession" @122 - location (795, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @122 - location (795, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 282 - justify 0 - label "RDmManagerSession") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "4284CDE90163" - width 300 - height 1455 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @123 - location (795, 400) - line_color 3342489 - InterObjView @122 - height 60 - y_coord 0 - Nested FALSE)) - (object InterObjView "aCommand" @124 - location (1125, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @124 - location (1125, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 308 - justify 0 - label "aCommand") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "4284DCC90004" - width 326 - height 1455 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @125 - location (1125, 752) - line_color 3342489 - InterObjView @124 - height 388 - y_coord 328 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @126 - location (1125, 832) - line_color 3342489 - InterObjView @124 - height 248 - y_coord 188 - Nested TRUE) - Focus_Of_Control (object Focus_Of_Control "" @127 - location (1125, 960) - line_color 3342489 - InterObjView @124 - height 60 - y_coord 0 - Nested TRUE) - Focus_Of_Control (object Focus_Of_Control "" @128 - location (1125, 1065) - line_color 3342489 - InterObjView @124 - height 240 - y_coord 180 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @129 - location (1125, 1185) - line_color 3342489 - InterObjView @124 - height 60 - y_coord 0 - Nested TRUE)) - (object InterObjView "aCommand" @130 - location (1455, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @130 - location (1455, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 294 - justify 0 - label "aCommand") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "428B52A90371" - width 312 - height 1455 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @131 - location (1455, 1305) - line_color 3342489 - InterObjView @130 - height 60 - y_coord 0 - Nested FALSE)) - (object InterObjView "aComand" @132 - location (1845, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @132 - location (1845, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 420 - justify 0 - label "aComand") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "428B56640310" - width 438 - height 1455 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @133 - location (1845, 1395) - line_color 3342489 - InterObjView @132 - height 60 - y_coord 0 - Nested FALSE)) - (object InterObjView "aCommand" @134 - location (2265, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @134 - location (2265, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 348 - justify 0 - label "aCommand") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "428B5A0B0389" - width 366 - height 1455 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @135 - location (2265, 1470) - line_color 3342489 - InterObjView @134 - height 60 - y_coord 0 - Nested FALSE)) - (object InterMessView "" @136 - location (16, 352) - label (object SegLabel @137 - Parent_View @136 - location (322, 308) - quidu "4284C2E601E1" - anchor_loc 1 - nlines 1 - max_width 277 - justify 0 - label "StartL" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @116 - supplier @118 - Focus_Src @117 - Focus_Entry @119 - origin (180, 352) - terminus (464, 352) - ordinal 0) - (object InterMessView "" @138 - location (16, 400) - label (object SegLabel @139 - Parent_View @138 - location (771, 357) - quidu "4284CE0B0116" - anchor_loc 1 - nlines 1 - max_width 899 - justify 0 - label "RequestDomainTransition" - pctDist 0.975352 - height 44 - orientation 0) - line_color 3342489 - client @118 - supplier @122 - Focus_Src @119 - Focus_Entry @123 - origin (495, 400) - terminus (779, 400) - ordinal 1) - (object SelfMessView "" @140 - location (16, 640) - label (object SegLabel @141 - Parent_View @140 - location (646, 597) - quidu "4284DCE401CA" - anchor_loc 1 - nlines 1 - max_width 483 - justify 0 - label "DoCommand" - pctDist 1.000000 - height 44 - orientation 0) - line_color 3342489 - fill_color 8454143 - client @118 - supplier @118 - Focus_Src @120 - Focus_Entry @121 - origin (496, 640) - terminus (646, 640) - ordinal 2) - (object InterMessView "" @142 - location (16, 752) - label (object SegLabel @143 - Parent_View @142 - location (802, 708) - quidu "4284DD17038F" - anchor_loc 1 - nlines 1 - max_width 333 - justify 0 - label "Execute" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @118 - supplier @124 - Focus_Src @120 - Focus_Entry @125 - origin (495, 752) - terminus (1109, 752) - ordinal 3) - (object SelfMessView "" @144 - location (16, 832) - label (object SegLabel @145 - Parent_View @144 - location (1216, 788) - quidu "4284DDEE0303" - anchor_loc 1 - nlines 1 - max_width 376 - justify 0 - label " Utility procs" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @124 - supplier @124 - Focus_Src @125 - Focus_Entry @126 - origin (1141, 832) - terminus (1291, 832) - ordinal 4) - (object SelfMessView "" @146 - location (16, 960) - label (object SegLabel @147 - Parent_View @146 - location (1216, 916) - quidu "4284DE4701E8" - anchor_loc 1 - nlines 1 - max_width 363 - justify 0 - label "Utility procs" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @124 - supplier @124 - Focus_Src @126 - Focus_Entry @127 - origin (1141, 960) - terminus (1291, 960) - ordinal 5) - (object InterMessView "" @148 - location (15, 1065) - label (object SegLabel @149 - Parent_View @148 - location (801, 1022) - quidu "428B503F006C" - anchor_loc 1 - nlines 1 - max_width 333 - justify 0 - label "Execute" - pctDist 0.499454 - height 44 - orientation 0) - line_color 3342489 - client @118 - supplier @124 - Focus_Src @120 - Focus_Entry @128 - origin (495, 1065) - terminus (1109, 1065) - ordinal 6) - (object SelfMessView "" @150 - location (15, 1185) - label (object SegLabel @151 - Parent_View @150 - location (1245, 1142) - quidu "428B5083008C" - anchor_loc 1 - nlines 1 - max_width 363 - justify 0 - label "Utility procs" - pctDist 0.700000 - height 44 - orientation 0) - line_color 3342489 - client @124 - supplier @124 - Focus_Src @128 - Focus_Entry @129 - origin (1141, 1185) - terminus (1291, 1185) - ordinal 7) - (object InterMessView "" @152 - location (15, 1305) - label (object SegLabel @153 - Parent_View @152 - location (967, 1261) - quidu "428B52CB0382" - anchor_loc 1 - nlines 1 - max_width 333 - justify 0 - label "Execute" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @118 - supplier @130 - Focus_Src @120 - Focus_Entry @131 - origin (495, 1305) - terminus (1439, 1305) - ordinal 8) - (object InterMessView "" @154 - location (15, 1395) - label (object SegLabel @155 - Parent_View @154 - location (1162, 1351) - quidu "428B567F00B0" - anchor_loc 1 - nlines 1 - max_width 368 - justify 0 - label "Execute" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @118 - supplier @132 - Focus_Src @120 - Focus_Entry @133 - origin (495, 1395) - terminus (1829, 1395) - ordinal 9) - (object InterMessView "" @156 - location (15, 1470) - label (object SegLabel @157 - Parent_View @156 - location (1372, 1426) - quidu "428B5A430149" - anchor_loc 1 - nlines 1 - max_width 368 - justify 0 - label "Execute" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @118 - supplier @134 - Focus_Src @120 - Focus_Entry @135 - origin (495, 1470) - terminus (2249, 1470) - ordinal 10))))) - root_subsystem (object SubSystem "Component View" - quid "426E373D03AF" - physical_models (list unit_reference_list) - physical_presentations (list unit_reference_list - (object Module_Diagram "Main" - quid "426E373D03BB" - title "Main" - zoom 100 - max_height 28350 - max_width 21600 - origin_x 0 - origin_y 0 - items (list diagram_item_list)))) - process_structure (object Processes - quid "426E373D03B0" - ProcsNDevs (list - (object Process_Diagram "Deployment View" - quid "426E373D03B2" - title "Deployment View" - zoom 100 - max_height 28350 - max_width 21600 - origin_x 0 - origin_y 0 - items (list diagram_item_list)))) - properties (object Properties - attributes (list Attribute_Set - (object Attribute - tool "DDL" - name "propertyId" - value "809135966") - (object Attribute - tool "DDL" - name "default__Project" - value (list Attribute_Set - (object Attribute - tool "DDL" - name "Directory" - value "AUTO GENERATE") - (object Attribute - tool "DDL" - name "DataBase" - value ("DataBaseSet" 800)) - (object Attribute - tool "DDL" - name "DataBaseSet" - value (list Attribute_Set - (object Attribute - tool "DDL" - name "ANSI" - value 800) - (object Attribute - tool "DDL" - name "Oracle" - value 801) - (object Attribute - tool "DDL" - name "SQLServer" - value 802) - (object Attribute - tool "DDL" - name "Sybase" - value 803) - (object Attribute - tool "DDL" - name "Watcom" - value 804))) - (object Attribute - tool "DDL" - name "PrimaryKeyColumnName" - value "Id") - (object Attribute - tool "DDL" - name "PrimaryKeyColumnType" - value "NUMBER(5)") - (object Attribute - tool "DDL" - name "ViewName" - value "V_") - (object Attribute - tool "DDL" - name "TableName" - value "T_") - (object Attribute - tool "DDL" - name "InheritSuffix" - value "_V") - (object Attribute - tool "DDL" - name "DropClause" - value FALSE) - (object Attribute - tool "DDL" - name "BaseViews" - value FALSE) - (object Attribute - tool "DDL" - name "DDLScriptFilename" - value "DDL1.SQL"))) - (object Attribute - tool "DDL" - name "default__Attribute" - value (list Attribute_Set - (object Attribute - tool "DDL" - name "ColumnType" - value "VARCHAR") - (object Attribute - tool "DDL" - name "Length" - value "") - (object Attribute - tool "DDL" - name "NullsOK" - value TRUE) - (object Attribute - tool "DDL" - name "PrimaryKey" - value FALSE) - (object Attribute - tool "DDL" - name "Unique" - value FALSE) - (object Attribute - tool "DDL" - name "CompositeUnique" - value FALSE) - (object Attribute - tool "DDL" - name "CheckConstraint" - value ""))) - (object Attribute - tool "DDL" - name "HiddenTool" - value FALSE) - (object Attribute - tool "RequisitePro" - name "HiddenTool" - value FALSE) - (object Attribute - tool "Rose Model Integrator" - name "HiddenTool" - value FALSE) - (object Attribute - tool "Version Control" - name "HiddenTool" - value FALSE)) - quid "426E373D03B1")) diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstarter/documentation/9.5/SystemStarter.EAP Binary file sysstatemgmt/systemstarter/documentation/9.5/SystemStarter.EAP has changed diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstarter/group/app-framework_sysstart.mrp --- a/sysstatemgmt/systemstarter/group/app-framework_sysstart.mrp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstarter/group/app-framework_sysstart.mrp Thu Jul 22 16:45:41 2010 +0100 @@ -1,19 +1,3 @@ -# -# 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: -# - component app-framework_sysstart source \sf\os\devicesrv\sysstatemgmt\systemstarter binary \sf\os\devicesrv\sysstatemgmt\systemstarter\group all diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstarter/test/tsysstart/group/sysstarttest.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/systemstarter/test/tsysstart/group/sysstarttest.pkg Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,29 @@ +; +; Copyright (c) 2010 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: +; + + +;Languages +&EN + + +;Localised Vendor name +%{"SysStartTests EN"} + +; Vendor name +: "SysStartTests" + +"\sf\os\devicesrv\sysstatemgmt\systemstarter\test\tsysstart\scripts\appfwk_sysstart_test_ReRunSysStart.script"-"c:\devicesrv\sysstarttest\appfwk_sysstart_test_ReRunSysStart.script" + diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatemgr/cmd/src/cmdpublishsystemstate.cpp --- a/sysstatemgmt/systemstatemgr/cmd/src/cmdpublishsystemstate.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatemgr/cmd/src/cmdpublishsystemstate.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -294,6 +294,9 @@ if(iConnected) { iDomainManager.CancelTransition(); + // Close domain manager connection + iDomainManager.Close(); + iConnected = EFalse; } } diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatemgr/group/app-framework_ssma.mrp --- a/sysstatemgmt/systemstatemgr/group/app-framework_ssma.mrp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatemgr/group/app-framework_ssma.mrp Thu Jul 22 16:45:41 2010 +0100 @@ -1,19 +1,3 @@ -# -# 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: -# - component app-framework_ssma source \sf\os\devicesrv\sysstatemgmt\systemstatemgr binary \sf\os\devicesrv\sysstatemgmt\systemstatemgr\group all diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatemgr/ssm/src/ssmstatetransitionengine.cpp --- a/sysstatemgmt/systemstatemgr/ssm/src/ssmstatetransitionengine.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatemgr/ssm/src/ssmstatetransitionengine.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2008-2010 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" @@ -533,7 +533,9 @@ { iResolver.ReleasePolicyResolver(); delete iQueuedTransition; + iQueuedTransition = NULL; delete iCurrentTransition; + iCurrentTransition = NULL; iCleSession.ReleaseCle(); } #endif diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatemgr/sus/src/ssmsuscli.cpp --- a/sysstatemgmt/systemstatemgr/sus/src/ssmsuscli.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatemgr/sus/src/ssmsuscli.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -109,7 +109,7 @@ Usage pattern: @code RSsmSusCli session; - session.Connect(); + User::LeaveIfError(fs.Connect()); CleanupStackClosePushL(session); TPckgC* infoBuf = new (ELeave) TPckgC(info); session.RequestLoadSup(*infoBuf, status); diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatemgr/sus/src/susemergencycallrfadaptation.cpp --- a/sysstatemgmt/systemstatemgr/sus/src/susemergencycallrfadaptation.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatemgr/sus/src/susemergencycallrfadaptation.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -278,8 +278,6 @@ DEBUGPRINT2A("CEmergencyCallRfAdaptationRequests processed the request with funtion id: %d", iCurrentMessage->Function()); iCurrentMessage->Complete(iStatus.Int()); DeleteAdaptationMessage(); - iCurrentMessage = NULL; - if( (iPendingEmergencyRequestsQueue.Count()) > 0 ) { CEmergencyAdaptationMessage *messageCopy = NULL; @@ -295,7 +293,6 @@ { iCurrentMessage->Complete(aError); DeleteAdaptationMessage(); - iCurrentMessage = NULL; } while( (iPendingEmergencyRequestsQueue.Count() > 0 )) @@ -303,7 +300,6 @@ Dequeue(iCurrentMessage); iCurrentMessage->Complete(aError); DeleteAdaptationMessage(); - iCurrentMessage = NULL; } return KErrNone; @@ -316,7 +312,6 @@ { iCurrentMessage->Complete(KErrCancel); DeleteAdaptationMessage(); - iCurrentMessage = NULL; } while( (iPendingEmergencyRequestsQueue.Count() > 0 )) @@ -324,7 +319,6 @@ Dequeue(iCurrentMessage); iCurrentMessage->Complete(KErrCancel); DeleteAdaptationMessage(); - iCurrentMessage = NULL; } } @@ -349,7 +343,8 @@ */ void CEmergencyCallRfAdaptation::DeleteAdaptationMessage() { - if(iCurrentMessage->IsMessageReserved()) + //Do not delete iCurrentMessage if it is owned by iAdaptationReservedMessageArray. + if(iCurrentMessage->IsMessageReserved()) { iCurrentMessage->UnsetMessageStatus(EMsgInUse); ++iReserveMsgCount; @@ -357,7 +352,8 @@ else { delete iCurrentMessage; - } + } + iCurrentMessage = NULL; } void CEmergencyCallRfAdaptation::Dequeue(CEmergencyAdaptationMessage *&aCurrentMessage) diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatemgr/sus/src/susstateadaptation.cpp --- a/sysstatemgmt/systemstatemgr/sus/src/susstateadaptation.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatemgr/sus/src/susstateadaptation.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2008-2010 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" @@ -172,7 +172,11 @@ DEBUGPRINT1A("CStateAdaptationRequests cancelling current request as requested"); iStateAdaptation.RequestCancel(); } - iPendingRequestsQueue.RemoveFromQueueAndComplete(aMessage); + iPendingRequestsQueue.RemoveFromQueueAndComplete(aMessage); + if(iPendingRequestsQueue.IsEmpty()) + { + iPendingRequestsQueue.Close(); + } aMessage.Complete(KErrNone); } else diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatemgr/test/tcle/group/ssmatest_tcle.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/systemstatemgr/test/tcle/group/ssmatest_tcle.pkg Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,36 @@ +; +; Copyright (c) 2010 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: +; + + +;Languages +&EN + + +;Localised Vendor name +%{"SsmCleTests EN"} + +; Vendor name +: "SsmCleTests" + +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tcle\scripts\ssmatest_cle_rclesession.script"-"c:\devicesrv\ssmatest\ssmatest_cle_rclesession.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tcle\scripts\ssmatest_cle_pause.script"-"c:\devicesrv\ssmatest\ssmatest_cle_pause.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tcle\scripts\ssmatest_cle_dwfs_bad.script"-"c:\devicesrv\ssmatest\ssmatest_cle_dwfs_bad.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tcle\scripts\ssmatest_cle_dwfs_bad_norend.script"-"c:\devicesrv\ssmatest\ssmatest_cle_dwfs_bad_norend.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tcle\scripts\ssmatest_cle_dwfs_good.script"-"c:\devicesrv\ssmatest\ssmatest_cle_dwfs_good.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tcle\scripts\ssmatest_cle_fandf_bad.script"-"c:\devicesrv\ssmatest\ssmatest_cle_fandf_bad.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tcle\scripts\ssmatest_cle_fandf_good.script"-"c:\devicesrv\ssmatest\ssmatest_cle_fandf_good.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tcle\scripts\ssmatest_cle_wfs_bad.script"-"c:\devicesrv\ssmatest\ssmatest_cle_wfs_bad.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tcle\scripts\ssmatest_cle_wfs_good.script"-"c:\devicesrv\ssmatest\ssmatest_cle_wfs_good.script" diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatemgr/test/tcmd/group/ssmatest_tcmd.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/systemstatemgr/test/tcmd/group/ssmatest_tcmd.pkg Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,46 @@ +; +; Copyright (c) 2010 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: +; + + +;Languages +&EN + + +;Localised Vendor name +%{"SsmCmdTests EN"} + +; Vendor name +: "SsmCmdTests" + +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tcmd\scripts\ssmatest_cmd_resourcereader.script"-"c:\devicesrv\ssmatest\ssmatest_cmd_resourcereader.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tcmd\scripts\ssmatest_cmd_amastarter.script"-"c:\devicesrv\ssmatest\ssmatest_cmd_amastarter.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tcmd\scripts\ssmatest_cmd_commandlist.script"-"c:\devicesrv\ssmatest\ssmatest_cmd_commandlist.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tcmd\scripts\ssmatest_cmd_customcommand.script"-"c:\devicesrv\ssmatest\ssmatest_cmd_customcommand.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tcmd\scripts\ssmatest_cmd_finalisedrives.script"-"c:\devicesrv\ssmatest\ssmatest_cmd_finalisedrives.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tcmd\scripts\ssmatest_cmd_loadsup.script"-"c:\devicesrv\ssmatest\ssmatest_cmd_loadsup.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tcmd\scripts\ssmatest_cmd_persisthalattributes.script"-"c:\devicesrv\ssmatest\ssmatest_cmd_persisthalattributes.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tcmd\scripts\ssmatest_cmd_poweroff.script"-"c:\devicesrv\ssmatest\ssmatest_cmd_poweroff.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tcmd\scripts\ssmatest_cmd_publishswp.script"-"c:\devicesrv\ssmatest\ssmatest_cmd_publishswp.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tcmd\scripts\ssmatest_cmd_publishsystemstate.script"-"c:\devicesrv\ssmatest\ssmatest_cmd_publishsystemstate.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tcmd\scripts\ssmatest_cmd_reqswpchange.script"-"c:\devicesrv\ssmatest\ssmatest_cmd_reqswpchange.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tcmd\scripts\ssmatest_cmd_multiplewait.script"-"c:\devicesrv\ssmatest\ssmatest_cmd_multiplewait.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tcmd\scripts\ssmatest_cmd_startapp.script"-"c:\devicesrv\ssmatest\ssmatest_cmd_amastarter.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tcmd\scripts\ssmatest_cmd_startprocess.script"-"c:\devicesrv\ssmatest\ssmatest_cmd_startprocess.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tcmd\scripts\ssmatest_cmd_waitforapparcinit.script"-"c:\devicesrv\ssmatest\ssmatest_cmd_waitforapparcinit.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tcmd\scripts\ssmatest_cmd_setpandskey.script"-"c:\devicesrv\ssmatest\ssmatest_cmd_setpandskey.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tcmd\scripts\ssmatest_cmd_custcmd_neverunload.script"-"c:\devicesrv\ssmatest\ssmatest_cmd_custcmd_neverunload.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tcmd\scripts\ssmatest_cmd_i_bics.script"-"c:\devicesrv\ssmatest\ssmatest_cmd_i_bics.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tcmd\scripts\ssmatest_cmd_runcletest.script"-"c:\devicesrv\ssmatest\ssmatest_cmd_runcletest.script" diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatemgr/test/tcmd/src/tcmd_step_resourcereader.cpp --- a/sysstatemgmt/systemstatemgr/test/tcmd/src/tcmd_step_resourcereader.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatemgr/test/tcmd/src/tcmd_step_resourcereader.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1880,6 +1880,7 @@ User::WaitForRequest(status); TExitCategoryName category = thread.ExitCategory(); RDebug::Print(_L("***** Exit Category = %S *****"),&category); + INFO_PRINTF2(_L("***** Exit Category = %S *****"), &category); TEST(category.Compare(KPanicCmdResourceReader) == 0); // always expecting a resource reader panic const TInt exitReason = thread.ExitReason(); thread.Close(); diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatemgr/test/tcmn/group/ssmatest_tcmn.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/systemstatemgr/test/tcmn/group/ssmatest_tcmn.pkg Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,33 @@ +; +; Copyright (c) 2010 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: +; + + +;Languages +&EN + + +;Localised Vendor name +%{"SsmCmnTests EN"} + +; Vendor name +: "SsmCmnTests" + +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tcmn\scripts\ssmatest_cmn_state.script"-"c:\devicesrv\ssmatest\ssmatest_cmn_state.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tcmn\scripts\ssmatest_cmn_swpvalue.script"-"c:\devicesrv\ssmatest\ssmatest_cmn_swpvalue.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tcmn\scripts\ssmatest_cmn_systemwideproperty.script"-"c:\devicesrv\ssmatest\ssmatest_cmn_systemwideproperty.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tcmn\scripts\ssmatest_cmn_stateawaresession.script"-"c:\devicesrv\ssmatest\ssmatest_cmn_stateawaresession.script" + + diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatemgr/test/testapps/group/ssmcletestapplication.mmp --- a/sysstatemgmt/systemstatemgr/test/testapps/group/ssmcletestapplication.mmp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatemgr/test/testapps/group/ssmcletestapplication.mmp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -31,7 +31,7 @@ USERINCLUDE ../../../localinc OS_LAYER_SYSTEMINCLUDE_SYMBIAN MW_LAYER_SYSTEMINCLUDE_SYMBIAN -SYSTEMINCLUDE /epoc32/include/techview +MW_LAYER_SYSTEMINCLUDE LIBRARY euser.lib LIBRARY apparc.lib diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatemgr/test/testapps/group/ssmtestappgood.mmp --- a/sysstatemgmt/systemstatemgr/test/testapps/group/ssmtestappgood.mmp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatemgr/test/testapps/group/ssmtestappgood.mmp Thu Jul 22 16:45:41 2010 +0100 @@ -27,7 +27,8 @@ USERINCLUDE ../inc OS_LAYER_SYSTEMINCLUDE_SYMBIAN MW_LAYER_SYSTEMINCLUDE_SYMBIAN -SYSTEMINCLUDE /epoc32/include/techview +//SYSTEMINCLUDE /epoc32/include/techview +MW_LAYER_SYSTEMINCLUDE LIBRARY euser.lib LIBRARY apparc.lib diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatemgr/test/testapps/group/ssmtestappnorv.mmp --- a/sysstatemgmt/systemstatemgr/test/testapps/group/ssmtestappnorv.mmp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatemgr/test/testapps/group/ssmtestappnorv.mmp Thu Jul 22 16:45:41 2010 +0100 @@ -25,10 +25,11 @@ USERINCLUDE . USERINCLUDE ../inc -SYSTEMINCLUDE /epoc32/include/techview +//SYSTEMINCLUDE /epoc32/include/techview OS_LAYER_SYSTEMINCLUDE_SYMBIAN MW_LAYER_SYSTEMINCLUDE_SYMBIAN +MW_LAYER_SYSTEMINCLUDE LIBRARY euser.lib LIBRARY apparc.lib diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatemgr/test/testapps/group/ssmtestapppanic.mmp --- a/sysstatemgmt/systemstatemgr/test/testapps/group/ssmtestapppanic.mmp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatemgr/test/testapps/group/ssmtestapppanic.mmp Thu Jul 22 16:45:41 2010 +0100 @@ -25,10 +25,11 @@ USERINCLUDE . USERINCLUDE ../inc -SYSTEMINCLUDE /epoc32/include/techview +//SYSTEMINCLUDE /epoc32/include/techview OS_LAYER_SYSTEMINCLUDE_SYMBIAN MW_LAYER_SYSTEMINCLUDE_SYMBIAN +MW_LAYER_SYSTEMINCLUDE LIBRARY euser.lib LIBRARY apparc.lib diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatemgr/test/testapps/group/ssmtestapppaniczero.mmp --- a/sysstatemgmt/systemstatemgr/test/testapps/group/ssmtestapppaniczero.mmp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatemgr/test/testapps/group/ssmtestapppaniczero.mmp Thu Jul 22 16:45:41 2010 +0100 @@ -25,10 +25,11 @@ USERINCLUDE . USERINCLUDE ../inc -SYSTEMINCLUDE /epoc32/include/techview +//SYSTEMINCLUDE /epoc32/include/techview OS_LAYER_SYSTEMINCLUDE_SYMBIAN MW_LAYER_SYSTEMINCLUDE_SYMBIAN +MW_LAYER_SYSTEMINCLUDE LIBRARY euser.lib LIBRARY apparc.lib diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatemgr/test/testapps/group/ssmtestapprvafterretry.mmp --- a/sysstatemgmt/systemstatemgr/test/testapps/group/ssmtestapprvafterretry.mmp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatemgr/test/testapps/group/ssmtestapprvafterretry.mmp Thu Jul 22 16:45:41 2010 +0100 @@ -26,7 +26,8 @@ USERINCLUDE ../inc OS_LAYER_SYSTEMINCLUDE_SYMBIAN MW_LAYER_SYSTEMINCLUDE_SYMBIAN -SYSTEMINCLUDE /epoc32/include/techview +//SYSTEMINCLUDE /epoc32/include/techview +MW_LAYER_SYSTEMINCLUDE LIBRARY euser.lib LIBRARY apparc.lib diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatemgr/test/testapps/group/ssmtestapprverror.mmp --- a/sysstatemgmt/systemstatemgr/test/testapps/group/ssmtestapprverror.mmp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatemgr/test/testapps/group/ssmtestapprverror.mmp Thu Jul 22 16:45:41 2010 +0100 @@ -25,10 +25,11 @@ USERINCLUDE . USERINCLUDE ../inc -SYSTEMINCLUDE /epoc32/include/techview +//SYSTEMINCLUDE /epoc32/include/techview OS_LAYER_SYSTEMINCLUDE_SYMBIAN MW_LAYER_SYSTEMINCLUDE_SYMBIAN +MW_LAYER_SYSTEMINCLUDE LIBRARY euser.lib LIBRARY apparc.lib diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatemgr/test/testapps/group/ssmtestappslow.mmp --- a/sysstatemgmt/systemstatemgr/test/testapps/group/ssmtestappslow.mmp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatemgr/test/testapps/group/ssmtestappslow.mmp Thu Jul 22 16:45:41 2010 +0100 @@ -27,7 +27,8 @@ USERINCLUDE ../inc OS_LAYER_SYSTEMINCLUDE_SYMBIAN MW_LAYER_SYSTEMINCLUDE_SYMBIAN -SYSTEMINCLUDE /epoc32/include/techview +MW_LAYER_SYSTEMINCLUDE +//SYSTEMINCLUDE /epoc32/include/techview LIBRARY euser.lib LIBRARY apparc.lib diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatemgr/test/testapps/group/ssmtestappsucessfulafterretry.mmp --- a/sysstatemgmt/systemstatemgr/test/testapps/group/ssmtestappsucessfulafterretry.mmp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatemgr/test/testapps/group/ssmtestappsucessfulafterretry.mmp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -26,7 +26,8 @@ USERINCLUDE ../inc OS_LAYER_SYSTEMINCLUDE_SYMBIAN MW_LAYER_SYSTEMINCLUDE_SYMBIAN -SYSTEMINCLUDE /epoc32/include/techview +MW_LAYER_SYSTEMINCLUDE + LIBRARY euser.lib LIBRARY apparc.lib @@ -36,16 +37,7 @@ LIBRARY estor.lib LIBRARY efsrv.lib -RESOURCE ssmtestappsucessfulafterretry.rss -START RESOURCE ssmtestappsucessfulafterretry.rss -TARGETPATH /resource/apps -END -// Registration file -SOURCEPATH ../src -START RESOURCE ssmtestappsucessfulafterretry_reg.rss -TARGETPATH /private/10003a3f/apps -END SMPSAFE diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatemgr/test/testapps/inc/ssmtestapps.h --- a/sysstatemgmt/systemstatemgr/test/testapps/inc/ssmtestapps.h Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatemgr/test/testapps/inc/ssmtestapps.h Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -46,6 +46,7 @@ _LIT(KTestProcTranFromNormalWoCap, "ssmstatetranfromnormalwocap.exe"); _LIT(KTestAppLogFileLoc, "C:\\logs\\ssmtest\\"); +_LIT(KFileForFAndF, "c:\\countforfnf.dat"); //This file is used by KTestAppForFAndF const TInt KTestCommandLineMaxLength = 200; diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatemgr/test/testapps/inc/ssmtestappsucessfulafterretry.h --- a/sysstatemgmt/systemstatemgr/test/testapps/inc/ssmtestappsucessfulafterretry.h Wed Jun 23 22:58:50 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,85 +0,0 @@ -// Copyright (c) 2007-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: -// - -/** - @file - @test - @internalComponent - Internal Symbian test code -*/ - -#ifndef __SSMTESTAPPSUCESSFULAFTERRETRY_H -#define __SSMTESTAPPSUCESSFULAFTERRETRY_H - -#include -#include - -_LIT(KFileForFAndF, "c:\\countforfnf.dat"); // this file should be deleted by the test application - -/** -Application class -*/ -#include - -class CTestFAndFApplication : public CEikApplication - { -public: - static CApaApplication* NewApplication(); - ~CTestFAndFApplication(); - -private: -CTestFAndFApplication(); - - // from CApaApplication - TUid AppDllUid() const; - CApaDocument* CreateDocumentL(); - }; - -/** -Document class -*/ -#include - -class CEikAppUi; -class CEikApplication; -class CTestFAndFDocument : public CEikDocument - { -public: - static CTestFAndFDocument* NewL(CEikApplication& aApp); - ~CTestFAndFDocument(); - -private: - CTestFAndFDocument(CEikApplication& aApp); - - // from CEikDocument - CEikAppUi* CreateAppUiL(); - }; - -/** -Application UI class, root of all graphical user interface in this application -*/ -#include - -class CTestAppAo; -class CTestFAndFAppUi : public CEikAppUi - { -public: - CTestFAndFAppUi(); - ~CTestFAndFAppUi(); - - // from CEikAppUi - void ConstructL(); - }; - -#endif // __SSMTESTAPPSUCESSFILAFTERRETRY_H diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatemgr/test/testapps/src/ssmtestappgood.rss --- a/sysstatemgmt/systemstatemgr/test/testapps/src/ssmtestappgood.rss Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatemgr/test/testapps/src/ssmtestappgood.rss Thu Jul 22 16:45:41 2010 +0100 @@ -22,8 +22,8 @@ NAME STAG -#include -#include +#include +#include RESOURCE RSS_SIGNATURE { } diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatemgr/test/testapps/src/ssmtestappnorv.rss --- a/sysstatemgmt/systemstatemgr/test/testapps/src/ssmtestappnorv.rss Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatemgr/test/testapps/src/ssmtestappnorv.rss Thu Jul 22 16:45:41 2010 +0100 @@ -22,8 +22,8 @@ NAME STAN -#include -#include +#include +#include RESOURCE RSS_SIGNATURE { } diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatemgr/test/testapps/src/ssmtestapppanic.rss --- a/sysstatemgmt/systemstatemgr/test/testapps/src/ssmtestapppanic.rss Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatemgr/test/testapps/src/ssmtestapppanic.rss Thu Jul 22 16:45:41 2010 +0100 @@ -22,8 +22,8 @@ NAME STAP -#include -#include +#include +#include RESOURCE RSS_SIGNATURE { } diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatemgr/test/testapps/src/ssmtestapppaniczero.rss --- a/sysstatemgmt/systemstatemgr/test/testapps/src/ssmtestapppaniczero.rss Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatemgr/test/testapps/src/ssmtestapppaniczero.rss Thu Jul 22 16:45:41 2010 +0100 @@ -21,8 +21,8 @@ NAME STAZ -#include -#include +#include +#include RESOURCE RSS_SIGNATURE { } diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatemgr/test/testapps/src/ssmtestapprvafterretry.rss --- a/sysstatemgmt/systemstatemgr/test/testapps/src/ssmtestapprvafterretry.rss Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatemgr/test/testapps/src/ssmtestapprvafterretry.rss Thu Jul 22 16:45:41 2010 +0100 @@ -21,8 +21,8 @@ NAME STAR -#include -#include +#include +#include RESOURCE RSS_SIGNATURE { } diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatemgr/test/testapps/src/ssmtestapprverror.rss --- a/sysstatemgmt/systemstatemgr/test/testapps/src/ssmtestapprverror.rss Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatemgr/test/testapps/src/ssmtestapprverror.rss Thu Jul 22 16:45:41 2010 +0100 @@ -21,8 +21,8 @@ NAME STAE -#include -#include +#include +#include RESOURCE RSS_SIGNATURE { } diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatemgr/test/testapps/src/ssmtestappslow.rss --- a/sysstatemgmt/systemstatemgr/test/testapps/src/ssmtestappslow.rss Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatemgr/test/testapps/src/ssmtestappslow.rss Thu Jul 22 16:45:41 2010 +0100 @@ -21,8 +21,8 @@ NAME STAS -#include -#include +#include +#include RESOURCE RSS_SIGNATURE { } diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatemgr/test/testapps/src/ssmtestappsucessfulafterretry.cpp --- a/sysstatemgmt/systemstatemgr/test/testapps/src/ssmtestappsucessfulafterretry.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatemgr/test/testapps/src/ssmtestappsucessfulafterretry.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -19,107 +19,14 @@ @internalComponent - Internal Symbian test code */ -#include -#include -#include "ssmtestappsucessfulafterretry.h" +#include +#include #include "ssmtestapps.h" - -/** -Standard DLL entry point function. -Creates and returns an instance of the CApaApplication-derived class. -@return an instance of the CApaApplication-derived class -*/ -TInt E32Main() - { - return EikStart::RunApplication(CTestFAndFApplication::NewApplication); - } - -CTestFAndFApplication::CTestFAndFApplication() - { - } - -CTestFAndFApplication::~CTestFAndFApplication() - { - } - -/** -@return The application's UID -*/ -TUid CTestFAndFApplication::AppDllUid() const - { - const TUid dll = {KTestAppForFAndFUid}; - return dll; - } - -/** -@return CTestFAndFApplication or NULL if KErrNoMemory -*/ -CApaApplication* CTestFAndFApplication::NewApplication() - { - // As the framework has at this point not started up enough, and therefore the TRAP-harness and - // exception handlers aren’t available yet, this factory function is a non-leaving function and - // can't use the new(Eleave) operator. - return new CTestFAndFApplication(); - } - -/** -Called by the UI framework at application start-up to create an instance of the document class. -@leave KErrNoMemory -@return A CTestFAndFDocument -*/ -CApaDocument* CTestFAndFApplication::CreateDocumentL() - { - return CTestFAndFDocument::NewL(*this); - } - -CTestFAndFDocument::CTestFAndFDocument(CEikApplication& aApp) : CEikDocument(aApp) - { - } - -CTestFAndFDocument::~CTestFAndFDocument() - { - } - -/** -Factory function for this class -@return a new CEndTaskTestDocument instance. -*/ -CTestFAndFDocument* CTestFAndFDocument::NewL(CEikApplication& aApp) - { - return new(ELeave) CTestFAndFDocument(aApp); - } - - - -/** -Called by the UI framework to construct the application UI class. -Note that the app UI's ConstructL() is called by the UI framework. -*/ -CEikAppUi* CTestFAndFDocument::CreateAppUiL() - { - return new(ELeave) CTestFAndFAppUi(); - } - - - -CTestFAndFAppUi::CTestFAndFAppUi() - { - } - - - -CTestFAndFAppUi::~CTestFAndFAppUi() - { - } - - - -void CTestFAndFAppUi::ConstructL() - { - // Complete the UI framework's construction of the App UI. - BaseConstructL(CEikAppUi::ENoAppResourceFile); - +// This exe fails to start for a specified number of times given in failCount, +// decrements the failCount each time and starts successfully once the fail count is exhausted +static void StartProcessL() +{ RFs fs; RFileReadStream readStream; RFileWriteStream writeStream; @@ -159,6 +66,29 @@ RProcess::Rendezvous(KErrGeneral); } CleanupStack::PopAndDestroy(3, &fs); +} + +/** +Process entry point function. +@return KErrNone if successful; KErrNoMemory if there is insufficient memory; otherwise, one of the other system-wide error codes. +*/ +TInt E32Main() + { + CTrapCleanup* cleanup=CTrapCleanup::New(); + + TInt error = KErrNoMemory; + if (cleanup) + { + TRAP(error, StartProcessL()); + delete cleanup; + } + + if (KErrNone != error) + { + User::Panic(_L("SUCCESSFULRETRY"),error); + } + User::WaitForAnyRequest(); + return error; } diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatemgr/test/testapps/src/ssmtestappsucessfulafterretry.rss --- a/sysstatemgmt/systemstatemgr/test/testapps/src/ssmtestappsucessfulafterretry.rss Wed Jun 23 22:58:50 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,31 +0,0 @@ -// Copyright (c) 2007-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: -// - -/** - @file - @test - @internalComponent - Internal Symbian test code -*/ - -NAME FNDF - -#include -#include - -RESOURCE RSS_SIGNATURE { } - -RESOURCE TBUF { buf=""; } - - diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatemgr/test/testapps/src/ssmtestappsucessfulafterretry_reg.rss --- a/sysstatemgmt/systemstatemgr/test/testapps/src/ssmtestappsucessfulafterretry_reg.rss Wed Jun 23 22:58:50 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,32 +0,0 @@ -// Copyright (c) 2007-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: -// - -/** - @file - @test - @internalComponent - Internal Symbian test code -*/ - -#include - -UID2 KUidAppRegistrationResourceFile -UID3 0x20010332 - -RESOURCE APP_REGISTRATION_INFO - { - // filename of application binary (minus extension) - app_file="ssmtestappsucessfulafterretry"; - } - diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatemgr/test/tipcfuzz/group/tipcfuzz.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/systemstatemgr/test/tipcfuzz/group/tipcfuzz.pkg Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,28 @@ +; +; Copyright (c) 2010 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: +; + + +;Languages +&EN + + +;Localised Vendor name +%{"SsmIpcFuzzTests EN"} + +; Vendor name +: "SsmIpcFuzzTests" + +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tipcfuzz\scripts\tipcfuzz.script"-"c:\devicesrv\ssmatest\tipcfuzz.script" diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatemgr/test/tss/group/ssmatest_tss.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/systemstatemgr/test/tss/group/ssmatest_tss.pkg Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,38 @@ +; +; Copyright (c) 2010 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: +; + + +;Languages +&EN + + +;Localised Vendor name +%{"SsmTssTests EN"} + +; Vendor name +: "SsmTssTests" + +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tss\scripts\ssmatest_tss_appstart.script"-"c:\devicesrv\ssmatest\ssmatest_tss_appstart.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tss\scripts\ssmatest_tss_appstartapparcinit.script"-"c:\devicesrv\ssmatest\ssmatest_tss_appstartapparcinit.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tss\scripts\ssmatest_tss_apptimeout.script"-"c:\devicesrv\ssmatest\ssmatest_tss_apptimeout.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tss\scripts\ssmatest_tss_procstart.script"-"c:\devicesrv\ssmatest\ssmatest_tss_procstart.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tss\scripts\ssmatest_tss_procstartmon.script"-"c:\devicesrv\ssmatest\ssmatest_tss_procstartmon.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tss\scripts\ssmatest_tss_errors.script"-"c:\devicesrv\ssmatest\ssmatest_tss_errors.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tss\scripts\ssmatest_tss_appstartrverror.script"-"c:\devicesrv\ssmatest\ssmatest_tss_appstartrverror.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tss\scripts\ssmatest_tss_startandcancel.script"-"c:\devicesrv\ssmatest\ssmatest_tss_startandcancel.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tss\scripts\ssmatest_tss_appstartmultiple.script"-"c:\devicesrv\ssmatest\ssmatest_tss_appstartmultiple.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tss\scripts\ssmatest_tss_procstartwithfandf.script"-"c:\devicesrv\ssmatest\ssmatest_tss_procstartwithfandf.script" + diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatemgr/test/tss/src/tss_apptimeout.cpp --- a/sysstatemgmt/systemstatemgr/test/tss/src/tss_apptimeout.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatemgr/test/tss/src/tss_apptimeout.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -26,7 +26,6 @@ #include "tss_apptimeout.h" #include "ssmtestapps.h" -#include "ssmtestappsucessfulafterretry.h" #include "ssmtestappslow.h" const TInt KWaitTime = 300; diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatemgr/test/tss/src/tss_procstartwithfandf.cpp --- a/sysstatemgmt/systemstatemgr/test/tss/src/tss_procstartwithfandf.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatemgr/test/tss/src/tss_procstartwithfandf.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -24,8 +24,8 @@ #include "tss_procstartwithfandf.h" -#include "ssmtestappsucessfulafterretry.h" #include "ssmtestappslow.h" +#include "ssmtestapps.h" const TInt KProcStartStopperTimeout = 5000000; const TInt KWaitTimeForTestAppForFAndF = 500; // 500ms is the delay given for the KTestAppForFAndF test app for each retry. diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatemgr/test/tssm/group/ssmatest_tssm.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/systemstatemgr/test/tssm/group/ssmatest_tssm.pkg Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,50 @@ +; +; Copyright (c) 2010 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: +; + + +;Languages +&EN + + +;Localised Vendor name +%{"SsmTSsmTests EN"} + +; Vendor name +: "SsmTSsmTests" + +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tssm\scripts\ssmatest_ssm_swptransitionengine.script"-"c:\devicesrv\ssmatest\ssmatest_ssm_swptransitionengine.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tssm\scripts\ssmatest_ssm_platsec.script"-"c:\devicesrv\ssmatest\ssmatest_ssm_platsec.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tssm\scripts\ssmatest_ssm_paniccle.script"-"c:\devicesrv\ssmatest\ssmatest_ssm_paniccle.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tssm\scripts\ssmatest_ssm_server.script"-"c:\devicesrv\ssmatest\ssmatest_ssm_server.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tssm\scripts\ssmatest_ssm_statefurthertransition.script"-"c:\devicesrv\ssmatest\ssmatest_ssm_statefurthertransition.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tssm\scripts\ssmatest_ssm_conditionalcommands.script"-"c:\devicesrv\ssmatest\ssmatest_ssm_conditionalcommands.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tssm\scripts\ssmatest_ssm_ssmcledeadlock.script"-"c:\devicesrv\ssmatest\ssmatest_ssm_ssmcledeadlock.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tssm\scripts\ssmatest_ssm_repeatedpublishstate.script"-"c:\devicesrv\ssmatest\ssmatest_ssm_repeatedpublishstate.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tssm\scripts\ssmatest_ssm_statepolicyresolver.script"-"c:\devicesrv\ssmatest\ssmatest_ssm_statepolicyresolver.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tssm\scripts\ssmatest_ssm_statetransitionengine.script"-"c:\devicesrv\ssmatest\ssmatest_ssm_statetransitionengine.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tssm\scripts\ssmatest_ssm_swpcommonplugin.script"-"c:\devicesrv\ssmatest\ssmatest_ssm_swpcommonplugin.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tssm\scripts\ssmatest_ssm_swphandlecleret.script"-"c:\devicesrv\ssmatest\ssmatest_ssm_swphandlecleret.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tssm\scripts\ssmatest_ssm_swpdependencies.script"-"c:\devicesrv\ssmatest\ssmatest_ssm_swpdependencies.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tssm\scripts\ssmatest_ssm_swppolicymap.script"-"c:\devicesrv\ssmatest\ssmatest_ssm_swppolicymap.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tssm\scripts\ssmatest_ssm_swppolicyresolver.script"-"c:\devicesrv\ssmatest\ssmatest_ssm_swppolicyresolver.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tssm\scripts\ssmatest_ssm_swptransitionscheduler.script"-"c:\devicesrv\ssmatest\ssmatest_ssm_swptransitionscheduler.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tssm\scripts\ssmatest_ssm_swprequesthandler.script"-"c:\devicesrv\ssmatest\ssmatest_ssm_swprequesthandler.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tssm\scripts\ssmatest_ssm_validstatelist.script"-"c:\devicesrv\ssmatest\ssmatest_ssm_validstatelist.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tssm\scripts\ssmatest_ssm_validswplist.script"-"c:\devicesrv\ssmatest\ssmatest_ssm_validswplist.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tssm\scripts\ssmatest_ssm_notifypropertychange.script"-"c:\devicesrv\ssmatest\ssmatest_ssm_notifypropertychange.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tssm\scripts\ssmatest_ssm_rswppolicysess.script"-"c:\devicesrv\ssmatest\ssmatest_ssm_rswppolicysess.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tssm\scripts\ssmatest_ssm_cmdexecution_oom.script"-"c:\devicesrv\ssmatest\ssmatest_ssm_cmdexecution_oom.script" + diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatemgr/test/tssm/src/tssm_step_swptransitionengine.cpp --- a/sysstatemgmt/systemstatemgr/test/tssm/src/tssm_step_swptransitionengine.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatemgr/test/tssm/src/tssm_step_swptransitionengine.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -281,7 +281,9 @@ CleanupStack::PushL(cleSession); // Define and set the rproperty - TEST(KErrNone == iProperty.Define(RProcess().SecureId(), KSwpTestKey1, RProperty::EInt)); + TInt err = (iProperty.Define(RProcess().SecureId(), KSwpTestKey1, RProperty::EInt)); + INFO_PRINTF2(_L("doTestRequestSimpleL :: Define KSwpTestKey1 returns : %d "), err); + TEST ((KErrNone == err) ||(KErrAlreadyExists == err)); TEST(KErrNone == iProperty.Set(RProcess().SecureId(), KSwpTestKey1, 0)); TInt value; diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatemgr/test/tssm/src/tssm_step_validswplist.cpp --- a/sysstatemgmt/systemstatemgr/test/tssm/src/tssm_step_validswplist.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatemgr/test/tssm/src/tssm_step_validswplist.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2008-2010 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" @@ -19,6 +19,7 @@ @internalComponent - Internal Symbian test code */ +#include #include "ssmserverpanic.h" #include "ssmswppolicyframe.h" #include "ssmswppolicyresolver.h" @@ -33,6 +34,8 @@ const TInt KTestInvalidPanicCategory = -988; +// property uids should be real uids (use these temporarily for test purposes) +const TUint key={0x01}; _LIT(KSsmSwpPolicyServerName, "TestSsmSwpPolicyServer"); //---------------------------------------------------------------------------------------------------------------- @@ -65,7 +68,7 @@ User::SetJustInTime(EFalse); thread.Resume(); User::WaitForRequest(status); - + // always expecting a state transition engine panic TExitCategoryName category = thread.ExitCategory(); if (category.Compare(KPanicSysStateMgr) != 0) @@ -101,9 +104,6 @@ CleanupStack::PushL(sched); CActiveScheduler::Install(sched); - // property uids should be real uids (use these temporarily for test purposes) - const TUint key={0x01}; - // Create a swp policy resolver and register our property CSsmSwpPolicyResolver* resolver = CSsmSwpPolicyResolver::NewL(); CleanupStack::PushL(resolver); @@ -129,6 +129,7 @@ //Request transition according to the reason action, which will define the invalid list const TSsmSwp swp(key, aSsmValidSwpListTest->Function()); + handler->SubmitRequestL(swp); sched->Start(); @@ -200,10 +201,12 @@ __UHEAP_MARK; + TInt err = RProperty::Define(RProcess().SecureId(), key, RProperty::EInt); + TEST(err == KErrNone || err == KErrAlreadyExists); INFO_PRINTF1(_L("Checking cmd list without a Publish System Swp command")); TInt exitReason(0); SetFunction(ESwpCmdWithoutPublishSwp); - TRAPD(err, exitReason = StartSwpInvalidListInThreadL(this)); + TRAP(err, exitReason = StartSwpInvalidListInThreadL(this)); TEST(err == KErrNone); INFO_PRINTF2(_L(" -- StartSwpInvalidListInThreadL method completed with '%d'."), err); TEST(exitReason == ESwpTransitionEngineError16); @@ -243,12 +246,13 @@ TEST(err == KErrNone); INFO_PRINTF2(_L(" -- StartSwpInvalidListInThreadL method completed with '%d'."), err); const TInt threadExitReason = iThread.ExitReason(); + TBuf<16> threadExitCategory = iThread.ExitCategory(); // This is the exit reason for the ssmswppolicyserver TEST(threadExitReason == KSsmTestAppRvError); // this is the exit reason for the engine. TEST(exitReason == ESwpTransitionEngineError20); iThread.Close(); - INFO_PRINTF3(_L(" -- received panic '%d', expected was '%d'."), threadExitReason, KSsmTestAppRvError); + INFO_PRINTF4(_L(" -- received panic '%d', category '%S', expected was '%d'."), threadExitReason, &threadExitCategory, KSsmTestAppRvError); INFO_PRINTF1(_L("Checking cmd list with too many Multiple Wait command and and no deferred commands - Validation should be OK - Panic originates in HandleCleReturnValue returning an error")); exitReason=0; @@ -267,7 +271,9 @@ INFO_PRINTF2(_L(" -- StartSwpInvalidListInThreadL method completed with '%d'."), err); TEST(exitReason == ESwpTransitionEngineError20); INFO_PRINTF3(_L(" -- received panic '%d', expected was '%d'."), exitReason, ESwpTransitionEngineError20); - + + err = RProperty::Delete(RProcess().SecureId(), key); + TEST(err == KErrNone); __UHEAP_MARKEND; // this test raises panics due to negative testing - close them to clear the screen. diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatemgr/test/tsus/group/ssmatest_tsus.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/systemstatemgr/test/tsus/group/ssmatest_tsus.pkg Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,38 @@ +; +; Copyright (c) 2010 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: +; + + +;Languages +&EN + + +;Localised Vendor name +%{"SsmTSusTests EN"} + +; Vendor name +: "SsmTSusTests" + +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tsus\scripts\ssmatest_sus_adaptationpluginloader.script"-"c:\devicesrv\ssmatest\ssmatest_sus_adaptationpluginloader.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tsus\scripts\ssmatest_sus_adaptionserver.script"-"c:\devicesrv\ssmatest\ssmatest_sus_adaptionserver.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tsus\scripts\ssmatest_sus_supinfo.script"-"c:\devicesrv\ssmatest\ssmatest_sus_supinfo.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tsus\scripts\ssmatest_sus_suploader.script"-"c:\devicesrv\ssmatest\ssmatest_sus_suploader.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tsus\scripts\ssmatest_sus_platsec.script"-"c:\devicesrv\ssmatest\ssmatest_sus_platsec.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tsus\scripts\ssmatest_sus_platsec2.script"-"c:\devicesrv\ssmatest\ssmatest_sus_platsec2.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tsus\scripts\ssmatest_sus_utilserver.script"-"c:\devicesrv\ssmatest\ssmatest_sus_utilserver.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tsus\scripts\ssmatest_sus_loadplugin.script"-"c:\devicesrv\ssmatest\ssmatest_sus_loadplugin.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatemgr\test\tsus\scripts\ssmatest_sus_adptpluginloaderoom.script"-"c:\devicesrv\ssmatest\ssmatest_sus_adptpluginloaderoom.script" + + diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstateplugins/adptplugin/group/stateadaptationref.mmp --- a/sysstatemgmt/systemstateplugins/adptplugin/group/stateadaptationref.mmp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstateplugins/adptplugin/group/stateadaptationref.mmp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -36,5 +36,6 @@ deffile stateadaptationref.def library euser.lib +library ssmcmn.lib SMPSAFE diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstateplugins/adptplugin/inc/emergencycallrfadaptationref.h --- a/sysstatemgmt/systemstateplugins/adptplugin/inc/emergencycallrfadaptationref.h Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstateplugins/adptplugin/inc/emergencycallrfadaptationref.h Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -37,10 +37,17 @@ void ActivateRfForEmergencyCall(TRequestStatus& aStatus); void DeactivateRfForEmergencyCall(TRequestStatus& aStatus); void Cancel(); - + private: CEmergencyCallRfAdaptationRef(); ~CEmergencyCallRfAdaptationRef(); + void ConstructL(); + //Helper function to check for P&S Key + TBool IsTestPsKeyDefined(); + +private: + MEmergencyCallRfAdaptation* iSaaEmergencyCallRfAdaptationDll; + RLibrary iSaaEmergencyCallRfAdaptationLib; }; #endif // __EMERGENCYCALLRFADAPTATION_H__ diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstateplugins/adptplugin/inc/miscadaptationref.h --- a/sysstatemgmt/systemstateplugins/adptplugin/inc/miscadaptationref.h Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstateplugins/adptplugin/inc/miscadaptationref.h Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -59,16 +59,20 @@ void GetSimLanguagesL(CBufBase* aBuf, TInt aCount); void GetHiddenReset(TDes8& aHiddenResetPckg, TRequestStatus& aStatus); void Cancel(); - + private: CMiscAdaptationRef(); void ConstructL(); ~CMiscAdaptationRef(); + //Helper function to check for P&S Key + TBool IsTestPsKeyDefined(); private: TInt iTestCaseNum; RFs iFs; RFileReadStream iFile; + MMiscAdaptation* iSaaMiscAdaptationDll; + RLibrary iSaaMiscAdaptationLib; }; #endif // __MISCADAPTATION_H__ diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstateplugins/adptplugin/inc/rtcadaptationref.h --- a/sysstatemgmt/systemstateplugins/adptplugin/inc/rtcadaptationref.h Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstateplugins/adptplugin/inc/rtcadaptationref.h Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -37,6 +37,13 @@ private: CRtcAdaptationRef(); + void ConstructL(); + //Helper function to check for P&S Key + TBool IsTestPsKeyDefined(); + +private: + MRtcAdaptation* iSaaRtcAdaptationDll; + RLibrary iSaaRtcAdaptationLib; }; #endif // __RTCADAPTATION_H__ diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstateplugins/adptplugin/inc/simadaptationref.h --- a/sysstatemgmt/systemstateplugins/adptplugin/inc/simadaptationref.h Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstateplugins/adptplugin/inc/simadaptationref.h Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -27,8 +27,7 @@ On a device when NotifySimEvent is called, Sim Adaptation Plug-in would request for notification from the Cooperating System for 'aEvent'. - On HRP/Techview,the reference implementation has to complete the notification request with KErrNotSupported - since there is no Cooperating System on HRP/Techview. + The reference implementation has to complete the notification request with KErrNotSupported. But this implementation will cause problems in the following scenario. @@ -45,7 +44,7 @@ In this context if NotifySimEvent just completes the message immediately this results in a infinite loop and starves other active objects with same priority. - This makes testing of Adaptation servers notification functionality impossible on HRP/Techview. + This makes testing of Adaptation servers notification functionality impossible on PlatSim/device. *********Solution********* @@ -97,8 +96,13 @@ private: CSimAdaptationRef(); void ConstructL(); + //Helper function to check for P&S Key + TBool IsTestPsKeyDefined(); + private: CSimRefAdaptationTimer* iTimer; + MSimAdaptation* iSaaSimAdaptationDll; + RLibrary iSaaSimAdaptationLib; }; diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstateplugins/adptplugin/inc/stateadaptationref.h --- a/sysstatemgmt/systemstateplugins/adptplugin/inc/stateadaptationref.h Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstateplugins/adptplugin/inc/stateadaptationref.h Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -27,8 +27,7 @@ On a device when NotifyCoopSysEvent is called, State Adaptation Plug-in would request for notification from the Cooperating System for 'aEvent'. - On HRP/Techview,the reference implementation has to complete the notification request with KErrNotSupported - since there is no Cooperating System on HRP/Techview. + The reference implementation has to complete the notification request with KErrNotSupported. But this implementation will cause problems in the following scenario. @@ -45,7 +44,7 @@ In this context if NotifyCoopSysEvent just completes the message immediately this results in a infinite loop and starves other active objects with same priority. - This makes testing of Adaptation servers notification functionality impossible on HRP/Techview. + This makes testing of Adaptation servers notification functionality impossible on PlatSim/device. *********Solution********* @@ -97,13 +96,17 @@ void NotifyCoopSysEvent(TDes8& aEvent, TRequestStatus& aStatus); void NotifyCancel(); - + private: CStateAdaptationRef(); void ConstructL(); + //Helper function to check for P&S Key + TBool IsTestPsKeyDefined(); private: - CStateRefAdaptationTimer* iTimer; + CStateRefAdaptationTimer* iTimer; + MStateAdaptation* iSaaStateAdaptationDll; + RLibrary iSaaStateAdaptationLib; }; diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstateplugins/adptplugin/src/emergencycallrfadaptationref.cpp --- a/sysstatemgmt/systemstateplugins/adptplugin/src/emergencycallrfadaptationref.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstateplugins/adptplugin/src/emergencycallrfadaptationref.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -10,11 +10,21 @@ // // Contributors: // -// Description: +// Description: This adaptation plugin implementation is for test/reference purposes. +// The loading of this plugin is controlled through test macro defined in the iby file "ssmcompatibility.iby". +// If the macro "TEST_SSM_MACRO" is not defined, original plugins are loaded and this plugin is not loaded. +// If the test P & S key is set in the test code, the calls are routed to the reference or dummy implementations. +// Else the actual plugins are loaded and the calls are routed to the actual implementations. +// The test P & S key which it looks for is KEmergencyCallRfAdaptationPluginPropertyKey(0x2000E657) // +#include "ssmdebug.h" +#include #include "emergencycallrfadaptationref.h" +const TUint32 KEmergencyCallRfAdaptationPluginPropertyKey = 0x2000E657; +const TUid KPropertyCategory={0x2000D75B}; + /** Function to create new Emergency Call RF Adaptation Plugin. @@ -32,11 +42,25 @@ CEmergencyCallRfAdaptationRef* CEmergencyCallRfAdaptationRef::NewL() { CEmergencyCallRfAdaptationRef* self = new(ELeave) CEmergencyCallRfAdaptationRef; + + CleanupStack::PushL(self); + self->ConstructL(); + CleanupStack::Pop(); + return self; } +void CEmergencyCallRfAdaptationRef::ConstructL() + { + DEBUGPRINT1A("Loading Actual plugins"); + _LIT(KSaaEmergencyCallRfAdaptationDLL, "saaemergencycallrfadaptation.dll"); + User::LeaveIfError(iSaaEmergencyCallRfAdaptationLib.Load(KSaaEmergencyCallRfAdaptationDLL)); + iSaaEmergencyCallRfAdaptationDll = (MEmergencyCallRfAdaptation *)(iSaaEmergencyCallRfAdaptationLib.Lookup(1)()); + } + CEmergencyCallRfAdaptationRef::~CEmergencyCallRfAdaptationRef() { + iSaaEmergencyCallRfAdaptationLib.Close(); } CEmergencyCallRfAdaptationRef::CEmergencyCallRfAdaptationRef() @@ -48,36 +72,65 @@ */ void CEmergencyCallRfAdaptationRef::Release() { - delete this; + if(!IsTestPsKeyDefined()) + { + DEBUGPRINT1A("Release:: Calling Actual plugins functions (saaemergencycallrfadaptation.dll)"); + iSaaEmergencyCallRfAdaptationDll->Release(); + } + else + { + DEBUGPRINT1A("Release:: Calling Reference plugins functions (emergencycallrfadaptationref.dll)"); + } + delete this; } /** Request RF activation so that an emergency call can be made. - Reference implementation completes the request with KErrNone as support for RF activation is not available on Techview/H4 hrp. + Reference implementation completes the request with KErrNone. This is required for automated testing. + Actual plugins return expected values and this can be verified by manual testing @param aStatus to complete when the operation has finished @see TRequestStatus */ void CEmergencyCallRfAdaptationRef::ActivateRfForEmergencyCall(TRequestStatus& aStatus) { - aStatus = KRequestPending; - TRequestStatus* status = &aStatus; - User::RequestComplete(status, KErrNone); + if(!IsTestPsKeyDefined()) + { + DEBUGPRINT1A("ActivateRfForEmergencyCall:: Calling Actual plugins functions (saaemergencycallrfadaptation.dll)"); + iSaaEmergencyCallRfAdaptationDll->ActivateRfForEmergencyCall(aStatus); + } + else + { + DEBUGPRINT1A("ActivateRfForEmergencyCall:: Calling Reference plugins functions (emergencycallrfadaptationref.dll)"); + aStatus = KRequestPending; + TRequestStatus* status = &aStatus; + User::RequestComplete(status, KErrNone); + } } /** Request RF deactivation after an emergency call have been made. - Reference implementation completes the request with KErrNone as support for RF deactivation is not available on Techview/H4 hrp. - + Reference implementation completes the request with KErrNone. This is required for automated testing. + Actual plugins return expected values and this can be verified by manual testing + @param aStatus to complete when the operation has finished @see TRequestStatus */ void CEmergencyCallRfAdaptationRef::DeactivateRfForEmergencyCall(TRequestStatus& aStatus) { - aStatus = KRequestPending; - TRequestStatus* status = &aStatus; - User::RequestComplete(status, KErrNone); - } + if(!IsTestPsKeyDefined()) + { + DEBUGPRINT1A("DeactivateRfForEmergencyCall:: Calling Actual plugins functions (saaemergencycallrfadaptation.dll)"); + iSaaEmergencyCallRfAdaptationDll->DeactivateRfForEmergencyCall(aStatus); + } + else + { + DEBUGPRINT1A("DeactivateRfForEmergencyCall:: Calling Reference plugins functions (emergencycallrfadaptationref.dll)"); + aStatus = KRequestPending; + TRequestStatus* status = &aStatus; + User::RequestComplete(status, KErrNone); + } + } /** Cancel the outstanding request. Reference implementation completes the requests immediately so there is nothing to cancel. @@ -85,4 +138,26 @@ */ void CEmergencyCallRfAdaptationRef::Cancel() { + if(!IsTestPsKeyDefined()) + { + DEBUGPRINT1A("Cancel:: Calling Actual plugins functions (saaemergencycallrfadaptation.dll)"); + iSaaEmergencyCallRfAdaptationDll->Cancel(); + } } + +/** + Helper function to check for P&S Key +*/ +TBool CEmergencyCallRfAdaptationRef::IsTestPsKeyDefined() + { + TBool testPsKeyDefined = EFalse; + TInt result = RProperty::Get(KPropertyCategory, KEmergencyCallRfAdaptationPluginPropertyKey, testPsKeyDefined); + DEBUGPRINT3(_L("KEmergencyCallRfAdaptationPluginPropertyKey %d Error %d"), testPsKeyDefined, result); + if ((KErrNone != result) && (KErrNotFound != result)) + { + //Could not retrieve property value. Tests might fail + DEBUGPRINT1A("IsTestPsKeyDefined ERROR :: Could not retrieve property value)"); + } + return testPsKeyDefined; + } + diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstateplugins/adptplugin/src/miscadaptationref.cpp --- a/sysstatemgmt/systemstateplugins/adptplugin/src/miscadaptationref.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstateplugins/adptplugin/src/miscadaptationref.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -10,14 +10,23 @@ // // Contributors: // -// Description: +// Description: This adaptation plugin implementation is for test/reference purposes. +// The loading of this plugin is controlled through test macro defined in the iby file "ssmcompatibility.iby". +// If the macro "TEST_SSM_MACRO" is not defined, original plugins are loaded and this plugin is not loaded. +// If the test P & S key is set in the test code, the calls are routed to the reference or dummy implementations. +// Else the actual plugins are loaded and the calls are routed to the actual implementations. +// The test P & S key which it looks for is KMiscPluginPropertyKey(0x2000E658) // +#include "ssmdebug.h" #include "miscadaptationref.h" #include +#include _LIT(KTestCmdSecurityCheckTestFile, "c:\\cmdsecuritychecktest\\pinchecksecuritycaseno.txt"); +const TUint32 KMiscPluginPropertyKey = 0x2000E658; +const TUid KPropertyCategory={0x2000D75B}; // tcustomcmd_server SID = KSsmServerName SID (changed in tcustomcmd_server.mmp file) /** Function to create new Misc Adaptation Plugin. Used for a collection of activities. @@ -42,6 +51,7 @@ CMiscAdaptationRef::~CMiscAdaptationRef() { iFs.Close(); + iSaaMiscAdaptationLib.Close(); } CMiscAdaptationRef::CMiscAdaptationRef() @@ -50,6 +60,11 @@ void CMiscAdaptationRef::ConstructL() { + DEBUGPRINT1A("Loading Actual plugins"); + _LIT(KSaaMiscAdaptationDLL, "saamiscadaptation.dll"); + User::LeaveIfError(iSaaMiscAdaptationLib.Load(KSaaMiscAdaptationDLL)); + iSaaMiscAdaptationDll = (MMiscAdaptation *)(iSaaMiscAdaptationLib.Lookup(1)()); + iTestCaseNum = 1; User::LeaveIfError(iFs.Connect()); } @@ -59,29 +74,45 @@ */ void CMiscAdaptationRef::Release() { + if(!IsTestPsKeyDefined()) + { + DEBUGPRINT1A("Release :: Calling Actual plugins functions (saamiscadaptation.dll)"); + iSaaMiscAdaptationDll->Release(); + } delete this; } /** Get the start-up mode from the Cooperating System. - Reference implementation completes with KErrNone as a cooperating system does not exist on Techview/H4 hrp. + Reference implementation completes the request with KErrNone. This is required for automated testing. + Actual plugins return expected values and this can be verified by manual testing @param aModePckg should contain start-up of the Cooperating System on completion @param aStatus to complete when the operation has finished @see TRequestStatus */ -void CMiscAdaptationRef::GetGlobalStartupMode(TDes8& /*aModePckg*/, TRequestStatus& aStatus) +void CMiscAdaptationRef::GetGlobalStartupMode(TDes8& aModePckg, TRequestStatus& aStatus) { - aStatus = KRequestPending; - TRequestStatus* status = &aStatus; - User::RequestComplete(status, KErrNone); + if(!IsTestPsKeyDefined()) + { + DEBUGPRINT1A("GetGlobalStartupMode :: Calling Actual plugins functions (saamiscadaptation.dll)"); + iSaaMiscAdaptationDll->GetGlobalStartupMode(aModePckg,aStatus); + } + else + { + DEBUGPRINT1A("GetGlobalStartupMode :: Calling ref plugins functions (miscadaptationref.dll)"); + aStatus = KRequestPending; + TRequestStatus* status = &aStatus; + User::RequestComplete(status, KErrNone); + } } /** Prepare language codes stored in the SIM in preferred language lists. The next call should be GetSimLanguagesL() - Reference implementation completes with KErrNotSupported as SIM support is not available on Techview/H4 hrp. - + Reference implementation completes with KErrNotSupported. This is required for automated testing. + Actual plugins return expected values and this can be verified by manual testing + @param aPriority priority for which the language lists need to be prepared @param aSizePckg on return contains the size of the buffer, which a client should allocate and pass as one of the parameters (TInt aCount) to GetSimLanguagesL() @param aStatus to complete when the operation has finished @@ -90,34 +121,62 @@ @see TRequestStatus @see GetSimLanguagesL */ -void CMiscAdaptationRef::PrepareSimLanguages(TSsmLanguageListPriority /*aPriority*/, TDes8& /*aSizePckg*/, TRequestStatus& aStatus) +void CMiscAdaptationRef::PrepareSimLanguages(TSsmLanguageListPriority aPriority, TDes8& aSizePckg, TRequestStatus& aStatus) { - aStatus = KRequestPending; - TRequestStatus* status = &aStatus; - // No support for SIM on H4hrp/Techview. - User::RequestComplete(status, KErrNotSupported); + if(!IsTestPsKeyDefined()) + { + DEBUGPRINT1A("PrepareSimLanguages :: Calling Actual plugins functions (saamiscadaptation.dll)"); + iSaaMiscAdaptationDll->PrepareSimLanguages(aPriority,aSizePckg,aStatus); + } + else + { + DEBUGPRINT1A("PrepareSimLanguages :: Calling ref plugins functions (miscadaptationref.dll)"); + aStatus = KRequestPending; + TRequestStatus* status = &aStatus; + // No support for SIM on H4hrp/Techview. + User::RequestComplete(status, KErrNotSupported); + } } /** Get language codes stored in the SIM in preferred language lists. PrepareSimLanguages() call should precede this call. - Reference implementation completes with KErrNotSupported as SIM support is not available on Techview/H4 hrp. - + Reference implementation completes with KErrNotSupported. This is required for automated testing. + Actual plugins return expected values and this can be verified by manual testing + @param aBuf should contain the language lists on completion @param aCount to contain the count of the languages @see PrepareSimLanguages */ -void CMiscAdaptationRef::GetSimLanguagesL(CBufBase* /*aBuf*/, TInt /*aCount*/) +void CMiscAdaptationRef::GetSimLanguagesL(CBufBase* aBuf, TInt aCount) { - User::Leave(KErrNotSupported); + if(!IsTestPsKeyDefined()) + { + DEBUGPRINT1A("GetSimLanguagesL :: Calling Actual plugins functions (saamiscadaptation.dll)"); + iSaaMiscAdaptationDll->GetSimLanguagesL(aBuf,aCount); + } + else + { + DEBUGPRINT1A("GetSimLanguagesL :: Calling ref plugins functions (miscadaptationref.dll)"); + User::Leave(KErrNotSupported); + } } -void CMiscAdaptationRef::GetHiddenReset(TDes8& /*aHiddenResetPckg*/, TRequestStatus& aStatus) +void CMiscAdaptationRef::GetHiddenReset(TDes8& aHiddenResetPckg, TRequestStatus& aStatus) { - aStatus = KRequestPending; - TRequestStatus* status = &aStatus; - // No support for Reset in HRP/Techview. - User::RequestComplete(status, KErrNotSupported); + if(!IsTestPsKeyDefined()) + { + DEBUGPRINT1A("GetHiddenReset :: Calling Actual plugins functions (saamiscadaptation.dll)"); + iSaaMiscAdaptationDll->GetHiddenReset(aHiddenResetPckg,aStatus); + } + else + { + DEBUGPRINT1A("GetHiddenReset :: Calling ref plugins functions (miscadaptationref.dll)"); + aStatus = KRequestPending; + TRequestStatus* status = &aStatus; + // No support for Reset in HRP/Techview. + User::RequestComplete(status, KErrNotSupported); + } } @@ -127,11 +186,18 @@ */ void CMiscAdaptationRef::Cancel() { + if(!IsTestPsKeyDefined()) + { + DEBUGPRINT1A("Cancel :: Calling Actual plugins functions (saamiscadaptation.dll)"); + iSaaMiscAdaptationDll->Cancel(); + } } /** Request the next security state. - Techview/H4hrp does not support SIM operations so a reference implementation would always return 'KErrNotSupported'. + Reference implementation would always return 'KErrNotSupported'. This is required for automated testing. + Actual plugins return expected values and this can be verified by manual testing + The function is modified to suit testing needs for PinCheck Security Command. A real implementation is intended to differ a lot based on the runtime changes/events on the device. @@ -155,251 +221,276 @@ */ void CMiscAdaptationRef::SecurityStateChange(TInt aState, TDes8& aResponsePckg, TRequestStatus& aStatus) { - aStatus = KRequestPending; - TRequestStatus* status = &aStatus; - StartupAdaptation::TSecurityStateInfo info = StartupAdaptation::EYes; - - //Read Test case number from the file - TInt err = iFile.Open(iFs, KTestCmdSecurityCheckTestFile, EFileRead); - if (err == KErrNone) - { - TRAP(err,iTestCaseNum = iFile.ReadInt32L()); - iFile.Close(); - if(err) - { - RDebug::Printf("Error while reading tst case number from the file pinchecksecuritycaseno.txt"); - User::RequestComplete(status, err); - return; - } - } - switch(iTestCaseNum) - { - case EPINCHECK01: - switch(aState) - { - case StartupAdaptation::ESIMPresent: - info = StartupAdaptation::EYes; - break; - case StartupAdaptation::ESIMInvalid: - info = StartupAdaptation::ENo; + if(!IsTestPsKeyDefined()) + { + DEBUGPRINT1A("SecurityStateChange:: Calling Actual plugins functions (saamiscadaptation.dll)"); + iSaaMiscAdaptationDll->SecurityStateChange(aState,aResponsePckg,aStatus); + } + else + { + DEBUGPRINT1A("SecurityStateChange:: Calling ref plugins functions (miscadaptationref.dll)"); + aStatus = KRequestPending; + TRequestStatus* status = &aStatus; + StartupAdaptation::TSecurityStateInfo info = StartupAdaptation::EYes; + + //Read Test case number from the file + TInt err = iFile.Open(iFs, KTestCmdSecurityCheckTestFile, EFileRead); + if (err == KErrNone) + { + TRAP(err,iTestCaseNum = iFile.ReadInt32L()); + iFile.Close(); + if(err) + { + RDebug::Printf("Error while reading tst case number from the file pinchecksecuritycaseno.txt"); + User::RequestComplete(status, err); + return; + } + } + switch(iTestCaseNum) + { + case EPINCHECK01: + switch(aState) + { + case StartupAdaptation::ESIMPresent: + info = StartupAdaptation::EYes; + break; + case StartupAdaptation::ESIMInvalid: + info = StartupAdaptation::ENo; + break; + case StartupAdaptation::ESIMRejected: + info = StartupAdaptation::ENo; + break; + case StartupAdaptation::ESIMBlocked: + info = StartupAdaptation::ENo; + break; + case StartupAdaptation::EPINRequired: + info = StartupAdaptation::EPIN1Required; + break; + case StartupAdaptation::ESIMLock: + info = StartupAdaptation::ESimLockOk; + break; + case StartupAdaptation::ESecurityCheckOK: + info = StartupAdaptation::EYes; + break; + case StartupAdaptation::ESecurityCheckFailed: + info = StartupAdaptation::EYes; + break; + default: + break; + } break; - case StartupAdaptation::ESIMRejected: - info = StartupAdaptation::ENo; - break; - case StartupAdaptation::ESIMBlocked: - info = StartupAdaptation::ENo; - break; - case StartupAdaptation::EPINRequired: - info = StartupAdaptation::EPIN1Required; - break; - case StartupAdaptation::ESIMLock: - info = StartupAdaptation::ESimLockOk; - break; - case StartupAdaptation::ESecurityCheckOK: - info = StartupAdaptation::EYes; - break; - case StartupAdaptation::ESecurityCheckFailed: - info = StartupAdaptation::EYes; - break; - default: - break; - } - break; - case EPINCHECK02: - switch(aState) - { - case StartupAdaptation::ESIMPresent: - info = StartupAdaptation::EYes; - break; - case StartupAdaptation::ESIMInvalid: - info = StartupAdaptation::ENo; + case EPINCHECK02: + switch(aState) + { + case StartupAdaptation::ESIMPresent: + info = StartupAdaptation::EYes; + break; + case StartupAdaptation::ESIMInvalid: + info = StartupAdaptation::ENo; + break; + case StartupAdaptation::ESIMRejected: + info = StartupAdaptation::EYes; + break; + case StartupAdaptation::ESecurityCheckFailed: + info = StartupAdaptation::EYes; + break; + default: + break; + } break; - case StartupAdaptation::ESIMRejected: - info = StartupAdaptation::EYes; - break; - case StartupAdaptation::ESecurityCheckFailed: - info = StartupAdaptation::EYes; - break; - default: - break; - } - break; - case EPINCHECK03: - switch(aState) - { - case StartupAdaptation::ESIMPresent: - info = StartupAdaptation::EYes; - break; - case StartupAdaptation::ESIMInvalid: - info = StartupAdaptation::ENo; - break; - case StartupAdaptation::ESIMRejected: - info = StartupAdaptation::ENo; - break; - case StartupAdaptation::ESIMBlocked: - info = StartupAdaptation::EPUK1Required; - break; - case StartupAdaptation::ESIMLock: - info = StartupAdaptation::ESimLockOk; - break; - case StartupAdaptation::ESecurityCheckOK: - info = StartupAdaptation::EYes; - break; - case StartupAdaptation::ESecurityCheckFailed: - info = StartupAdaptation::EYes; - break; - default: - break; - } - break; - case EPINCHECK04: - switch(aState) - { - case StartupAdaptation::ESIMPresent: - info = StartupAdaptation::EYes; - break; - case StartupAdaptation::ESIMInvalid: - info = StartupAdaptation::ENo; + case EPINCHECK03: + switch(aState) + { + case StartupAdaptation::ESIMPresent: + info = StartupAdaptation::EYes; + break; + case StartupAdaptation::ESIMInvalid: + info = StartupAdaptation::ENo; + break; + case StartupAdaptation::ESIMRejected: + info = StartupAdaptation::ENo; + break; + case StartupAdaptation::ESIMBlocked: + info = StartupAdaptation::EPUK1Required; + break; + case StartupAdaptation::ESIMLock: + info = StartupAdaptation::ESimLockOk; + break; + case StartupAdaptation::ESecurityCheckOK: + info = StartupAdaptation::EYes; + break; + case StartupAdaptation::ESecurityCheckFailed: + info = StartupAdaptation::EYes; + break; + default: + break; + } break; - case StartupAdaptation::ESIMRejected: - info = StartupAdaptation::ENo; - break; - case StartupAdaptation::ESIMBlocked: - info = StartupAdaptation::EPUK1Required; - break; - case StartupAdaptation::ESIMLock: - info = StartupAdaptation::ESimLockOk; - break; - case StartupAdaptation::ESecurityCheckOK: - info = StartupAdaptation::EYes; - break; - case StartupAdaptation::ESecurityCheckFailed: - info = StartupAdaptation::EYes; - break; - default: - break; - } - break; - case EPINCHECK05: - switch(aState) - { - case StartupAdaptation::ESIMPresent: - info = StartupAdaptation::EYes; - break; - case StartupAdaptation::ESIMInvalid: - info = StartupAdaptation::ENo; + case EPINCHECK04: + switch(aState) + { + case StartupAdaptation::ESIMPresent: + info = StartupAdaptation::EYes; + break; + case StartupAdaptation::ESIMInvalid: + info = StartupAdaptation::ENo; + break; + case StartupAdaptation::ESIMRejected: + info = StartupAdaptation::ENo; + break; + case StartupAdaptation::ESIMBlocked: + info = StartupAdaptation::EPUK1Required; + break; + case StartupAdaptation::ESIMLock: + info = StartupAdaptation::ESimLockOk; + break; + case StartupAdaptation::ESecurityCheckOK: + info = StartupAdaptation::EYes; + break; + case StartupAdaptation::ESecurityCheckFailed: + info = StartupAdaptation::EYes; + break; + default: + break; + } break; - case StartupAdaptation::ESIMRejected: - info = StartupAdaptation::ENo; - break; - case StartupAdaptation::ESIMBlocked: - info = StartupAdaptation::EUPUKRequired; - break; - case StartupAdaptation::ESIMLock: - info = StartupAdaptation::ESimLockRestrictionOn; - break; - case StartupAdaptation::ESecurityCheckOK: - info = StartupAdaptation::EYes; - break; - case StartupAdaptation::ESecurityCheckFailed: - info = StartupAdaptation::EYes; - break; - default: - break; - } - break; - case EPINCHECK06: - switch(aState) - { - case StartupAdaptation::ESIMPresent: - info = StartupAdaptation::EYes; - break; - case StartupAdaptation::ESIMInvalid: - info = StartupAdaptation::ENo; + case EPINCHECK05: + switch(aState) + { + case StartupAdaptation::ESIMPresent: + info = StartupAdaptation::EYes; + break; + case StartupAdaptation::ESIMInvalid: + info = StartupAdaptation::ENo; + break; + case StartupAdaptation::ESIMRejected: + info = StartupAdaptation::ENo; + break; + case StartupAdaptation::ESIMBlocked: + info = StartupAdaptation::EUPUKRequired; + break; + case StartupAdaptation::ESIMLock: + info = StartupAdaptation::ESimLockRestrictionOn; + break; + case StartupAdaptation::ESecurityCheckOK: + info = StartupAdaptation::EYes; + break; + case StartupAdaptation::ESecurityCheckFailed: + info = StartupAdaptation::EYes; + break; + default: + break; + } break; - case StartupAdaptation::ESIMRejected: - info = StartupAdaptation::ENo; - break; - case StartupAdaptation::ESIMBlocked: - info = StartupAdaptation::EUPUKRequired; - break; - case StartupAdaptation::ESIMLock: - info = StartupAdaptation::ESimLockRestrictionPending; - break; - case StartupAdaptation::ESecurityCheckOK: - info = StartupAdaptation::EYes; - break; - case StartupAdaptation::ESecurityCheckFailed: - info = StartupAdaptation::EYes; - break; - default: - break; - } - break; - case EPINCHECK07: - switch(aState) - { - case StartupAdaptation::ESIMPresent: - info = StartupAdaptation::EYes; - break; - case StartupAdaptation::ESIMInvalid: - info = StartupAdaptation::ENo; + case EPINCHECK06: + switch(aState) + { + case StartupAdaptation::ESIMPresent: + info = StartupAdaptation::EYes; + break; + case StartupAdaptation::ESIMInvalid: + info = StartupAdaptation::ENo; + break; + case StartupAdaptation::ESIMRejected: + info = StartupAdaptation::ENo; + break; + case StartupAdaptation::ESIMBlocked: + info = StartupAdaptation::EUPUKRequired; + break; + case StartupAdaptation::ESIMLock: + info = StartupAdaptation::ESimLockRestrictionPending; + break; + case StartupAdaptation::ESecurityCheckOK: + info = StartupAdaptation::EYes; + break; + case StartupAdaptation::ESecurityCheckFailed: + info = StartupAdaptation::EYes; + break; + default: + break; + } break; - case StartupAdaptation::ESIMRejected: - info = StartupAdaptation::ENo; - break; - case StartupAdaptation::ESIMBlocked: - info = StartupAdaptation::EUPUKRequired; - break; - case StartupAdaptation::ESIMLock: - info = StartupAdaptation::ESimLockRestricted; - break; - case StartupAdaptation::ESecurityCheckOK: - info = StartupAdaptation::EYes; - break; - case StartupAdaptation::ESecurityCheckFailed: - info = StartupAdaptation::EYes; - break; - default: - break; - } - break; - case EPINCHECK08: - switch(aState) - { - case StartupAdaptation::ESIMPresent: - info = StartupAdaptation::EYes; - break; - case StartupAdaptation::ESIMInvalid: - info = StartupAdaptation::ENo; - break; - case StartupAdaptation::ESIMRejected: - info = StartupAdaptation::ENo; - break; - case StartupAdaptation::ESIMBlocked: - info = StartupAdaptation::ENo; - break; - case StartupAdaptation::EPINRequired: - info = StartupAdaptation::EPIN1Required; - break; - case StartupAdaptation::ESIMLock: - info = StartupAdaptation::ESimLockOk; - break; - case StartupAdaptation::ESecurityCheckOK: - info = StartupAdaptation::EYes; - break; - case StartupAdaptation::ESecurityCheckFailed: - info = StartupAdaptation::EYes; - break; - default: - break; - } - break; - default: - break; - } - TPckgBuf securityStateInfoResult(info); - aResponsePckg = securityStateInfoResult; - User::RequestComplete(status, KErrNone); + case EPINCHECK07: + switch(aState) + { + case StartupAdaptation::ESIMPresent: + info = StartupAdaptation::EYes; + break; + case StartupAdaptation::ESIMInvalid: + info = StartupAdaptation::ENo; + break; + case StartupAdaptation::ESIMRejected: + info = StartupAdaptation::ENo; + break; + case StartupAdaptation::ESIMBlocked: + info = StartupAdaptation::EUPUKRequired; + break; + case StartupAdaptation::ESIMLock: + info = StartupAdaptation::ESimLockRestricted; + break; + case StartupAdaptation::ESecurityCheckOK: + info = StartupAdaptation::EYes; + break; + case StartupAdaptation::ESecurityCheckFailed: + info = StartupAdaptation::EYes; + break; + default: + break; + } + break; + case EPINCHECK08: + switch(aState) + { + case StartupAdaptation::ESIMPresent: + info = StartupAdaptation::EYes; + break; + case StartupAdaptation::ESIMInvalid: + info = StartupAdaptation::ENo; + break; + case StartupAdaptation::ESIMRejected: + info = StartupAdaptation::ENo; + break; + case StartupAdaptation::ESIMBlocked: + info = StartupAdaptation::ENo; + break; + case StartupAdaptation::EPINRequired: + info = StartupAdaptation::EPIN1Required; + break; + case StartupAdaptation::ESIMLock: + info = StartupAdaptation::ESimLockOk; + break; + case StartupAdaptation::ESecurityCheckOK: + info = StartupAdaptation::EYes; + break; + case StartupAdaptation::ESecurityCheckFailed: + info = StartupAdaptation::EYes; + break; + default: + break; + } + break; + default: + break; + } + TPckgBuf securityStateInfoResult(info); + aResponsePckg = securityStateInfoResult; + User::RequestComplete(status, KErrNone); + } } +/** + Helper function to check for P&S Key +*/ +TBool CMiscAdaptationRef::IsTestPsKeyDefined() + { + TBool testPsKeyDefined = EFalse; + TInt result = RProperty::Get(KPropertyCategory, KMiscPluginPropertyKey, testPsKeyDefined); + DEBUGPRINT3(_L("KMiscPluginPropertyKey %d Error %d"), testPsKeyDefined, result); + if ((KErrNone != result) && (KErrNotFound != result)) + { + //Could not retrieve property value. Tests might fail + DEBUGPRINT1A("IsTestPsKeyDefined ERROR :: Could not retrieve property value)"); + } + return testPsKeyDefined; + } + diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstateplugins/adptplugin/src/rtcadaptationref.cpp --- a/sysstatemgmt/systemstateplugins/adptplugin/src/rtcadaptationref.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstateplugins/adptplugin/src/rtcadaptationref.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -10,16 +10,26 @@ // // Contributors: // -// Description: +// Description: This adaptation plugin implementation is for test/reference purposes. +// The loading of this plugin is controlled through test macro defined in the iby file "ssmcompatibility.iby". +// If the macro "TEST_SSM_MACRO" is not defined, original plugins are loaded and this plugin is not loaded. +// If the test P & S key is set in the test code, the calls are routed to the reference or dummy implementations. +// Else the actual plugins are loaded and the calls are routed to the actual implementations. +// The test P & S key which it looks for is KRtcAdaptationPluginPropertyKey (0x2000D76A) // #include "rtcadaptationref.h" #include +#include "ssmdebug.h" const TUid KAlarmServerUID = {0x101f5027}; const TInt KTestRTCValueKey = 200; + +const TUint32 KRtcAdaptationPluginPropertyKey = 0x2000D76C; +const TUid KPropertyCategory={0x2000D75B}; + /** Function to create new Rtc Adaptation Plugin. @@ -34,11 +44,25 @@ CRtcAdaptationRef* CRtcAdaptationRef::NewL() { CRtcAdaptationRef* self = new(ELeave) CRtcAdaptationRef; + + CleanupStack::PushL(self); + self->ConstructL(); + CleanupStack::Pop(); + return self; } +void CRtcAdaptationRef::ConstructL() + { + DEBUGPRINT1A("Loading Actual plugins"); + _LIT(KSaaRtcAdaptationDLL, "saartcadaptation.dll"); + User::LeaveIfError(iSaaRtcAdaptationLib.Load(KSaaRtcAdaptationDLL)); + iSaaRtcAdaptationDll = (MRtcAdaptation *)(iSaaRtcAdaptationLib.Lookup(1)()); + } + CRtcAdaptationRef::~CRtcAdaptationRef() { + iSaaRtcAdaptationLib.Close(); } CRtcAdaptationRef::CRtcAdaptationRef() @@ -50,28 +74,44 @@ */ void CRtcAdaptationRef::Release() { - delete this; + if(!IsTestPsKeyDefined()) + { + DEBUGPRINT1A("Release:: Calling Actual plugins functions (saartcadaptation.dll)"); + iSaaRtcAdaptationDll->Release(); + } + delete this; } /** Check that the RTC is valid. - Reference implementation completes the request with KErrNotSupported as support for RTC is not available on Techview/H4 hrp. - + Reference implementation completes the request with KErrNotSupported. This is required for automated testing. + Actual plugins return expected values and this can be verified by manual testing + @param aValidityPckg on return contains the status of the validity of the RTC as a boolean value @param aStatus to complete when the operation has finished @see TRequestStatus */ -void CRtcAdaptationRef::ValidateRtc(TDes8& /*aValidityPckg*/, TRequestStatus& aStatus) +void CRtcAdaptationRef::ValidateRtc(TDes8& aValidityPckg, TRequestStatus& aStatus) { - aStatus = KRequestPending; - TRequestStatus* status = &aStatus; - User::RequestComplete(status, KErrNotSupported); + if(!IsTestPsKeyDefined()) + { + DEBUGPRINT1A("ValidateRtc:: Calling Actual plugins functions (saartcadaptation.dll)"); + iSaaRtcAdaptationDll->ValidateRtc(aValidityPckg, aStatus); + } + else + { + DEBUGPRINT1A("ValidateRtc:: Calling ref plugins functions (rtcadaptationref.dll)"); + aStatus = KRequestPending; + TRequestStatus* status = &aStatus; + User::RequestComplete(status, KErrNotSupported); + } } /** Set a device wake-up alarm time, in UTC (coordinated universal time), in the RTC. - Reference implementation completes the request with KErrNotSupported as support for RTC is not available on Techview/H4 hrp. + Reference implementation completes the request with KErrNotSupported. This is required for automated testing. + Actual plugins return expected values and this can be verified by manual testing For testing purposes it sets a pub sub property defined in test code. @param aAlarmTimePckg requested wake up time @@ -81,19 +121,29 @@ */ void CRtcAdaptationRef::SetWakeupAlarm(TDesC8& aAlarmTimePckg, TRequestStatus& aStatus) { - // Set this pub sub property (for testing purposes) - // The property is defined in the test code. In normal operation this will fail silently because the property has not been defined. - RProperty::Set(KAlarmServerUID, KTestRTCValueKey, aAlarmTimePckg); + if(!IsTestPsKeyDefined()) + { + DEBUGPRINT1A("SetWakeupAlarm:: Calling Actual plugins functions (saartcadaptation.dll)"); + iSaaRtcAdaptationDll->SetWakeupAlarm(aAlarmTimePckg, aStatus); + } + else + { + DEBUGPRINT1A("SetWakeupAlarm:: Calling ref plugins functions (rtcadaptationref.dll)"); + // Set this pub sub property (for testing purposes) + // The property is defined in the test code. In normal operation this will fail silently because the property has not been defined. + RProperty::Set(KAlarmServerUID, KTestRTCValueKey, aAlarmTimePckg); + aStatus = KRequestPending; + TRequestStatus* status = &aStatus; + // No support for RTC on HRP/Techview. + User::RequestComplete(status, KErrNotSupported); + } + } - aStatus = KRequestPending; - TRequestStatus* status = &aStatus; - // No support for RTC on HRP/Techview. - User::RequestComplete(status, KErrNotSupported); - } /** Delete the current device wake-up alarm time in the RTC. - Reference implementation completes the request with KErrNotSupported as support for RTC is not available on Techview/H4 hrp. + Reference implementation completes the request with KErrNotSupported. This is required for automated testing. + Actual plugins return expected values and this can be verified by manual testing For testing purposes it sets a pub sub property to a NULL value defined in test code. @param aStatus to complete when the operation has finished @@ -102,16 +152,24 @@ */ void CRtcAdaptationRef::UnsetWakeupAlarm(TRequestStatus& aStatus) { - // Set this pub sub property to a NULL value because we are unsetting the RTC (for testing purposes) - // The property is defined in the test code. In normal operation this will fail silently because the property has not been defined. - TTime nullTime(Time::NullTTime()); - TPckgC wakeupAlarmTimePckg(nullTime); - RProperty::Set(KAlarmServerUID, KTestRTCValueKey, wakeupAlarmTimePckg); - - aStatus = KRequestPending; - TRequestStatus* status = &aStatus; - // No support for RTC on HRP/Techview. - User::RequestComplete(status, KErrNotSupported); + if(!IsTestPsKeyDefined()) + { + DEBUGPRINT1A("UnsetWakeupAlarm:: Calling Actual plugins functions (saartcadaptation.dll)"); + iSaaRtcAdaptationDll->UnsetWakeupAlarm(aStatus); + } + else + { + DEBUGPRINT1A("UnsetWakeupAlarm:: Calling ref plugins functions (rtcadaptationref.dll)"); + // Set this pub sub property to a NULL value because we are unsetting the RTC (for testing purposes) + // The property is defined in the test code. In normal operation this will fail silently because the property has not been defined. + TTime nullTime(Time::NullTTime()); + TPckgC wakeupAlarmTimePckg(nullTime); + RProperty::Set(KAlarmServerUID, KTestRTCValueKey, wakeupAlarmTimePckg); + aStatus = KRequestPending; + TRequestStatus* status = &aStatus; + // No support for RTC on HRP/Techview. + User::RequestComplete(status, KErrNotSupported); + } } /** @@ -120,4 +178,25 @@ */ void CRtcAdaptationRef::Cancel() { + if(!IsTestPsKeyDefined()) + { + DEBUGPRINT1A("Cancel:: Calling Actual plugins functions (saartcadaptation.dll)"); + iSaaRtcAdaptationDll->Cancel(); + } } + +/** + Helper function to check for P&S Key +*/ +TBool CRtcAdaptationRef::IsTestPsKeyDefined() + { + TBool testPsKeyDefined = EFalse; + TInt result = RProperty::Get(KPropertyCategory, KRtcAdaptationPluginPropertyKey, testPsKeyDefined); + DEBUGPRINT3(_L("KRtcAdaptationPluginPropertyKey %d Error %d"), testPsKeyDefined, result); + if ((KErrNone != result) && (KErrNotFound != result)) + { + //Could not retrieve property value. Tests might fail + DEBUGPRINT1A("IsTestPsKeyDefined ERROR :: Could not retrieve property value)"); + } + return testPsKeyDefined; + } diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstateplugins/adptplugin/src/simadaptationref.cpp --- a/sysstatemgmt/systemstateplugins/adptplugin/src/simadaptationref.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstateplugins/adptplugin/src/simadaptationref.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2008-2010 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" @@ -10,10 +10,20 @@ // // Contributors: // -// Description: +// Description: This adaptation plugin implementation is for test/reference purposes. +// The loading of this plugin is controlled through test macro defined in the iby file "ssmcompatibility.iby". +// If the macro "TEST_SSM_MACRO" is not defined, original plugins are loaded and this plugin is not loaded. +// If the test P & S key is set in the test code, the calls are routed to the reference or dummy implementations. +// Else the actual plugins are loaded and the calls are routed to the actual implementations. +// The test P & S key which it looks for is KSimPluginPropertyKey (0x2000D76A) // #include "simadaptationref.h" +#include "ssmdebug.h" +#include + +const TUint32 KSimPluginPropertyKey = 0x2000D76B; +const TUid KPropertyCategory={0x2000D75B}; /** Function to create new Sim Adaptation Plugin. @@ -40,6 +50,7 @@ CSimAdaptationRef::~CSimAdaptationRef() { delete iTimer; + iSaaSimAdaptationLib.Close(); } CSimAdaptationRef::CSimAdaptationRef() @@ -48,6 +59,11 @@ void CSimAdaptationRef::ConstructL() { + DEBUGPRINT1A("Loading Actual plugins"); + _LIT(KSaaSimAdaptationDLL, "saaSimadaptation.dll"); + User::LeaveIfError(iSaaSimAdaptationLib.Load(KSaaSimAdaptationDLL)); + iSaaSimAdaptationDll = (MSimAdaptation *)(iSaaSimAdaptationLib.Lookup(1)()); + iTimer = CSimRefAdaptationTimer::NewL(); } @@ -57,11 +73,20 @@ delete this; } -void CSimAdaptationRef::GetSimOwned(TDes8& /*aOwnedPckg*/, TRequestStatus& aStatus) +void CSimAdaptationRef::GetSimOwned(TDes8& aOwnedPckg, TRequestStatus& aStatus) { - aStatus = KRequestPending; - TRequestStatus* pStatus = &aStatus; - User::RequestComplete(pStatus, KErrNone); + if(!IsTestPsKeyDefined()) + { + DEBUGPRINT1A("GetSimOwned:: Calling Actual plugins functions (saaSimadaptation.dll)"); + iSaaSimAdaptationDll->GetSimOwned(aOwnedPckg,aStatus); + } + else + { + DEBUGPRINT1A("GetSimOwned :: Calling ref plugins functions (Simadaptationref.dll)"); + aStatus = KRequestPending; + TRequestStatus* pStatus = &aStatus; + User::RequestComplete(pStatus, KErrNone); + } } /** @@ -70,10 +95,16 @@ */ void CSimAdaptationRef::GetCancel() { + if(!IsTestPsKeyDefined()) + { + DEBUGPRINT1A("GetCancel ::Calling Actual plugins functions (saaSimadaptation.dll)"); + iSaaSimAdaptationDll->GetCancel(); + } } /** - The reference implementation completes with KErrNotSupported since there is no SIM support on HRP/Techview. + The reference implementation completes with KErrNotSupported. This is required for automated testing. + Actual plugins return expected values and this can be verified by manual testing On a device, Sim Adaptation Plug-in would complete 'aTypePckg' with one of the event types in TSsmSimEventType. @@ -94,8 +125,23 @@ */ void CSimAdaptationRef::NotifySimEvent(TDes8& /*aTypePckg*/, TRequestStatus& aStatus) { - aStatus = KRequestPending; - iTimer->After(2000000,aStatus); + if(!IsTestPsKeyDefined()) + { + DEBUGPRINT1A("NotifySimEvent :: Calling Actual plugins functions (saaSimadaptation.dll)"); + /* Only clayersup.dll has an outstanding request. If this is passed to the actual plugin, the + request will never complete till a SIM event happens. This would add the test code requests in a queue + and the test code waits indefinitely. Hence, complete the request with KErrCancel. This would free the + queue for test code to be executed. It has not impact on the test environment */ + TRequestStatus *request = &aStatus; + User::RequestComplete(request, KErrCancel); + } + else + { + DEBUGPRINT1A("NotifySimEvent :: Calling ref plugins functions (Simadaptationref.dll)"); + aStatus = KRequestPending; + iTimer->After(2000000,aStatus); + } + } /** @@ -104,12 +150,36 @@ */ void CSimAdaptationRef::NotifyCancel() { - if(iTimer->IsActive()) - { - iTimer->Cancel(); - } + if(!IsTestPsKeyDefined()) + { + DEBUGPRINT1A("NotifyCancel :: Calling Actual plugins functions (saaSimadaptation.dll)"); + iSaaSimAdaptationDll->NotifyCancel(); + } + else + { + DEBUGPRINT1A("NotifyCancel :: Calling ref plugins functions (Simadaptationref.dll)"); + if(iTimer->IsActive()) + { + iTimer->Cancel(); + } + } } +/** + Helper function to check for P&S Key +*/ +TBool CSimAdaptationRef::IsTestPsKeyDefined() + { + TBool testPsKeyDefined = EFalse; + TInt result = RProperty::Get(KPropertyCategory, KSimPluginPropertyKey, testPsKeyDefined); + DEBUGPRINT3(_L("KSimPluginPropertyKey %d Error %d"), testPsKeyDefined, result); + if ((KErrNone != result) && (KErrNotFound != result)) + { + //Could not retrieve property value. Tests might fail + DEBUGPRINT1A("IsTestPsKeyDefined ERROR :: Could not retrieve property value)"); + } + return testPsKeyDefined; + } CSimRefAdaptationTimer::CSimRefAdaptationTimer():CTimer(CActive::EPriorityUserInput) diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstateplugins/adptplugin/src/stateadaptationref.cpp --- a/sysstatemgmt/systemstateplugins/adptplugin/src/stateadaptationref.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstateplugins/adptplugin/src/stateadaptationref.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -10,10 +10,21 @@ // // Contributors: // -// Description: +// Description: This adaptation plugin implementation is for test/reference purposes. +// The loading of this plugin is controlled through test macro defined in the iby file "ssmcompatibility.iby". +// If the macro "TEST_SSM_MACRO" is not defined, original plugins are loaded and this plugin is not loaded. +// If the test P & S key is set in the test code, the calls are routed to the reference or dummy implementations. +// Else the actual plugins are loaded and the calls are routed to the actual implementations. +// The test P & S key which it looks for is KStateAdaptationPluginPropertyKey (0x2000D76A) // +#include +#include #include "stateadaptationref.h" +#include "ssmdebug.h" + +const TUint32 KStateAdaptationPluginPropertyKey = 0x2000D76A; +const TUid KPropertyCategory={0x2000D75B}; /** Static method to create new State Adaptation Plugin. @@ -40,6 +51,7 @@ CStateAdaptationRef::~CStateAdaptationRef() { delete iTimer; + iSaaStateAdaptationLib.Close(); } CStateAdaptationRef::CStateAdaptationRef() @@ -48,6 +60,10 @@ void CStateAdaptationRef::ConstructL() { + DEBUGPRINT1A("Loading Actual plugins"); + _LIT(KSaaStateAdaptationDLL, "saastateadaptation.dll"); + User::LeaveIfError(iSaaStateAdaptationLib.Load(KSaaStateAdaptationDLL)); + iSaaStateAdaptationDll = (MStateAdaptation *)(iSaaStateAdaptationLib.Lookup(1)()); iTimer = CStateRefAdaptationTimer::NewL(); } @@ -57,39 +73,84 @@ delete this; } -void CStateAdaptationRef::RequestCoopSysStateChange(TSsmState /*aState*/, TRequestStatus& aStatus) +void CStateAdaptationRef::RequestCoopSysStateChange(TSsmState aState, TRequestStatus& aStatus) { - aStatus = KRequestPending; - TRequestStatus* status = &aStatus; - User::RequestComplete(status, KErrNone); + if(!IsTestPsKeyDefined()) + { + DEBUGPRINT1A("RequestCoopSysStateChange:: Calling Actual plugins functions (saastateadaptation.dll)"); + iSaaStateAdaptationDll->RequestCoopSysStateChange(aState, aStatus); + } + else + { + DEBUGPRINT1A("RequestCoopSysStateChange:: Calling ref plugins functions (stateadaptationref.dll)"); + aStatus = KRequestPending; + TRequestStatus* status = &aStatus; + User::RequestComplete(status, KErrNone); + } } void CStateAdaptationRef::RequestCoopSysSelfTest(TRequestStatus& aStatus) { - aStatus = KRequestPending; - TRequestStatus* status = &aStatus; - User::RequestComplete(status, KErrNone); + if(!IsTestPsKeyDefined()) + { + DEBUGPRINT1A("RequestCoopSysSelfTest:: Calling Actual plugins functions (saastateadaptation.dll)"); + iSaaStateAdaptationDll->RequestCoopSysSelfTest(aStatus); + } + else + { + DEBUGPRINT1A("RequestCoopSysSelfTest:: Calling ref plugins functions (stateadaptationref.dll)"); + aStatus = KRequestPending; + TRequestStatus* status = &aStatus; + User::RequestComplete(status, KErrNone); + } } -void CStateAdaptationRef::RequestCoopSysPerformRestartActions(TInt /*aReason*/, TRequestStatus& aStatus) +void CStateAdaptationRef::RequestCoopSysPerformRestartActions(TInt aReason, TRequestStatus& aStatus) { - aStatus = KRequestPending; - TRequestStatus* status = &aStatus; - User::RequestComplete(status, KErrNone); + if(!IsTestPsKeyDefined()) + { + DEBUGPRINT1A("RequestCoopSysPerformRestartActions:: Calling Actual plugins functions (saastateadaptation.dll)"); + iSaaStateAdaptationDll->RequestCoopSysPerformRestartActions(aReason, aStatus); + } + else + { + DEBUGPRINT1A("RequestCoopSysPerformRestartActions:: Calling ref plugins functions (stateadaptationref.dll)"); + aStatus = KRequestPending; + TRequestStatus* status = &aStatus; + User::RequestComplete(status, KErrNone); + } } -void CStateAdaptationRef::RequestCoopSysPerformShutdownActions(TInt /*aReason*/, TRequestStatus& aStatus) +void CStateAdaptationRef::RequestCoopSysPerformShutdownActions(TInt aReason, TRequestStatus& aStatus) { - aStatus = KRequestPending; - TRequestStatus* status = &aStatus; - User::RequestComplete(status, KErrNone); + if(!IsTestPsKeyDefined()) + { + DEBUGPRINT1A("RequestCoopSysPerformShutdownActions:: Calling Actual plugins functions (saastateadaptation.dll)"); + iSaaStateAdaptationDll->RequestCoopSysPerformShutdownActions(aReason, aStatus); + } + else + { + DEBUGPRINT1A("RequestCoopSysPerformShutdownActions:: Calling ref plugins functions (stateadaptationref.dll)"); + aStatus = KRequestPending; + TRequestStatus* status = &aStatus; + User::RequestComplete(status, KErrNone); + } } -void CStateAdaptationRef::RequestCoopSysPerformRfsActions(TSsmRfsType /*aRfsType*/, TRequestStatus& aStatus) +void CStateAdaptationRef::RequestCoopSysPerformRfsActions(TSsmRfsType aRfsType, TRequestStatus& aStatus) { - aStatus = KRequestPending; - TRequestStatus* status = &aStatus; - User::RequestComplete(status, KErrNone); + if(!IsTestPsKeyDefined()) + { + DEBUGPRINT1A("RequestCoopSysPerformRfsActions:: Calling Actual plugins functions (saastateadaptation.dll)"); + iSaaStateAdaptationDll->RequestCoopSysPerformRfsActions(aRfsType, aStatus); + } + else + { + DEBUGPRINT1A("RequestCoopSysPerformRfsActions:: Calling ref plugins functions (stateadaptationref.dll)"); + aStatus = KRequestPending; + TRequestStatus* status = &aStatus; + User::RequestComplete(status, KErrNone); + } } /** @@ -98,10 +159,16 @@ */ void CStateAdaptationRef::RequestCancel() { + if(!IsTestPsKeyDefined()) + { + DEBUGPRINT1A("RequestCancel:: Calling Actual plugins functions (saastateadaptation.dll)"); + iSaaStateAdaptationDll->RequestCancel(); + } } /** - The reference implementation completes with KErrNotSupported since there isn't a Cooperating System on HRP/Techview. + The reference implementation completes with KErrNotSupported. This is required for automated testing. + Actual plugins return expected values and this can be verified by manual testing On a device, State Adaptation Plug-in would request for notification from the Cooperating System for 'aEvent'. The above mentioned implementation is modified to facilitate testing and increase the code coverage of the Adaptation @@ -120,8 +187,22 @@ */ void CStateAdaptationRef::NotifyCoopSysEvent(TDes8& /*aEvent*/, TRequestStatus& aStatus) { - aStatus = KRequestPending; - iTimer->After(2000000,aStatus); + if(!IsTestPsKeyDefined()) + { + /* Only ssmpowersup.dll has an outstanding request. If this is passed to the actual plugin, the + request will never complete till a power event happens. This would add the test code requests in a queue + and the test code waits indefinitely. Hence, complete the request with KErrServerTerminated. This would free + the queue for test code to be executed. It has not impact on the test environment */ + aStatus = KRequestPending; + TRequestStatus* status = &aStatus; + User::RequestComplete(status, KErrServerTerminated); + } + else + { + DEBUGPRINT1A("NotifyCoopSysEvent:: Calling ref plugins functions (stateadaptationref.dll)"); + aStatus = KRequestPending; + iTimer->After(2000000,aStatus); + } } /** @@ -130,13 +211,36 @@ */ void CStateAdaptationRef::NotifyCancel() { - if(iTimer->IsActive()) - { - iTimer->Cancel(); - } + if(!IsTestPsKeyDefined()) + { + DEBUGPRINT1A("NotifyCancel:: Calling Actual plugins functions (saastateadaptation.dll)"); + iSaaStateAdaptationDll->NotifyCancel(); + } + else + { + DEBUGPRINT1A("NotifyCancel:: Calling ref plugins functions (stateadaptationref.dll)"); + if(iTimer->IsActive()) + { + iTimer->Cancel(); + } + } } - +/** + Helper function to check for P&S Key +*/ +TBool CStateAdaptationRef::IsTestPsKeyDefined() + { + TBool testPsKeyDefined = EFalse; + TInt result = RProperty::Get(KPropertyCategory, KStateAdaptationPluginPropertyKey, testPsKeyDefined); + DEBUGPRINT3(_L("KStateAdaptationPluginPropertyKey %d Error %d"), testPsKeyDefined, result); + if ((KErrNone != result) && (KErrNotFound != result)) + { + //Could not retrieve property value. Tests might fail + DEBUGPRINT1A("IsTestPsKeyDefined ERROR :: Could not retrieve property value)"); + } + return testPsKeyDefined; + } CStateRefAdaptationTimer::CStateRefAdaptationTimer():CTimer(CActive::EPriorityUserInput) { diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstateplugins/group/app-framework_ssplugins.mrp --- a/sysstatemgmt/systemstateplugins/group/app-framework_ssplugins.mrp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstateplugins/group/app-framework_ssplugins.mrp Thu Jul 22 16:45:41 2010 +0100 @@ -1,19 +1,3 @@ -# -# 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: -# - component app-framework_ssplugins source \sf\os\devicesrv\sysstatemgmt\systemstateplugins binary \sf\os\devicesrv\sysstatemgmt\systemstateplugins\group all diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstateplugins/gsapolicy/src/gsastatepolicynormal.cpp --- a/sysstatemgmt/systemstateplugins/gsapolicy/src/gsastatepolicynormal.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstateplugins/gsapolicy/src/gsastatepolicynormal.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -159,10 +159,11 @@ //Check if the requested transition is supported from current state if (TransitionSupported(aRequest.State())) - { - if((NULL == aCurrent) && (NULL == aQueued)) + { + //Transition is allowed when there is no current and queued transitions. + //or allow substate(ESsmNormalRfOnSubState and ESsmNormalRfOffSubState)transition only when KSsmGracefulOffline is enabled and queue is empty. + if (((NULL == aCurrent) && (NULL == aQueued)) || (IsSsmGracefulOffline() && (NULL == aQueued))) { - // SsmServer is idle response = EDefinitelyAllowed; } else if((aRequest.State().MainState() == ESsmFail) || (aRequest.State().MainState() == ESsmShutdown)) diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstateplugins/test/tappgsapolicy/resource/sspluginstest_tappgsapolicy.rss --- a/sysstatemgmt/systemstateplugins/test/tappgsapolicy/resource/sspluginstest_tappgsapolicy.rss Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstateplugins/test/tappgsapolicy/resource/sspluginstest_tappgsapolicy.rss Thu Jul 22 16:45:41 2010 +0100 @@ -22,8 +22,8 @@ NAME STAG -#include -#include +#include +#include RESOURCE RSS_SIGNATURE { } diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstateplugins/test/tcmncustomcmd/group/sspluginstest_tcmncustomcmd.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/systemstateplugins/test/tcmncustomcmd/group/sspluginstest_tcmncustomcmd.pkg Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,33 @@ +; +; Copyright (c) 2010 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: +; + + +;Languages +&EN + + +;Localised Vendor name +%{"SspluginsCmnCustomcmdTests EN"} + +; Vendor name +: "SspluginsCmnCustomcmdTests" + +"\sf\os\devicesrv\sysstatemgmt\systemstateplugins\test\tcmncustomcmd\scripts\sspluginstest_cmncustomcmd_rendezvouswithestart.script"-"c:\devicesrv\sspluginstest\sspluginstest_cmncustomcmd_rendezvouswithestart.script" +"\sf\os\devicesrv\sysstatemgmt\systemstateplugins\test\tcmncustomcmd\scripts\sspluginstest_cmncustomcmd_persistreboots.script"-"c:\devicesrv\sspluginstest\sspluginstest_cmncustomcmd_persistreboots.script" +"\sf\os\devicesrv\sysstatemgmt\systemstateplugins\test\tcmncustomcmd\scripts\sspluginstest_cmncustomcmd_cancelmonitoring.script"-"c:\devicesrv\sspluginstest\sspluginstest_cmncustomcmd_cancelmonitoring.script" + + + diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstateplugins/test/testapps/group/gsatestappgood.mmp --- a/sysstatemgmt/systemstateplugins/test/testapps/group/gsatestappgood.mmp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstateplugins/test/testapps/group/gsatestappgood.mmp Thu Jul 22 16:45:41 2010 +0100 @@ -27,7 +27,8 @@ USERINCLUDE ../inc OS_LAYER_SYSTEMINCLUDE_SYMBIAN MW_LAYER_SYSTEMINCLUDE_SYMBIAN -SYSTEMINCLUDE /epoc32/include/techview +MW_LAYER_SYSTEMINCLUDE +//SYSTEMINCLUDE /epoc32/include/techview LIBRARY euser.lib LIBRARY apparc.lib diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstateplugins/test/tintadptplugin/group/bld.inf --- a/sysstatemgmt/systemstateplugins/test/tintadptplugin/group/bld.inf Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstateplugins/test/tintadptplugin/group/bld.inf Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -33,10 +33,12 @@ PRJ_TESTMMPFILES tiadaptation_plugin.mmp +definetestps.mmp PRJ_TESTEXPORTS sspluginstest_i_adaptation.iby /epoc32/rom/include/sspluginstest_i_adaptation.iby +definetestps.iby /epoc32/rom/include/definetestps.iby // batch files for emulator / hardware test execution ../scripts/sspluginstest_adaptation_i_run.bat /epoc32/data/z/sspluginstest/sspluginstest_adaptation_i_run.bat diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstateplugins/test/tintadptplugin/group/definetestps.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/systemstateplugins/test/tintadptplugin/group/definetestps.iby Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,23 @@ +// Copyright (c) 2010 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: +// + +#ifndef __DEFINETEST_IBY__ +#define __DEFINETEST_IBY__ + +file=ABI_DIR\BUILD_DIR\definetestps.exe sys\bin\definetestps.exe + +data=EPOCROOT##epoc32\data\Z\private\10003a3f\apps\definetestps_reg.rsc private\10003a3f\apps\definetestps_reg.rsc + +#endif // __DEFINETEST_IBY__ diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstateplugins/test/tintadptplugin/group/definetestps.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/systemstateplugins/test/tintadptplugin/group/definetestps.mmp Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,51 @@ +// Copyright (c) 2010 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: +// + +TARGET definetestps.exe +TARGETTYPE exe +CAPABILITY WriteDeviceData + +UID 0x100039CE 0x200315B2 +VENDORID 0x70000001 + +//Secure id of sysstatemgr.exe +SECUREID 0x2000D75B + +SOURCEPATH ../src +SOURCE definetestps.cpp + +USERINCLUDE . +USERINCLUDE ../inc + + +OS_LAYER_SYSTEMINCLUDE_SYMBIAN +MW_LAYER_SYSTEMINCLUDE_SYMBIAN +MW_LAYER_SYSTEMINCLUDE + + +// Registration file +SOURCEPATH ../src +START RESOURCE definetestps_reg.rss +TARGETPATH /private/10003a3f/apps +END + +LIBRARY euser.lib +LIBRARY apparc.lib +LIBRARY apgrfx.lib +LIBRARY cone.lib +LIBRARY eikcore.lib +LIBRARY ssmuiproviderdll.lib + +SMPSAFE diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstateplugins/test/tintadptplugin/group/sspluginstest_i_adaptation.iby --- a/sysstatemgmt/systemstateplugins/test/tintadptplugin/group/sspluginstest_i_adaptation.iby Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstateplugins/test/tintadptplugin/group/sspluginstest_i_adaptation.iby Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -16,6 +16,8 @@ #ifndef __SSPLUGINSTEST_I_ADAPTATION_IBY__ #define __SSPLUGINSTEST_I_ADAPTATION_IBY__ +#include + // test server data=ABI_DIR\DEBUG_DIR\tiadaptation_plugin.exe sys\bin\tiadaptation_plugin.exe diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstateplugins/test/tintadptplugin/group/sspluginstest_i_tadaptation.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/systemstateplugins/test/tintadptplugin/group/sspluginstest_i_tadaptation.pkg Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,35 @@ +; +; Copyright (c) 2010 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: +; + + +;Languages +&EN + + +;Localised Vendor name +%{"SspluginsiAdaptationTests EN"} + +; Vendor name +: "SspluginsiAdaptationTests" + +"\sf\os\devicesrv\sysstatemgmt\systemstateplugins\test\tintadptplugin\scripts\sspluginstest_adaptation_i_emergency.script"-"c:\devicesrv\sspluginstest\sspluginstest_adaptation_i_emergency.script" +"\sf\os\devicesrv\sysstatemgmt\systemstateplugins\test\tintadptplugin\scripts\sspluginstest_adaptation_i_misc.script"-"c:\devicesrv\sspluginstest\sspluginstest_adaptation_i_misc.script" +"\sf\os\devicesrv\sysstatemgmt\systemstateplugins\test\tintadptplugin\scripts\sspluginstest_adaptation_i_rtc.script"-"c:\devicesrv\sspluginstest\sspluginstest_adaptation_i_rtc.script" +"\sf\os\devicesrv\sysstatemgmt\systemstateplugins\test\tintadptplugin\scripts\sspluginstest_adaptation_i_sim.script"-"c:\devicesrv\sspluginstest\sspluginstest_adaptation_i_sim.script" +"\sf\os\devicesrv\sysstatemgmt\systemstateplugins\test\tintadptplugin\scripts\sspluginstest_adaptation_i_state.script"-"c:\devicesrv\sspluginstest\sspluginstest_adaptation_i_state.script" +"\sf\os\devicesrv\sysstatemgmt\systemstateplugins\test\tintadptplugin\scripts\sspluginstest_adaptation_i_statenotify.script"-"c:\devicesrv\sspluginstest\sspluginstest_adaptation_i_statenotify.script" + + diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstateplugins/test/tintadptplugin/group/tiadaptation_plugin.mmp --- a/sysstatemgmt/systemstateplugins/test/tintadptplugin/group/tiadaptation_plugin.mmp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstateplugins/test/tintadptplugin/group/tiadaptation_plugin.mmp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -27,6 +27,9 @@ UID 0x1000007A 0x10285A52 VENDORID 0x70000001 +//Secure id of sysstatemgr.exe +SECUREID 0x2000D75B + CAPABILITY PowerMgmt ReadDeviceData WriteDeviceData ProtServ SwEvent ReadUserData WriteUserData DiskAdmin OS_LAYER_SYSTEMINCLUDE_SYMBIAN diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstateplugins/test/tintadptplugin/inc/definetestps.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/systemstateplugins/test/tintadptplugin/inc/definetestps.h Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,76 @@ +// Copyright (c) 2010 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: This is the header file for "DefineTestPs" app. This app is used to define the P & S keys required for activating the reference plugins. +// + +/** + @file + @test + @internalComponent - Internal Symbian test code +*/ + +#ifndef __DEFINETESTPS_H +#define __DEFINETESTPS_H + +/** +Application class +*/ +#include +class CTestApplication : public CEikApplication + { +public: + static CApaApplication* NewApplication(); + ~CTestApplication(); + +private: + CTestApplication(); + + // from CApaApplication + TUid AppDllUid() const; + CApaDocument* CreateDocumentL(); + }; + +/** +Document class +*/ +#include +class CEikAppUi; +class CEikApplication; +class CTestDocument : public CEikDocument + { +public: + static CTestDocument* NewL(CEikApplication& aApp); + ~CTestDocument(); + +private: + CTestDocument(CEikApplication& aApp); + + // from CEikDocument + CEikAppUi* CreateAppUiL(); + }; + +/** +Application UI class, root of all graphical user interface in this application +*/ +#include +class CTestAppUi : public CEikAppUi + { +public: + CTestAppUi(); + ~CTestAppUi(); + + // from CEikAppUi + void ConstructL(); + }; + +#endif // __DEFINETESTPS_H diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstateplugins/test/tintadptplugin/inc/ti_adaptationplugin_stepbase.h --- a/sysstatemgmt/systemstateplugins/test/tintadptplugin/inc/ti_adaptationplugin_stepbase.h Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstateplugins/test/tintadptplugin/inc/ti_adaptationplugin_stepbase.h Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -27,6 +27,14 @@ #include #include +//for define, set and unset of P&S keys. +const TUint32 KEmergencyCallRfAdaptationPluginPropertyKey = 0x2000E657; +const TUint32 KStateAdaptationPluginPropertyKey = 0x2000D76A; +const TUint32 KRtcAdaptationPluginPropertyKey = 0x2000D76C; +const TUint32 KSimPluginPropertyKey = 0x2000D76B; +const TUint32 KMiscPluginPropertyKey = 0x2000E658; + +const TUid KPropertyCategory={0x2000D75B}; class CTestAdaptStep : public CTestStep { diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstateplugins/test/tintadptplugin/src/definetestps.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/systemstateplugins/test/tintadptplugin/src/definetestps.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,154 @@ +// Copyright (c) 2010 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: This app is used to define the P & S keys required for activating the reference plugins. +// + +/** + @file + @test + @internalComponent - Internal Symbian test code +*/ + +#include +#include +#include +#include "definetestps.h" +#include "ti_adaptationplugin_stepbase.h" + + +/** +Standard DLL entry point function. +Creates and returns an instance of the CApaApplication-derived class. +@return an instance of the CApaApplication-derived class +*/ +TInt E32Main() + { + return EikStart::RunApplication( CTestApplication::NewApplication ); + } + +CTestApplication::CTestApplication() + { + } + +CTestApplication::~CTestApplication() + { + } + +/** +@return The application's UID +*/ +TUid CTestApplication::AppDllUid() const + { + const TUid dll = {0x200315B2}; + return dll; + } + +/** +@return CTestApplication or NULL if KErrNoMemory +*/ +CApaApplication* CTestApplication::NewApplication() + { + // As the framework has at this point not started up enough, and therefore the TRAP-harness and + // exception handlers aren’t available yet, this factory function is a non-leaving function and + // can't use the new(Eleave) operator. + return new CTestApplication(); + } + +/** +Called by the UI framework at application start-up to create an instance of the document class. +@leave KErrNoMemory +@return A CTestDocument +*/ +CApaDocument* CTestApplication::CreateDocumentL() + { + return CTestDocument::NewL(*this); + } + +CTestDocument::CTestDocument(CEikApplication& aApp) : CEikDocument(aApp) + { + } + +CTestDocument::~CTestDocument() + { + } + +/** +Factory function for this class +@return a new CEndTaskTestDocument instance. +*/ +CTestDocument* CTestDocument::NewL(CEikApplication& aApp) + { + return new(ELeave) CTestDocument(aApp); + } + + +/** +Called by the UI framework to construct the application UI class. +Note that the app UI's ConstructL() is called by the UI framework. +*/ +CEikAppUi* CTestDocument::CreateAppUiL() + { + return new(ELeave) CTestAppUi(); + } + +CTestAppUi::CTestAppUi() + { + } + +CTestAppUi::~CTestAppUi() + { + } + +void CTestAppUi::ConstructL() + { + //This appplication is used to define the property for using dummy plugins. Uid3 of the application should be + //same as the SSM's Secure Id. + + + //Define the property for using Dummy plugins. + TInt result = KErrNone; + result = RProperty::Define(KPropertyCategory, KEmergencyCallRfAdaptationPluginPropertyKey, RProperty::EInt); + if ((KErrNone != result) && (KErrAlreadyExists !=result)) + { + User::Leave(result); + } + + + result = RProperty::Define(KPropertyCategory, KStateAdaptationPluginPropertyKey, RProperty::EInt); + if ((KErrNone != result) && (KErrAlreadyExists !=result)) + { + User::Leave(result); + } + + result = RProperty::Define(KPropertyCategory, KRtcAdaptationPluginPropertyKey, RProperty::EInt); + if ((KErrNone != result) && (KErrAlreadyExists !=result)) + { + User::Leave(result); + } + + result = RProperty::Define(KPropertyCategory, KSimPluginPropertyKey, RProperty::EInt); + if ((KErrNone != result) && (KErrAlreadyExists !=result)) + { + User::Leave(result); + } + + result = RProperty::Define(KPropertyCategory, KMiscPluginPropertyKey, RProperty::EInt); + if ((KErrNone != result) && (KErrAlreadyExists !=result)) + { + User::Leave(result); + } + + RProcess::Rendezvous(KErrNone); + // Complete the UI framework's construction of the App UI. + BaseConstructL(CEikAppUi::ENoAppResourceFile); + } diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstateplugins/test/tintadptplugin/src/definetestps_reg.rss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/systemstateplugins/test/tintadptplugin/src/definetestps_reg.rss Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,33 @@ +// Copyright (c) 2010 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: This is the registration resource file for "DefineTestPs" app. This app is used +// to define the P & S keys required for activating the reference plugins. +// + +/** + @file + @test + @internalComponent - Internal Symbian test code +*/ + +#include + +UID2 KUidAppRegistrationResourceFile +UID3 0x200315B2 + +RESOURCE APP_REGISTRATION_INFO + { + // filename of application binary (minus extension) + app_file="definetestps"; + newfile = KAppDoesNotSupportNewFile; + } diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstateplugins/test/tintadptplugin/src/temergencycallrf_adaptationplugin_step.cpp --- a/sysstatemgmt/systemstateplugins/test/tintadptplugin/src/temergencycallrf_adaptationplugin_step.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstateplugins/test/tintadptplugin/src/temergencycallrf_adaptationplugin_step.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -157,10 +157,9 @@ TInt RTestSsmEmergencyCallRfAdaptation::CleanupAdaptations() { TInt ret = KErrNone; - if(Handle()) - { - ret = SendReceive(EDebugCleanupAdaptations); - } + // Since actual plugins are being used, they cannot be unloaded. + // Hence return without doing anything. There will be HeapMarkEnd to check that + // memory is not leaked. return ret; } diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstateplugins/test/tintadptplugin/src/ti_adaptationplugin_stepbase.cpp --- a/sysstatemgmt/systemstateplugins/test/tintadptplugin/src/ti_adaptationplugin_stepbase.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstateplugins/test/tintadptplugin/src/ti_adaptationplugin_stepbase.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -21,6 +21,9 @@ #include "ti_adaptationplugin_stepbase.h" #include +#include + +_LIT (KExeToDefineTestPS, "\\sys\\bin\\definetestps.exe"); static TInt StopScheduler(TAny* aTestAdaptStep) { @@ -51,6 +54,41 @@ TVerdict CTestAdaptStep::doTestStepPreambleL() { + RProcess processHandle; + CleanupClosePushL(processHandle); + + //Start the test exe which defines property keys for loading reference plugins + + TInt err = processHandle.Create(KExeToDefineTestPS, KNullDesC); + INFO_PRINTF2(_L("Process creation returned : %d"), err); + User::LeaveIfError(err); + processHandle.Resume(); + + // wait for the newly created process to rendezvous + TRequestStatus status; + processHandle.Rendezvous(status); + User::WaitForRequest(status); + TInt retVal = status.Int(); + INFO_PRINTF2(_L("iStatus.Int() returned : %d"), retVal); + TEST(KErrNone == retVal); + CleanupStack::PopAndDestroy(); + + // Set all the property keys + err = RProperty::Set(KPropertyCategory, KEmergencyCallRfAdaptationPluginPropertyKey, 1); + TEST(KErrNone == err); + + err = RProperty::Set(KPropertyCategory, KStateAdaptationPluginPropertyKey, 1); + TEST(KErrNone == err); + + err = RProperty::Set(KPropertyCategory, KRtcAdaptationPluginPropertyKey, 1); + TEST(KErrNone == err); + + err = RProperty::Set(KPropertyCategory, KSimPluginPropertyKey, 1); + TEST(KErrNone == err); + + err = RProperty::Set(KPropertyCategory, KMiscPluginPropertyKey, 1); + TEST(KErrNone == err); + INFO_PRINTF1(_L("Starting the scheduler in CTestEmergencyAdaptStep::doTestStepPreambleL ...")); iActiveScheduler = new(ELeave) CActiveScheduler; CActiveScheduler::Install (iActiveScheduler); @@ -65,5 +103,22 @@ /** */ TVerdict CTestAdaptStep::doTestStepPostambleL() { + //Unset all the PandS keys + TInt err = RProperty::Set(KPropertyCategory, KEmergencyCallRfAdaptationPluginPropertyKey, 0); + TEST(KErrNone == err); + + err = RProperty::Set(KPropertyCategory, KStateAdaptationPluginPropertyKey, 0); + TEST(KErrNone == err); + + err = RProperty::Set(KPropertyCategory, KRtcAdaptationPluginPropertyKey, 0); + TEST(KErrNone == err); + + err = RProperty::Set(KPropertyCategory, KSimPluginPropertyKey, 0); + TEST(KErrNone == err); + + err = RProperty::Set(KPropertyCategory, KMiscPluginPropertyKey, 0); + TEST(KErrNone == err); + + return CTestStep::doTestStepPostambleL(); } diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstateplugins/test/tintadptplugin/src/tmisc_adaptationplugin_step.cpp --- a/sysstatemgmt/systemstateplugins/test/tintadptplugin/src/tmisc_adaptationplugin_step.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstateplugins/test/tintadptplugin/src/tmisc_adaptationplugin_step.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -199,10 +199,9 @@ TInt RTestSsmMiscAdaptation::CleanupAdaptations() { TInt ret = KErrNone; - if(Handle()) - { - ret = SendReceive(EDebugCleanupAdaptations); - } + // Since actual plugins are being used, they cannot be unloaded. + // Hence return without doing anything. There will be HeapMarkEnd to check that + // memory is not leaked. return ret; } diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstateplugins/test/tintadptplugin/src/trtc_adaptationplugin_step.cpp --- a/sysstatemgmt/systemstateplugins/test/tintadptplugin/src/trtc_adaptationplugin_step.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstateplugins/test/tintadptplugin/src/trtc_adaptationplugin_step.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -165,10 +165,9 @@ TInt RTestSsmRtcAdaptation::CleanupAdaptations() { TInt ret = KErrNone; - if(Handle()) - { - ret = SendReceive(EDebugCleanupAdaptations); - } + // Since actual plugins are being used, they cannot be unloaded. + // Hence return without doing anything. There will be HeapMarkEnd to check that + // memory is not leaked. return ret; } diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstateplugins/test/tintadptplugin/src/tsim_adaptationplugin_step.cpp --- a/sysstatemgmt/systemstateplugins/test/tintadptplugin/src/tsim_adaptationplugin_step.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstateplugins/test/tintadptplugin/src/tsim_adaptationplugin_step.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -162,10 +162,9 @@ TInt RTestSsmSimAdaptation::CleanupAdaptations() { TInt ret = KErrNone; - if(Handle()) - { - ret = SendReceive(EDebugCleanupAdaptations); - } + // Since actual plugins are being used, they cannot be unloaded. + // Hence return without doing anything. There will be HeapMarkEnd to check that + // memory is not leaked. return ret; } diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstateplugins/test/tintadptplugin/src/tstate_adaptationplugin_step.cpp --- a/sysstatemgmt/systemstateplugins/test/tintadptplugin/src/tstate_adaptationplugin_step.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstateplugins/test/tintadptplugin/src/tstate_adaptationplugin_step.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -176,10 +176,9 @@ TInt RTestSsmStateAdaptation::CleanupAdaptations() { TInt ret = KErrNone; - if(Handle()) - { - ret = SendReceive(EDebugCleanupAdaptations); - } + // Since actual plugins are being used, they cannot be unloaded. + // Hence return without doing anything. There will be HeapMarkEnd to check that + // memory is not leaked. return ret; } diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstateplugins/test/tintconditionevaluator/group/sspluginstest_tintconditionevaluator.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/systemstateplugins/test/tintconditionevaluator/group/sspluginstest_tintconditionevaluator.pkg Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,28 @@ +; +; Copyright (c) 2010 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: +; + +;Languages +&EN + + +;Localised Vendor name +%{"Ssplugins_tintconditionevaluator EN"} + +; Vendor name +: "Ssplugins_tintconditionevaluator" + +"\sf\os\devicesrv\sysstatemgmt\systemstateplugins\test\tintconditionevaluator\scripts\sspluginstest_conditionevaluator_evaluate.script"-"c:\devicesrv\sspluginstest\sspluginstest_conditionevaluator_evaluate.script" + diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstateplugins/test/tunitadptplugin/group/sspluginstest_tadaptation.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/systemstateplugins/test/tunitadptplugin/group/sspluginstest_tadaptation.pkg Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,31 @@ +; +; Copyright (c) 2010 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: +; + +;Languages +&EN + + +;Localised Vendor name +%{"Ssplugins_TUnitAdptPlugin EN"} + +; Vendor name +: "Ssplugins_TUnitAdptPlugin" + +"\sf\os\devicesrv\sysstatemgmt\systemstateplugins\test\tunitadptplugin\scripts\sspluginstest_adaptation_emergency.script"-"c:\devicesrv\sspluginstest\sspluginstest_adaptation_emergency.script" +"\sf\os\devicesrv\sysstatemgmt\systemstateplugins\test\tunitadptplugin\scripts\sspluginstest_adaptation_misc.script"-"c:\devicesrv\sspluginstest\sspluginstest_adaptation_misc.script" +"\sf\os\devicesrv\sysstatemgmt\systemstateplugins\test\tunitadptplugin\scripts\sspluginstest_adaptation_rtc.script"-"c:\devicesrv\sspluginstest\sspluginstest_adaptation_rtc.script" +"\sf\os\devicesrv\sysstatemgmt\systemstateplugins\test\tunitadptplugin\scripts\sspluginstest_adaptation_sim.script"-"c:\devicesrv\sspluginstest\sspluginstest_adaptation_sim.script" +"\sf\os\devicesrv\sysstatemgmt\systemstateplugins\test\tunitadptplugin\scripts\sspluginstest_adaptation_state.script"-"c:\devicesrv\sspluginstest\sspluginstest_adaptation_state.script" diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstateplugins/test/tunitadptplugin/group/tadaptation_plugin.mmp --- a/sysstatemgmt/systemstateplugins/test/tunitadptplugin/group/tadaptation_plugin.mmp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstateplugins/test/tunitadptplugin/group/tadaptation_plugin.mmp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -22,11 +22,10 @@ TARGET tadaptation_plugin.exe TARGETTYPE exe -TARGETPATH /sys/bin -UID 0x1000007A 0x1028359E +TARGETPATH /sys/bin +UID 0x1000007A 0x2000D75B VENDORID 0x70000001 -//CAPABILITY All -Tcb CAPABILITY PowerMgmt ReadDeviceData WriteDeviceData ProtServ SwEvent ReadUserData WriteUserData diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstateplugins/test/tunitadptplugin/src/temergencycallrf_adaptationplugin_step.cpp --- a/sysstatemgmt/systemstateplugins/test/tunitadptplugin/src/temergencycallrf_adaptationplugin_step.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstateplugins/test/tunitadptplugin/src/temergencycallrf_adaptationplugin_step.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -22,8 +22,12 @@ #include +#include #include "temergencycallrf_adaptationplugin_step.h" +const TUint32 KEmergencyCallRfAdaptationPluginPropertyKey = 0x2000E657; +const TUid KPropertyCategory={0x2000D75B}; + // // Run the tests // @@ -73,10 +77,13 @@ //from CAdaptationTestBase TVerdict CTestEmergencyCallRfAdaptationPlugin::doTestStepL() { - TInt err = KErrNone; - __UHEAP_MARK; + TInt err = RProperty::Define(KPropertyCategory, KEmergencyCallRfAdaptationPluginPropertyKey, RProperty::EInt); + TEST((KErrNone == err) || (KErrAlreadyExists == err)); + err = RProperty::Set(KPropertyCategory, KEmergencyCallRfAdaptationPluginPropertyKey, 1); + TEST(KErrNone == err); + TRAP(err, TestActivateRfForEmergencyCall()); TEST(iStatus.Int() == KErrDisconnected); TEST(err == KErrNone); @@ -97,6 +104,8 @@ TestCancel(); //TestRelease(); // have to test this part too ... + err = RProperty::Delete(KPropertyCategory, KEmergencyCallRfAdaptationPluginPropertyKey); + TEST(KErrNone == err); __UHEAP_MARKEND; return TestStepResult(); diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstateplugins/test/tunitadptplugin/src/tmisc_adaptationplugin_step.cpp --- a/sysstatemgmt/systemstateplugins/test/tunitadptplugin/src/tmisc_adaptationplugin_step.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstateplugins/test/tunitadptplugin/src/tmisc_adaptationplugin_step.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -20,7 +20,7 @@ */ - +#include #include #include "tmisc_adaptationplugin_step.h" @@ -28,6 +28,9 @@ // Run the tests // +const TUid KPropertyCategory={0x2000D75B}; // tcustomcmd_server SID = KSsmServerName SID (changed in tcustomcmd_server.mmp file) +const TUint32 KMiscPluginPropertyKey = 0x2000E658; + CTestMiscAdaptationPlugin::CTestMiscAdaptationPlugin() :CAdaptationTestBase(KTCTestMiscAdaptationPlugin) { @@ -174,6 +177,12 @@ { __UHEAP_MARK; + TInt err = RProperty::Define(KPropertyCategory, KMiscPluginPropertyKey, RProperty::EInt); + INFO_PRINTF2(_L("Defining KMiscPluginPropertyKey returns %d"), err); + TEST((KErrNone == err) || (KErrAlreadyExists == err)); + err = RProperty::Set(KPropertyCategory, KMiscPluginPropertyKey, 1); + TEST(KErrNone == err); + TestSecurityStateChange(); TestGetGlobalStartupMode(); @@ -200,7 +209,10 @@ TestCancel(); //TestRelease(); // have to test this part too ... - + + err = RProperty::Delete(KPropertyCategory, KMiscPluginPropertyKey); + TEST(KErrNone == err); + __UHEAP_MARKEND; return TestStepResult(); diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstateplugins/test/tunitadptplugin/src/trtc_adaptationplugin_step.cpp --- a/sysstatemgmt/systemstateplugins/test/tunitadptplugin/src/trtc_adaptationplugin_step.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstateplugins/test/tunitadptplugin/src/trtc_adaptationplugin_step.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -20,14 +20,16 @@ */ - +#include #include #include "trtc_adaptationplugin_step.h" // // Run the tests // - +_LIT (KExeToDefineTestPS, "\\sys\\bin\\definetestps.exe"); +const TUint32 KRtcAdaptationPluginPropertyKey = 0x2000D76C; +const TUid KPropertyCategory={0x2000D75B}; CTestRtcAdaptationPlugin::CTestRtcAdaptationPlugin() :CAdaptationTestBase(KTCTestRtcAdaptationPlugin) @@ -53,7 +55,7 @@ if(iSsmRtcAdaptation.Handle()) { TEST(KErrNotSupported == status.Int()); - INFO_PRINTF3(_L("CTestRtcAdaptationPlugin::TestValidateRtc completed with %d error : expected %d>"),status.Int(),KErrNone); + INFO_PRINTF3(_L("CTestRtcAdaptationPlugin::TestValidateRtc completed with %d error : expected %d>"),status.Int(),KErrNotSupported); } else { @@ -74,7 +76,7 @@ if(iSsmRtcAdaptation.Handle()) { TEST(KErrNotSupported == status.Int()); - INFO_PRINTF3(_L("CTestRtcAdaptationPlugin::TestSetWakeupAlarm completed with %d error : expected %d>"),status.Int(),KErrNone); + INFO_PRINTF3(_L("CTestRtcAdaptationPlugin::TestSetWakeupAlarm completed with %d error : expected %d>"),status.Int(),KErrNotSupported); } else { @@ -94,7 +96,7 @@ if(iSsmRtcAdaptation.Handle()) { TEST(KErrNotSupported == status.Int()); - INFO_PRINTF3(_L("CTestRtcAdaptationPlugin::TestUnsetWakeupAlarm completed with %d error : expected %d>"),status.Int(),KErrNone); + INFO_PRINTF3(_L("CTestRtcAdaptationPlugin::TestUnsetWakeupAlarm completed with %d error : expected %d>"),status.Int(),KErrNotSupported); } else { @@ -114,9 +116,29 @@ //from CAdaptationTestBase TVerdict CTestRtcAdaptationPlugin::doTestStepL() { - TInt err = KErrNone; - __UHEAP_MARK; + + RProcess processHandle; + CleanupClosePushL(processHandle); + + //Start the test exe which defines startup related property keys + + TInt err = processHandle.Create(KExeToDefineTestPS, KNullDesC); + INFO_PRINTF2(_L("Process creation returned : %d"), err); + User::LeaveIfError(err); + processHandle.Resume(); + + // wait for the newly created process to rendezvous + TRequestStatus status; + processHandle.Rendezvous(status); + User::WaitForRequest(status); + TInt retVal = status.Int(); + INFO_PRINTF2(_L("iStatus.Int() returned : %d"), retVal); + TEST(KErrNone == retVal); + CleanupStack::PopAndDestroy(); + + err = RProperty::Set(KPropertyCategory, KRtcAdaptationPluginPropertyKey, 1); + TEST(KErrNone == err); TRAP(err, TestValidateRtc()); TEST(err == KErrNone); @@ -142,7 +164,8 @@ TestCancel(); //TestRelease(); // have to test this part too ... - + err = RProperty::Set(KPropertyCategory, KRtcAdaptationPluginPropertyKey, 0); + TEST(KErrNone == err); __UHEAP_MARKEND; return TestStepResult(); diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstateplugins/test/tunitadptplugin/src/tsim_adaptationplugin_step.cpp --- a/sysstatemgmt/systemstateplugins/test/tunitadptplugin/src/tsim_adaptationplugin_step.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstateplugins/test/tunitadptplugin/src/tsim_adaptationplugin_step.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -22,12 +22,14 @@ #include +#include #include "tsim_adaptationplugin_step.h" // // Run the tests // - +const TUint32 KSimPluginPropertyKey = 0x2000D76B; +const TUid KPropertyCategory={0x2000D75B}; // tcustomcmd_server SID = KSsmServerName SID (changed in tcustomcmd_server.mmp file) CTestSimAdaptationPlugin::CTestSimAdaptationPlugin() :CAdaptationTestBase(KTCTestSimAdaptationPlugin) @@ -102,10 +104,13 @@ //from CAdaptationTestBase TVerdict CTestSimAdaptationPlugin::doTestStepL() { - TInt err = KErrNone; - __UHEAP_MARK; + TInt err = RProperty::Define(KPropertyCategory, KSimPluginPropertyKey, RProperty::EInt); + TEST((KErrNone == err) || (KErrAlreadyExists == err)); + err = RProperty::Set(KPropertyCategory, KSimPluginPropertyKey, 1); + TEST(KErrNone == err); + TRAP(err, TestGetSimOwned()); TEST(err == KErrNone); @@ -128,6 +133,8 @@ TestGetCancel(); //TestRelease(); // have to test this part too ... + err = RProperty::Delete(KPropertyCategory, KSimPluginPropertyKey); + TEST(KErrNone == err); __UHEAP_MARKEND; return TestStepResult(); diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstateplugins/test/tunitadptplugin/src/tstate_adaptationplugin_step.cpp --- a/sysstatemgmt/systemstateplugins/test/tunitadptplugin/src/tstate_adaptationplugin_step.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstateplugins/test/tunitadptplugin/src/tstate_adaptationplugin_step.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -22,9 +22,13 @@ #include +#include #include #include "tstate_adaptationplugin_step.h" +const TUint32 KStateAdaptationPluginPropertyKey = 0x2000D76A; +const TUid KPropertyCategory={0x2000D75B}; + typedef MStateAdaptation* (*TFuncNewL)(); CTestStateAdaptationPlugin::CTestStateAdaptationPlugin() @@ -181,7 +185,10 @@ //from CAdaptationTestBase TVerdict CTestStateAdaptationPlugin::doTestStepL() { - TInt err = KErrNone; + TInt err = RProperty::Define(KPropertyCategory, KStateAdaptationPluginPropertyKey, RProperty::EInt); + TEST((KErrNone == err) || (KErrAlreadyExists == err)); + err = RProperty::Set(KPropertyCategory, KStateAdaptationPluginPropertyKey, 1); + TEST(KErrNone == err); __UHEAP_MARK; TRAP(err, TestRequestCoopSysStateChangeL()); @@ -256,6 +263,8 @@ TestNotifyCancel(); TEST(err == KErrNone); - + + err = RProperty::Delete(KPropertyCategory, KStateAdaptationPluginPropertyKey); + TEST(KErrNone == err); return TestStepResult(); } diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstateplugins/test/tunitconditionevaluator/group/sspluginstest_tunitconditionevaluator.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/systemstateplugins/test/tunitconditionevaluator/group/sspluginstest_tunitconditionevaluator.pkg Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,28 @@ +; +; Copyright (c) 2010 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: +; + +;Languages +&EN + + +;Localised Vendor name +%{"Ssplugins_TUnitConditionEvaluator EN"} + +; Vendor name +: "Ssplugins_TUnitConditionEvaluator" + +"\sf\os\devicesrv\sysstatemgmt\systemstateplugins\test\tunitconditionevaluator\scripts\sspluginstest_cndeval_conditionevaluator.script"-"c:\devicesrv\sspluginstest\sspluginstest_cndeval_conditionevaluator.script" + diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstateplugins/test/tunitgsapolicy/group/sspluginstest_tgsa.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/systemstateplugins/test/tunitgsapolicy/group/sspluginstest_tgsa.pkg Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,31 @@ +; +; Copyright (c) 2010 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: +; + +;Languages +&EN + + +;Localised Vendor name +%{"Ssplugins_TGsa EN"} + +; Vendor name +: "Ssplugins_TGsa" + +"\sf\os\devicesrv\sysstatemgmt\systemstateplugins\test\tunitgsapolicy\scripts\sspluginstest_gsa_startup.script"-"c:\devicesrv\sspluginstest\sspluginstest_gsa_startup.script" +"\sf\os\devicesrv\sysstatemgmt\systemstateplugins\test\tunitgsapolicy\scripts\sspluginstest_gsa_normal.script"-"c:\devicesrv\sspluginstest\sspluginstest_gsa_normal.script" +"\sf\os\devicesrv\sysstatemgmt\systemstateplugins\test\tunitgsapolicy\scripts\sspluginstest_gsa_shutdown.script"-"c:\devicesrv\sspluginstest\sspluginstest_gsa_shutdown.script" +"\sf\os\devicesrv\sysstatemgmt\systemstateplugins\test\tunitgsapolicy\scripts\sspluginstest_gsa_fail.script"-"c:\devicesrv\sspluginstest\sspluginstest_gsa_fail.script" + diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstateplugins/test/tunitgsapolicy/group/tgsa_server.mmp --- a/sysstatemgmt/systemstateplugins/test/tunitgsapolicy/group/tgsa_server.mmp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstateplugins/test/tunitgsapolicy/group/tgsa_server.mmp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -34,6 +34,7 @@ USERINCLUDE ../inc USERINCLUDE ../../../gsapolicy/inc USERINCLUDE ../../../localinc +USERINCLUDE ../../../../ssmpolicyplugins/inc SOURCEPATH ../src SOURCE tgsa_server.cpp diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstateplugins/test/tunitgsapolicy/src/tgsa_step_fail.cpp --- a/sysstatemgmt/systemstateplugins/test/tunitgsapolicy/src/tgsa_step_fail.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstateplugins/test/tunitgsapolicy/src/tgsa_step_fail.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -27,12 +27,19 @@ #include #include #include +#include "ssmsubstateext.hrh" #include "tgsa_step_fail.h" -TSsmCommandType ArrFail[] = { ESsmCmdPublishSystemState, ESsmCmdPersistHalAttributes, - ESsmCmdFinaliseDrives, ESsmCmdPowerOff }; - +TSsmCommandType ArrFail[] = { ESsmCmdCustomCommand, //r_cmd_sastate + ESsmCmdPublishSystemState, //r_cmd_publishstate + ESsmCmdSetPAndSKey, //r_cmd_psstate + ESsmCmdCustomCommand, //r_cmd_cancelmonitoring + ESsmCmdSetPAndSKey, //r_cmd_killsplash + ESsmCmdCustomCommand, //r_cmd_contactservice + ESsmCmdStartApp, //r_cmd_sysap + ESsmCmdMultipleWait //r_cmd_multiwaitforever + }; CGsaFailTest::~CGsaFailTest() { } @@ -112,8 +119,10 @@ void CGsaFailTest::doTestPrepareCommandListL() { INFO_PRINTF1(_L("> CGsaFailTest::doTestPrepareCommandListL")); - TestPrepareCommandListL(ESsmFail ,KSsmAnySubState, KErrNone); - TestPrepareCommandListL(ESsmFail ,KSsmAnySubState, KErrNone); + //The default substate in the actual (fail policy) is mapped to + //ESsmStateFail = 0x30 + //Hence testing for the same. + TestPrepareCommandListL(ESsmFail ,ESsmStateFail , KErrNone); TestPrepareCommandListL(ESsmFail ,100, KErrNotFound); } @@ -125,7 +134,7 @@ { INFO_PRINTF1(_L("> CGsaFailTest::doTestCommandListL")); - TestCommandListL(ESsmFail, KSsmAnySubState, (sizeof(ArrFail)/sizeof(ArrFail[0]))); + TestCommandListL(ESsmFail, ESsmStateFail, (sizeof(ArrFail)/sizeof(ArrFail[0]))); } /** @@ -137,11 +146,11 @@ { CGsaStatePolicyFail* policy = CreateAndInitializeFailPolicyLC(); - TSsmState state(ESsmFail, KSsmAnySubState); + TSsmState state(ESsmFail, ESsmStateFail); TSsmState result(0, 0); TestGetNextState(policy, state, KErrNone, result); - TSsmState firstState(ESsmFail, KSsmAnySubState); + TSsmState firstState(ESsmFail, ESsmStateFail); TestGetNextState(policy, firstState, KErrNone, result); TSsmState unknownState(ESsmFail, 100); @@ -266,7 +275,7 @@ void CGsaFailTest::TestGetNextState(CGsaStatePolicyFail* aPolicy, TSsmState aCurrentTransition, TInt aError, TSsmState aResult) { TRequestStatus trs; - TSsmState state(ESsmFail, KSsmAnySubState); + TSsmState state(ESsmFail, ESsmStateFail); aPolicy->PrepareCommandList(state, KErrNone, trs); StartScheduler(); User::WaitForRequest(trs); diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstateplugins/test/tunitgsapolicy/src/tgsa_step_shutdown.cpp --- a/sysstatemgmt/systemstateplugins/test/tunitgsapolicy/src/tgsa_step_shutdown.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstateplugins/test/tunitgsapolicy/src/tgsa_step_shutdown.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -27,12 +27,24 @@ #include #include #include +#include #include "tgsa_step_shutdown.h" -TSsmCommandType ArrCriticalShutdown[] = { ESsmCmdPublishSystemState}; -TSsmCommandType ArrNonCriticalShutdown[] = { ESsmCmdPublishSystemState, ESsmCmdPersistHalAttributes, ESsmCmdFinaliseDrives}; -TSsmCommandType ArrPowerOffShutdown[] = { ESsmCmdPublishSystemState, ESsmCmdPowerOff }; +TSsmCommandType ArrCriticalShutdown[] = { ESsmCmdCustomCommand, //r_cmd_sastate + ESsmCmdPublishSystemState, //r_cmd_publishstate + ESsmCmdSetPAndSKey, //r_cmd_psstate + ESsmCmdCustomCommand, //r_cmd_cancelmonitoring + ESsmCmdCustomCommand //r_cmd_shutdownapps + }; +TSsmCommandType ArrNonCriticalShutdown[] = {ESsmCmdPublishSystemState, //r_cmd_publishstate + ESsmCmdSetPAndSKey, //r_cmd_killsplash + ESsmCmdCustomCommand, //r_cmd_sashutdown + ESsmCmdFinaliseDrives //r_cmd_finalisedrives + }; +TSsmCommandType ArrPowerOffShutdown[] = { ESsmCmdPublishSystemState, //r_cmd_publishstate + ESsmCmdPowerOff //r_cmd_poweroff + }; const TUint16 KUnknownState = 100; @@ -132,11 +144,11 @@ { INFO_PRINTF1(_L("> CGsaShutdownTest::doTestCommandListL")); - TestCommandListL(ESsmShutdown, ESsmShutdownSubStateCritical, 1); + TestCommandListL(ESsmShutdown, ESsmShutdownSubStateCritical, (sizeof(ArrCriticalShutdown)/sizeof(ArrCriticalShutdown[0]))); // KSsmAnySubState - TestCommandListL(ESsmShutdown, KSsmAnySubState, 1); - TestCommandListL(ESsmShutdown, ESsmShutdownSubStateNonCritical, 3); - TestCommandListL(ESsmShutdown, ESsmShutdownSubStatePowerOff, 2); + TestCommandListL(ESsmShutdown, KSsmAnySubState, (sizeof(ArrCriticalShutdown)/sizeof(ArrCriticalShutdown[0]))); + TestCommandListL(ESsmShutdown, ESsmShutdownSubStateNonCritical, (sizeof(ArrNonCriticalShutdown)/sizeof(ArrNonCriticalShutdown[0]))); + TestCommandListL(ESsmShutdown, ESsmShutdownSubStatePowerOff, (sizeof(ArrPowerOffShutdown)/sizeof(ArrPowerOffShutdown[0]))); } /** diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstateplugins/test/tunitgsapolicy/src/tgsa_step_startup.cpp --- a/sysstatemgmt/systemstateplugins/test/tunitgsapolicy/src/tgsa_step_startup.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstateplugins/test/tunitgsapolicy/src/tgsa_step_startup.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -27,10 +27,20 @@ #include #include #include +#include #ifdef SYMBIAN_SSM_GRACEFUL_SHUTDOWN -TSsmCommandType ArrCriticalStartUp[] = { ESsmCmdCustomCommand,ESsmCmdPublishSystemState,ESsmCmdStartProcess, ESsmCmdStartProcess, ESsmCmdStartProcess, ESsmCmdStartProcess,ESsmCmdStartProcess, ESsmCmdSetPAndSKey, ESsmCmdStartProcess, ESsmCmdStartProcess, ESsmCmdStartProcess, ESsmCmdLoadSup }; +TSsmCommandType ArrCriticalStartUp[] = {ESsmCmdPublishSystemState, //r_cmd_publishstate + ESsmCmdStartProcess, //r_cmd_sysagt + ESsmCmdCustomCommand, //r_cmd_initpskeys + ESsmCmdCustomCommand, //r_cmd_checkuserdrive + ESsmCmdCustomCommand, //r_cmd_deltempfiles + ESsmCmdStartProcess, //r_cmd_reservedisk + ESsmCmdStartProcess, //r_cmd_sysmon + ESsmCmdStartProcess, //r_cmd_ssmutilsrv + ESsmCmdMultipleWait //r_cmd_multiwaitforever + }; #else TSsmCommandType ArrCriticalStartUp[] = { ESsmCmdCustomCommand,ESsmCmdPublishSystemState,ESsmCmdStartProcess, ESsmCmdStartProcess, ESsmCmdStartProcess, ESsmCmdStartProcess,ESsmCmdStartProcess, ESsmCmdSetPAndSKey, ESsmCmdStartProcess, ESsmCmdStartProcess, ESsmCmdStartProcess }; #endif @@ -39,8 +49,45 @@ #ifdef TEST_SSM_GRACEFUL_OFFLINE TSsmCommandType ArrNonCriticalStartUp[] = { ESsmCmdSetPAndSKey, ESsmCmdSetPAndSKey,ESsmCmdSetPAndSKey,ESsmCmdPublishSystemState ,ESsmCmdStartProcess,ESsmCmdStartProcess,ESsmCmdStartProcess,ESsmCmdStartProcess,ESsmCmdStartProcess,ESsmCmdStartProcess,ESsmCmdAMAStarter}; #else -TSsmCommandType ArrNonCriticalStartUp[] = { ESsmCmdPublishSystemState ,ESsmCmdStartProcess,ESsmCmdStartProcess,ESsmCmdStartProcess,ESsmCmdStartProcess,ESsmCmdStartProcess,ESsmCmdStartProcess,ESsmCmdAMAStarter}; +TSsmCommandType ArrNonCriticalStartUp[] = { ESsmCmdCustomCommand, //r_cmd_sastate + ESsmCmdPublishSystemState, //r_cmd_publishstate + ESsmCmdSetPAndSKey, //r_cmd_psstate + ESsmCmdCustomCommand, //r_cmd_startupmode + ESsmCmdLoadSup, //r_cmd_loadpowersup + ESsmCmdCustomCommand, //r_cmd_rfsfirstboot + ESsmCmdCustomCommand, //r_cmd_rfsdeep + ESsmCmdCustomCommand, //r_cmd_rfsnormal + ESsmCmdCustomCommand, //r_cmd_initclkeys + ESsmCmdCustomCommand, //r_cmd_initramdrive + ESsmCmdStartProcess, //r_cmd_wserv + ESsmCmdStartProcess, //r_cmd_splash + ESsmCmdStartProcess, //r_cmd_tzsrv + ESsmCmdStartProcess, //r_cmd_mediator + ESsmCmdStartProcess, //r_cmd_hwrmsrv + ESsmCmdCustomCommand, //r_cmd_rtc + ESsmCmdMultipleWait, //r_cmd_multiwaitforever1 + ESsmCmdStartProcess, //r_cmd_dbrecovery + ESsmCmdStartProcess, //r_cmd_accsrv + ESsmCmdCustomCommand, //r_cmd_selectlanguage + ESsmCmdMultipleWait, //r_cmd_multiwaitforever2 + ESsmCmdLoadSup, //r_cmd_loadlocalesup + ESsmCmdLoadSup, //r_cmd_loadcollation + ESsmCmdLoadSup, //r_cmd_loadregion + ESsmCmdLoadSup, //r_cmd_loaduilanguage + ESsmCmdCustomCommand, //r_cmd_aknstart + ESsmCmdWaitForApparcInit, //r_cmd_apparc_init + ESsmCmdCustomCommand //r_cmd_rfspostui + }; #endif +TSsmCommandType ArrCriticalAppsStartUp[] = {ESsmCmdCustomCommand, //r_cmd_sastate + ESsmCmdPublishSystemState, //r_cmd_publishstate + ESsmCmdSetPAndSKey, //r_cmd_psstate + ESsmCmdCustomCommand, //r_cmd_selftest + ESsmCmdStartProcess, //r_cmd_cfserver + ESsmCmdStartApp, //r_cmd_sysap + ESsmCmdStartProcess, //r_cmd_profmon + ESsmCmdMultipleWait //r_cmd_multiwaitforever + }; CGsaStartupTest::~CGsaStartupTest() { @@ -123,9 +170,8 @@ INFO_PRINTF1(_L("> CGsaStartupTest::doTestPrepareCommandListL")); TestPrepareCommandListL(ESsmStartup ,ESsmStartupSubStateCriticalStatic, KErrNone); TestPrepareCommandListL(ESsmStartup ,KSsmAnySubState, KErrNone); - TestPrepareCommandListL(ESsmStartup ,ESsmStartupSubStateCriticalDynamic, KErrNone); - TestPrepareCommandListL(ESsmStartup ,ESsmStartupSubStateNetworkingCritical, KErrNone); TestPrepareCommandListL(ESsmStartup ,ESsmStartupSubStateNonCritical, KErrNone); + TestPrepareCommandListL(ESsmStartup ,ESsmStateStartingCriticalApps, KErrNone); //ESsmStateStartingCriticalApps = 0x31 TestPrepareCommandListL(ESsmStartup ,100, KErrNotFound); } @@ -139,10 +185,8 @@ INFO_PRINTF1(_L("> CGsaStartupTest::doTestCommandListL")); TestCommandListL(ESsmStartup, ESsmStartupSubStateCriticalStatic, sizeof(ArrCriticalStartUp) / sizeof(ArrCriticalStartUp[0])); - TestCommandListL(ESsmStartup, KSsmAnySubState, sizeof(ArrCriticalStartUp) / sizeof(ArrCriticalStartUp[0])); - TestCommandListL(ESsmStartup, ESsmStartupSubStateCriticalDynamic, sizeof(ArrDynamicStartUp) / sizeof(ArrDynamicStartUp[0])); - TestCommandListL(ESsmStartup, ESsmStartupSubStateNetworkingCritical, sizeof(ArrNetworkingStartUp) / sizeof(ArrNetworkingStartUp[0])); TestCommandListL(ESsmStartup, ESsmStartupSubStateNonCritical, sizeof(ArrNonCriticalStartUp) / sizeof(ArrNonCriticalStartUp[0])); + TestCommandListL(ESsmStartup, ESsmStateStartingCriticalApps, sizeof(ArrCriticalAppsStartUp) / sizeof(ArrCriticalAppsStartUp[0])); } /** @@ -156,46 +200,22 @@ CGsaStatePolicyStartup* policy = CreateAndInitializeStartUpPolicyLC(); TSsmState state(ESsmStartup, KSsmAnySubState); - TSsmState result(ESsmStartup, ESsmStartupSubStateCriticalDynamic); - // KSsmAnySubState (KSsmAnySubState) will return ESsmStartUpSubStateCriticalDynamic only for the first time, + TSsmState result(ESsmStartup, ESsmStartupSubStateNonCritical); + // KSsmAnySubState (KSsmAnySubState) will return ESsmStartupSubStateNonCritical only for the first time, // next call will always return the next sub state for transition. TestGetNextState(policy, state, KErrNone, result); TSsmState firstState(ESsmStartup, ESsmStartupSubStateCriticalStatic); - TSsmState firstResult(ESsmStartup, ESsmStartupSubStateCriticalDynamic); + TSsmState firstResult(ESsmStartup, ESsmStartupSubStateNonCritical); TestGetNextState(policy, firstState, KErrNone, firstResult); - TSsmState secondState(ESsmStartup, ESsmStartupSubStateCriticalDynamic); - TSsmState secondResult(ESsmStartup, ESsmStartupSubStateNetworkingCritical); + TSsmState secondState(ESsmStartup, ESsmStartupSubStateNonCritical); + TSsmState secondResult(ESsmStartup, ESsmStateStartingCriticalApps); TestGetNextState(policy, secondState, KErrNone, secondResult); - TSsmState thirdState(ESsmStartup, ESsmStartupSubStateNetworkingCritical); - TSsmState thirdResult(ESsmStartup, ESsmStartupSubStateNonCritical); + TSsmState thirdState(ESsmStartup, ESsmStateStartingCriticalApps); + TSsmState thirdResult(ESsmStartup, ESsmStateSelfTestOK); TestGetNextState(policy, thirdState, KErrNone, thirdResult); -#ifdef __WINS__ - TSsmState fourthState(ESsmStartup, ESsmStartupSubStateNonCritical); - TSsmState fourthResult(ESsmNormal, KSsmAnySubState); - TestGetNextState(policy, fourthState, KErrNone, fourthResult); -#else - TSsmState fourthState(ESsmStartup, ESsmStartupSubStateNonCritical); - TSsmState fourthResult(ESsmStartup, 0x48);//Added 0x48 sub-state for new test for ARMV5 - TestGetNextState(policy, fourthState, KErrNone, fourthResult); - //This new state test Added for the one more sub-state available in ARMV5 compare to WINSCW - TSsmState fourthToNextState(ESsmStartup, 0x48); - TSsmState fourthToNextStateResult(ESsmNormal, KSsmAnySubState); - TestGetNextState(policy, fourthToNextState, KErrNone, fourthToNextStateResult); -#endif - - TSsmState fifthState(ESsmStartup, KSsmAnySubState); - TSsmState fifthResult(ESsmStartup, ESsmStartupSubStateCriticalDynamic); - // KSsmAnySubState (0xffff) will return ESsmStartUpSubStateCriticalDynamic only for the first time, - // next call will always return the next sub state for transition. - TestGetNextState(policy, fifthState, KErrNone, fifthResult); - - //Commented this test because CGsaStatePolicyStartup::GETNExtstate panicks if substate is unknown - //TSsmState unknownState(ESsmStartup, 100); - //TSsmState knownResult(ESsmStartup, 0); - //TestGetNextState(policy, unknownState, KErrNone, knownResult); CleanupStack::PopAndDestroy(policy); } diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstateplugins/test/tunitutilityplugin/group/sspluginstest_tutility.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/systemstateplugins/test/tunitutilityplugin/group/sspluginstest_tutility.pkg Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,29 @@ +; +; Copyright (c) 2010 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: +; + +;Languages +&EN + + +;Localised Vendor name +%{"Ssplugins_TUtility EN"} + +; Vendor name +: "Ssplugins_TUtility" + +"\sf\os\devicesrv\sysstatemgmt\systemstateplugins\test\tunitutilityplugin\scripts\sspluginstest_utility.script"-"c:\devicesrv\sspluginstest\sspluginstest_utility.script" +"\sf\os\devicesrv\sysstatemgmt\systemstateplugins\test\tunitutilityplugin\scripts\sspluginstest_unit_utility.script"-"c:\devicesrv\sspluginstest\sspluginstest_unit_utility.script" + diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatereferenceplugins/clayer/src/starterclient.cpp --- a/sysstatemgmt/systemstatereferenceplugins/clayer/src/starterclient.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatereferenceplugins/clayer/src/starterclient.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -337,31 +337,54 @@ EXPORT_C TInt RStarterSession::ResetNetwork() { + TInt requestResult; RSsmStateManager session; // Set session to use the handle stored in this session.SetHandle(Handle()); - - // Make request and return success. - TUint rfStatusPropertyKey = CSsmUiSpecific::RFStatusPropertyKey(); - TSsmSwp swpRFStatus(rfStatusPropertyKey, ESsmRfOff); - - RSsmSystemWideProperty swp; - swp.Connect(rfStatusPropertyKey); + + //Perform state transition instead of SwP transition if KSsmGracefulOffline is enabled + if (IsSsmGracefulOffline()) + { + DEBUGPRINT1A( "KSsmGracefulOffline is enabled perform state transition" ); + TSsmStateTransition stateinfo(ESsmNormal, ESsmNormalRfOffSubState, KSsmCLayerNullReason); + // Make request for substate transition to offline + requestResult = session.RequestStateTransition(stateinfo); + DEBUGPRINT2A( "State transition to ESsmNormalRfOffSubState returned : %d", requestResult); + if (KErrNone == requestResult) + { + TSsmStateTransition stateinfo(ESsmNormal, ESsmNormalRfOnSubState, KSsmCLayerNullReason); + // Make request for substate transition to online + requestResult = session.RequestStateTransition(stateinfo); + DEBUGPRINT2A( "State transition to ESsmNormalRfOnSubState returned : %d", requestResult); + } + } + else + { + // Make request and return success. + TUint rfStatusPropertyKey = CSsmUiSpecific::RFStatusPropertyKey(); + TSsmSwp swpRFStatus(rfStatusPropertyKey, ESsmRfOff); - TRequestStatus status; - //Subscribe for SwP changes - swp.Subscribe(status); + RSsmSystemWideProperty swp; + swp.Connect(rfStatusPropertyKey); + + TRequestStatus status; + //Subscribe for SwP changes + swp.Subscribe(status); - TInt requestResult= session.RequestSwpChange(swpRFStatus); - if(KErrNone == requestResult) - { - // Wait for SwP Change - User::WaitForRequest(status); - swpRFStatus.Set(rfStatusPropertyKey, ESsmRfOn); requestResult = session.RequestSwpChange(swpRFStatus); + DEBUGPRINT2A( "RF SwP transition to ESsmRfOff returned : %d", requestResult); + if (KErrNone == requestResult) + { + // Wait for SwP Change + User::WaitForRequest(status); + swpRFStatus.Set(rfStatusPropertyKey, ESsmRfOn); + requestResult = session.RequestSwpChange(swpRFStatus); + DEBUGPRINT2A( "RF SwP transition to ESsmRfOn returned : %d", requestResult); + } + swp.Close(); } - swp.Close(); // Session is not closed before returning as this owns the handle + DEBUGPRINT2A( "ResetNetwork() is returning requestResult as: %d", requestResult); return requestResult; } diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatereferenceplugins/custcmd/group/ssmuiproviderdlldefault.mmp --- a/sysstatemgmt/systemstatereferenceplugins/custcmd/group/ssmuiproviderdlldefault.mmp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatereferenceplugins/custcmd/group/ssmuiproviderdlldefault.mmp Thu Jul 22 16:45:41 2010 +0100 @@ -35,15 +35,33 @@ NOEXPORTLIBRARY SOURCEPATH ../src +// This is a temporary fix for fixing the build issues arising out of XSymbian code +// getting compiled before xS60 code is in the mainline. This will be removed after +// the merged package issues are resolved +#ifdef FF_SIMLESS_OFFLINE_SUPPORT SOURCE ssmuiproviderdlldefault.cpp +#else //FF_SIMLESS_OFFLINE_SUPPORT +SOURCE ssmuiproviderdllref.cpp +#endif //FF_SIMLESS_OFFLINE_SUPPORT USERINCLUDE ../inc USERINCLUDE ../../localinc USERINCLUDE ../../clayer/inc +#ifdef FF_SIMLESS_OFFLINE_SUPPORT +USERINCLUDE ../../../ssmmapperutility/inc +USERINCLUDE ../../../ssmmapperutility/pubsub +USERINCLUDE ../../../ssmpolicyplugins/inc +#endif //FF_SIMLESS_OFFLINE_SUPPORT + OS_LAYER_SYSTEMINCLUDE_SYMBIAN LIBRARY euser.lib LIBRARY efsrv.lib +#ifdef FF_SIMLESS_OFFLINE_SUPPORT +LIBRARY platformenv.lib +LIBRARY ssmcmn.lib +LIBRARY ssmmapperutility.lib +#endif //FF_SIMLESS_OFFLINE_SUPPORT SMPSAFE diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatereferenceplugins/custcmd/inc/ssmuiproviderdll.h --- a/sysstatemgmt/systemstatereferenceplugins/custcmd/inc/ssmuiproviderdll.h Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatereferenceplugins/custcmd/inc/ssmuiproviderdll.h Thu Jul 22 16:45:41 2010 +0100 @@ -63,6 +63,9 @@ private: CSsmUiSpecific(); void ConstructL(); + + //Helper function to check for P&S Key + static TBool IsTestPsKeyDefined(); private: TStrtSecurityStatus iStrtSecurityStatus; TInt iReferenceCount; diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatereferenceplugins/custcmd/src/ssmsecuritychecknotifier.cpp --- a/sysstatemgmt/systemstatereferenceplugins/custcmd/src/ssmsecuritychecknotifier.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatereferenceplugins/custcmd/src/ssmsecuritychecknotifier.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -26,6 +26,7 @@ #include "ssmsecuritychecknotifier.h" #include "ssmdebug.h" #include "ssmuiproviderdll.h" +#include "ssmrefcustomcmdcommon.h" #include #include #include @@ -200,21 +201,27 @@ //Get the current state of the system TSsmState currentState = ssmStateAwareSession.State(); + //Close the state aware session + ssmStateAwareSession.Close(); + TBool isDlgCancellable; //Is system in start up state if ( currentState.MainState() == ESsmStartup ) { + TInt securityPhaseVal = EStarterSecurityPhaseUninitialized; + TInt errorCode = RProperty::Get(CSsmUiSpecific::StarterPSUid(), KStarterSecurityPhase, securityPhaseVal); + DEBUGPRINT3A("Getting the KStarterSecurityPhase completed with errorcode %d and its value is %d", errorCode, securityPhaseVal); + User::LeaveIfError(errorCode); + //TSsmStartupSubStateExt::ESsmStateNonCritical - iAfterStartup = ( 0x34 == currentState.SubState() ) ? ETrue : EFalse; + iAfterStartup = ( 0x34 == currentState.SubState() && securityPhaseVal > EStarterSecurityPhaseSimNok ) ? ETrue : EFalse; } else { iAfterStartup = ETrue; } - - //Close the state aware session - ssmStateAwareSession.Close(); + DEBUGPRINT2A("iAfterStartup is %d", iAfterStartup); //Notifier dialogue is not cancellable if system is in startup state and //requested for PUK1 or PUK2 or UPUK code diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatereferenceplugins/custcmd/src/ssmuiproviderdlldefault.cpp --- a/sysstatemgmt/systemstatereferenceplugins/custcmd/src/ssmuiproviderdlldefault.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatereferenceplugins/custcmd/src/ssmuiproviderdlldefault.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -22,8 +22,20 @@ #include "ssmpanic.h" #include #include "ssmdebug.h" +#include +#include +#include +#include +#include +#include +#include +#include "ssmmapperutilitystatic.h" +#include "ssmmapperutilityinternalpskeys.h" +#include "ssmsubstateext.hrh" +#include "ssmswp.hrh" +#include "trace.h" -const TUid KPSStartupUid = {0x2000E65E}; +const TUid KPSStartupDefaultUid = {0x2000E65E}; const TUid KSecurityPinNotifierUid = {0x2000E667}; const TUid KScreenOutputChannel = {0x10009D48}; const TUid KEmergencyCallPropertyCategory = {0x2001032C}; @@ -40,8 +52,17 @@ //Number of clusterSize to be reserve for phone memory space const TInt KNumberOfCluster = 2; -_LIT(KTsyModuleName, "mm.tsy"); -_LIT(KTsyPhoneName, "GsmPhone1"); +//For test code +/** Channel used to communicate with Security Notifier. */ +static const TUid KSecurityNotifierChannel = { 0x1000598F }; + +// Type definitions for a buffer containing a drive id (drive letter + :). +const TInt KDriveIdLength = 2; +typedef TBuf TDriveId; + +const TUint32 KMiscPluginPropertyKey = 0x2000E658; +const TUid KPropertyCategory={0x2000D75B}; // tcustomcmd_server SID = KSsmServerName SID (changed in tcustomcmd_server.mmp file) + CSsmUiSpecific::CSsmUiSpecific() : iReferenceCount(1), iReservedPhoneMemory(0) @@ -55,36 +76,85 @@ EXPORT_C TUid CSsmUiSpecific::StartupPSUid() { - return KPSStartupUid; + if (!IsTestPsKeyDefined()) + { + DEBUGPRINT1A("StartupPSUid :: Calling S60 plugins functions "); + return KPSUidStartup; + } + else + { + DEBUGPRINT1A("StartupPSUid :: Calling Symbian(dummy) plugins functions "); + return KPSStartupDefaultUid; + } } EXPORT_C TUid CSsmUiSpecific::SecurityPinNotifierUid() { - return KSecurityPinNotifierUid; + if (!IsTestPsKeyDefined()) + { + DEBUGPRINT1A("SecurityPinNotifierUid :: Calling S60 plugins functions "); + return KSecurityNotifierUid; + } + else + { + DEBUGPRINT1A("SecurityPinNotifierUid :: Calling Symbian(dummy) plugins functions "); + return KSecurityPinNotifierUid; + } + } EXPORT_C TUint CSsmUiSpecific::EmergencyCallPropertyKey() { - return KEmergencyCallPropertyKey; + if (!IsTestPsKeyDefined()) + { + DEBUGPRINT1A("EmergencyCallPropertyKey :: Calling S60 plugins functions "); + return KCTsyCallState; + } + else + { + DEBUGPRINT1A("EmergencyCallPropertyKey :: Calling Symbian(dummy) plugins functions "); + return KEmergencyCallPropertyKey; + } + } EXPORT_C TUid CSsmUiSpecific::EmergencyCallPropertyCategory() { - return KEmergencyCallPropertyCategory; + if (!IsTestPsKeyDefined()) + { + DEBUGPRINT1A("EmergencyCallPropertyCategory :: Calling S60 plugins functions "); + return KPSUidCtsyCallInformation; + } + else + { + DEBUGPRINT1A("EmergencyCallPropertyCategory :: Calling Symbian(dummy) plugins functions "); + return KEmergencyCallPropertyCategory; + } + } EXPORT_C TBool CSsmUiSpecific::IsSimSupported() { - return ETrue; + if (!IsTestPsKeyDefined()) + { + DEBUGPRINT1A("IsSimSupported :: Calling S60 plugins functions "); + return SsmMapperUtility::FeatureStatus( TUid::Uid( KFeatureIdSimCard ) ); + } + else + { + DEBUGPRINT1A("IsSimSupported :: Calling Symbian(dummy) plugins functions "); + return ETrue; + } + } EXPORT_C void CSsmUiSpecific::SetSecurityStatus(const TStrtSecurityStatus& aSecurityStatus) - { + { iStrtSecurityStatus = aSecurityStatus; } EXPORT_C TStrtSecurityStatus CSsmUiSpecific::SecurityStatus() const - { + { return iStrtSecurityStatus; } @@ -127,83 +197,269 @@ EXPORT_C TUid CSsmUiSpecific::ScreenOutputChannelUid() { - return KScreenOutputChannel; + if (!IsTestPsKeyDefined()) + { + DEBUGPRINT1A("ScreenOutputChannelUid :: Calling S60 plugins functions "); + return KSecurityNotifierChannel; + } + else + { + DEBUGPRINT1A("ScreenOutputChannelUid :: Calling Symbian(dummy) plugins functions "); + return KScreenOutputChannel; + } + } EXPORT_C TUint CSsmUiSpecific::SimStatusPropertyKey() { - return KSimStatusPropertyKey; + if (!IsTestPsKeyDefined()) + { + DEBUGPRINT1A("SimStatusPropertyKey :: Calling S60 plugins functions "); + return KPSSimStatus; + } + else + { + DEBUGPRINT1A("SimStatusPropertyKey :: Calling Symbian(dummy) plugins functions "); + return KSimStatusPropertyKey; + } } EXPORT_C TBool CSsmUiSpecific::IsSimStateChangeAllowed() { - return ETrue; + if (!IsTestPsKeyDefined()) + { + DEBUGPRINT1A("IsSimStateChangeAllowed :: Calling S60 plugins functions "); + TSsmState state; + TInt err = SsmMapperUtility::GetCurrentState( state ); + ERROR( err, "Failed to get current state" ); + return ( err == KErrNone && + ( state.MainState() == ESsmStartup && state.SubState() == ESsmStateSecurityCheck ) || + ( state.MainState() == ESsmStartup && state.SubState() == ESsmStateNonCritical ) || + state.MainState() == ESsmNormal ); + } + else + { + DEBUGPRINT1A("IsSimStateChangeAllowed :: Calling Symbian(dummy) plugins functions "); + return ETrue; + } + } EXPORT_C TBool CSsmUiSpecific::IsAmaStarterSupported() { - return ETrue; + if (!IsTestPsKeyDefined()) + { + DEBUGPRINT1A("IsAmaStarterSupported :: Calling S60 plugins functions "); + return SsmMapperUtility::FeatureStatus( TUid::Uid( KFeatureIdExtendedStartup ) ); + } + else + { + DEBUGPRINT1A("IsAmaStarterSupported :: Calling Symbian(dummy) plugins functions "); + return ETrue; + } + } EXPORT_C HBufC* CSsmUiSpecific::GetTsyModuleNameL() { - HBufC* tstModuleName = KTsyModuleName().AllocL(); - return tstModuleName; + DEBUGPRINT1A("GetTsyModuleNameL :: Calling S60 plugins functions "); + /***************************************************** + * Series 60 Customer / TSY + * Needs customer TSY implementation + *****************************************************/ + + HBufC* name = KMmTsyModuleName().AllocL(); + INFO_1( "TSY name: %S", name ); + return name; } EXPORT_C TUid CSsmUiSpecific::StarterPSUid() { - return KSecurityStatusPropertyCategory; + if (!IsTestPsKeyDefined()) + { + DEBUGPRINT1A("StarterPSUid :: Calling S60 plugins functions "); + return KPSStarterUid; + } + else + { + DEBUGPRINT1A("StartupPSUid :: Calling Symbian(dummy) plugins functions "); + return KSecurityStatusPropertyCategory; + } } EXPORT_C HBufC* CSsmUiSpecific::PhoneTsyNameL() { - HBufC* tsyPhoneName = KTsyPhoneName().AllocL(); - return tsyPhoneName; + DEBUGPRINT1A("PhoneTsyNameL :: Calling S60 plugins functions "); + /***************************************************** + * Series 60 Customer / TSY + * Needs customer TSY implementation + *****************************************************/ + + HBufC* name = KMmTsyPhoneName().AllocL(); + INFO_1( "Phone name: %S", name ); + return name; } EXPORT_C TBool CSsmUiSpecific::IsSimPresent() { - return ETrue; + if (!IsTestPsKeyDefined()) + { + DEBUGPRINT1A("IsSimPresent :: Calling S60 plugins functions "); + TInt value( 0 ); + TInt err = RProperty::Get( SsmMapperUtility::PsUid( KPSUidStartup ), KPSSimStatus, value ); + ERROR( err, "Failed to get value of KPSUidStartup::KPSSimStatus" ); + return ( err == KErrNone && + ( value == ESimUsable || + value == ESimReadable || + value == ESimNotReady ) ); + } + else + { + DEBUGPRINT1A("IsSimPresent :: Calling Symbian(dummy) plugins functions "); + return ETrue; + } } EXPORT_C TBool CSsmUiSpecific::IsSimlessOfflineSupported() { - return ETrue; + if (!IsTestPsKeyDefined()) + { + DEBUGPRINT1A("IsSimlessOfflineSupported :: Calling S60 plugins functions "); + return SsmMapperUtility::FeatureStatus( + TUid::Uid( KFeatureIdFfSimlessOfflineSupport ) ); + } + else + { + DEBUGPRINT1A("IsSimlessOfflineSupported :: Calling Symbian(dummy) plugins functions "); + return ETrue; + } } EXPORT_C TBool CSsmUiSpecific::IsNormalBoot() { - return ETrue; + if (!IsTestPsKeyDefined()) + { + DEBUGPRINT1A("IsNormalBoot :: Calling S60 plugins functions "); + TInt value( 0 ); + TInt errorCode = RProperty::Get( SsmMapperUtility::PsUid( KPSUidStartup ), KPSStartupReason, value ); + ERROR( errorCode, "Failed to get value of KPSUidStartup::KPSStartupReason" ); + + TBool ret = ( errorCode == KErrNone && value == ENormalStartup ); + INFO_1( "Is normal boot = %d", ret ); + return ret; + } + else + { + DEBUGPRINT1A("IsNormalBoot :: Calling Symbian(dummy) plugins functions "); + return ETrue; + } } EXPORT_C TBool CSsmUiSpecific::IsSimChangedReset() { - return ETrue; + if (!IsTestPsKeyDefined()) + { + DEBUGPRINT1A("IsSimChangedReset :: Calling S60 plugins functions "); + TUid startupPsUid( SsmMapperUtility::PsUid( KPSUidStartup ) ); + TInt value( 0 ); + TInt errorCode = RProperty::Get( startupPsUid, KPSStartupReason, value ); + ERROR( errorCode, "Failed to get value of KPSUidStartup::KPSStartupReason" ); + + TBool ret( EFalse ); + if ( errorCode == KErrNone && value == ESIMStatusChangeReset ) + { + errorCode = RProperty::Get( startupPsUid, KPSSimChanged, value ); + ret = ( errorCode == KErrNone && value == ESimChanged ); + } + + INFO_1( "Is SIM changed reset = %d", ret ); + return ret; + } + else + { + DEBUGPRINT1A("IsSimChangedReset :: Calling Symbian(dummy) plugins functions "); + return ETrue; + } } EXPORT_C TUint CSsmUiSpecific::RFStatusPropertyKey() { - return KRFStatusPropertyKey; + if (!IsTestPsKeyDefined()) + { + DEBUGPRINT1A("RFStatusPropertyKey :: Calling S60 plugins functions "); + return SWP_UID_SSM_RF_STATUS; + } + else + { + DEBUGPRINT1A("RFStatusPropertyKey :: Calling Symbian(dummy) plugins functions "); + return KRFStatusPropertyKey; + } } EXPORT_C TUid CSsmUiSpecific::RFStatusPropertyCategory() { - return KRFStatusPropertyCategory; + if (!IsTestPsKeyDefined()) + { + DEBUGPRINT1A("RFStatusPropertyCategory :: Calling S60 plugins functions "); + return TUid::Uid( SWP_UID_SSM_RF_STATUS ); + } + else + { + DEBUGPRINT1A("RFStatusPropertyCategory :: Calling Symbian(dummy) plugins functions "); + return KRFStatusPropertyCategory; + } } + EXPORT_C TUint CSsmUiSpecific::ValidateRTCPropertyKey() { - return KValidateRTCPropertyKey; + if (!IsTestPsKeyDefined()) + { + DEBUGPRINT1A("ValidateRTCPropertyKey :: Calling S60 plugins functions "); + return KRTCPropertyKey; + } + else + { + DEBUGPRINT1A("ValidateRTCPropertyKey :: Calling Symbian(dummy) plugins functions "); + return KValidateRTCPropertyKey; + } + } EXPORT_C TUid CSsmUiSpecific::ValidateRTCPropertyCategory() { - return KValidateRTCPropertyCategory; + if (!IsTestPsKeyDefined()) + { + DEBUGPRINT1A("ValidateRTCPropertyCategory :: Calling S60 plugins functions "); + return KPSStarterUid; + } + else + { + DEBUGPRINT1A("ValidateRTCPropertyCategory :: Calling Symbian(dummy) plugins functions "); + return KValidateRTCPropertyCategory; + } } EXPORT_C TInt CSsmUiSpecific::PhoneMemoryRootDriveId() { - return EDriveC; + if (!IsTestPsKeyDefined()) + { + DEBUGPRINT1A("PhoneMemoryRootDriveId :: Calling S60 plugins functions "); + TInt driveId = EDriveC; + TDriveId driveIdBuf = PathInfo::PhoneMemoryRootPath().Left( KDriveIdLength ); + if ( driveIdBuf.Length() > 0 ) + { + TInt err = RFs::CharToDrive( driveIdBuf[0], driveId ) ; + INFO_1( "PhoneMemoryRootDriveId - CharToDrive returns: %d", err ); + } + + INFO_1( "Phone memory root path ID: %d", driveId ); + return driveId; + } + else + { + DEBUGPRINT1A("PhoneMemoryRootDriveId :: Calling Symbian(dummy) plugins functions "); + return EDriveC; + } } /** @@ -215,6 +471,21 @@ } /** + Helper function to check for P&S Key +*/ +TBool CSsmUiSpecific::IsTestPsKeyDefined() + { + TBool testPsKeyDefined = EFalse; + TInt result = RProperty::Get(KPropertyCategory, KMiscPluginPropertyKey, testPsKeyDefined); + DEBUGPRINT3(_L("KMiscPluginPropertyKey %d Error %d"), testPsKeyDefined, result); + if ((KErrNone != result) && (KErrNotFound != result)) + { + User::Leave(result); + } + return testPsKeyDefined; + } + +/** Reserve two ClusterSize in Phone Memory Space on H/W and 512 bytes for __WINS__ @return KErrNone if successful or systemwide error diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatereferenceplugins/custcmd/src/ssmuiproviderdllref.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/systemstatereferenceplugins/custcmd/src/ssmuiproviderdllref.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,278 @@ +// Copyright (c) 2007-2010 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: +// + +/** + @internalComponent + @released +*/ + +#include "ssmuiproviderdll.h" +#include "ssmpanic.h" +#include +#include "ssmdebug.h" + +const TUid KPSStartupUid = {0x2000E65E}; +const TUid KSecurityPinNotifierUid = {0x2000E667}; +const TUid KScreenOutputChannel = {0x10009D48}; +const TUid KEmergencyCallPropertyCategory = {0x2001032C}; + +const TUint KEmergencyCallPropertyKey = 0x0101; +const TUint KSimStatusPropertyKey = 0x0102; + +const TUid KSecurityStatusPropertyCategory = {0x2000E664}; + +const TUid KRFStatusPropertyCategory = {0x2000D75B}; +const TUint KRFStatusPropertyKey = 0x2001D2A9; +const TUid KValidateRTCPropertyCategory = {0x2000D75B}; +const TUint KValidateRTCPropertyKey = 0x2001D2AB; +//Number of clusterSize to be reserve for phone memory space +const TInt KNumberOfCluster = 2; + +_LIT(KTsyModuleName, "mm.tsy"); +_LIT(KTsyPhoneName, "GsmPhone1"); + +CSsmUiSpecific::CSsmUiSpecific() +: iReferenceCount(1), iReservedPhoneMemory(0) + { + } + +EXPORT_C CSsmUiSpecific::~CSsmUiSpecific() + { + iReservedPhoneMemoryFs.Close(); + } + +EXPORT_C TUid CSsmUiSpecific::StartupPSUid() + { + return KPSStartupUid; + } + +EXPORT_C TUid CSsmUiSpecific::SecurityPinNotifierUid() + { + return KSecurityPinNotifierUid; + } + +EXPORT_C TUint CSsmUiSpecific::EmergencyCallPropertyKey() + { + return KEmergencyCallPropertyKey; + } + +EXPORT_C TUid CSsmUiSpecific::EmergencyCallPropertyCategory() + { + return KEmergencyCallPropertyCategory; + } + +EXPORT_C TBool CSsmUiSpecific::IsSimSupported() + { + return ETrue; + } + +EXPORT_C void CSsmUiSpecific::SetSecurityStatus(const TStrtSecurityStatus& aSecurityStatus) + { + iStrtSecurityStatus = aSecurityStatus; + } + +EXPORT_C TStrtSecurityStatus CSsmUiSpecific::SecurityStatus() const + { + return iStrtSecurityStatus; + } + +EXPORT_C CSsmUiSpecific* CSsmUiSpecific::InstanceL() + { + CSsmUiSpecific* self; + + //Check Tls data + if (NULL == Dll::Tls()) + { + //Instantiate CSsmUiSpecific if TLS is null + self = new (ELeave) CSsmUiSpecific(); + CleanupStack::PushL(self); + self->ConstructL(); + //Copy CSsmUiSpecific pointer in TLS + User::LeaveIfError(Dll::SetTls(self)); + CleanupStack::Pop(self); + } + else + { + //CSsmUiSpecific has already been instantiated + self = static_cast(Dll::Tls()); + ++self->iReferenceCount; + } + return self; + } + +EXPORT_C void CSsmUiSpecific::Release() + { + TAny* tlsPtr = Dll::Tls(); + __ASSERT_DEBUG(NULL != tlsPtr, User::Panic(KPanicSsmUiSpecific, KErrNotFound)); + + CSsmUiSpecific* self = static_cast(tlsPtr); + if (0 == --self->iReferenceCount) + { + Dll::FreeTls(); + delete self; + } + } + +EXPORT_C TUid CSsmUiSpecific::ScreenOutputChannelUid() + { + return KScreenOutputChannel; + } + +EXPORT_C TUint CSsmUiSpecific::SimStatusPropertyKey() + { + return KSimStatusPropertyKey; + } + +EXPORT_C TBool CSsmUiSpecific::IsSimStateChangeAllowed() + { + return ETrue; + } + +EXPORT_C TBool CSsmUiSpecific::IsAmaStarterSupported() + { + return ETrue; + } + +EXPORT_C HBufC* CSsmUiSpecific::GetTsyModuleNameL() + { + HBufC* tstModuleName = KTsyModuleName().AllocL(); + return tstModuleName; + } + +EXPORT_C TUid CSsmUiSpecific::StarterPSUid() + { + return KSecurityStatusPropertyCategory; + } + +EXPORT_C HBufC* CSsmUiSpecific::PhoneTsyNameL() + { + HBufC* tsyPhoneName = KTsyPhoneName().AllocL(); + return tsyPhoneName; + } + +EXPORT_C TBool CSsmUiSpecific::IsSimPresent() + { + return ETrue; + } + +EXPORT_C TBool CSsmUiSpecific::IsSimlessOfflineSupported() + { + return ETrue; + } + +EXPORT_C TBool CSsmUiSpecific::IsNormalBoot() + { + return ETrue; + } + +EXPORT_C TBool CSsmUiSpecific::IsSimChangedReset() + { + return ETrue; + } + +EXPORT_C TUint CSsmUiSpecific::RFStatusPropertyKey() + { + return KRFStatusPropertyKey; + } + +EXPORT_C TUid CSsmUiSpecific::RFStatusPropertyCategory() + { + return KRFStatusPropertyCategory; + } +EXPORT_C TUint CSsmUiSpecific::ValidateRTCPropertyKey() + { + return KValidateRTCPropertyKey; + } + +EXPORT_C TUid CSsmUiSpecific::ValidateRTCPropertyCategory() + { + return KValidateRTCPropertyCategory; + } + +EXPORT_C TInt CSsmUiSpecific::PhoneMemoryRootDriveId() + { + return EDriveC; + } + +/** +Leaving construction inside ConstructL +*/ +void CSsmUiSpecific::ConstructL() + { + User::LeaveIfError( iReservedPhoneMemoryFs.Connect() ); + } + +/** +Reserve two ClusterSize in Phone Memory Space on H/W +and 512 bytes for __WINS__ +@return KErrNone if successful or systemwide error +*/ +EXPORT_C TInt CSsmUiSpecific::ReservePhoneMemorySpace() + { + TVolumeIOParamInfo volumeParamInfo; + const TInt phoneMemoryDriveID = PhoneMemoryRootDriveId(); + TInt errorCode = iReservedPhoneMemoryFs.VolumeIOParam(phoneMemoryDriveID, volumeParamInfo); + if( KErrNone == errorCode ) + { +#ifdef __WINS__ + //512 bytes for __WINS__ + const TInt reservedMemory = 512; +#else + //Reserving two clusterSize Phone memory + const TInt reservedMemory = KNumberOfCluster * (volumeParamInfo.iClusterSize); +#endif //__WINS__ + errorCode = iReservedPhoneMemoryFs.ReserveDriveSpace(phoneMemoryDriveID, reservedMemory); + + if ( KErrNone == errorCode ) + { + iReservedPhoneMemory = reservedMemory; + } + } + return errorCode; + } + +/** +Free reserved bytes from Phone Memory Space. If aSpaceToFree is 0 bytes +then free complete reserved memory +@param aSpaceToFree request to free memory +@return KErrNone if successful or systemwide error +*/ +EXPORT_C TInt CSsmUiSpecific::FreeReservedPhoneMemorySpace(const TInt aSpaceToFree) + { + TInt errorCode(KErrGeneral); + DEBUGPRINT3A("Reserved memory is = %d bytes, Request to free memory is = %d bytes", iReservedPhoneMemory, aSpaceToFree); + if(0 < iReservedPhoneMemory) + { + if(0 == aSpaceToFree) + { + //Free complete reserved phone memory + errorCode = iReservedPhoneMemoryFs.ReserveDriveSpace( PhoneMemoryRootDriveId(), 0 ); + DEBUGPRINT2A("Freeing memory completed with = %d", errorCode); + iReservedPhoneMemory = 0; + } + else + { + TInt newReserveSize = iReservedPhoneMemory - aSpaceToFree; + newReserveSize = newReserveSize >= 0 ? newReserveSize : 0; + errorCode = iReservedPhoneMemoryFs.ReserveDriveSpace( PhoneMemoryRootDriveId(), newReserveSize ); + DEBUGPRINT2A("Freeing partial phone memory completed with = %d", errorCode); + if(KErrNone == errorCode) + { + iReservedPhoneMemory = newReserveSize; + } + } + } + return errorCode; + } diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatereferenceplugins/group/app-framework_ssrefplugins.mrp --- a/sysstatemgmt/systemstatereferenceplugins/group/app-framework_ssrefplugins.mrp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatereferenceplugins/group/app-framework_ssrefplugins.mrp Thu Jul 22 16:45:41 2010 +0100 @@ -1,19 +1,3 @@ -# -# 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: -# - component app-framework_ssrefplugins source \sf\os\devicesrv\sysstatemgmt\systemstatereferenceplugins binary \sf\os\devicesrv\sysstatemgmt\systemstatereferenceplugins\group all diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatereferenceplugins/test/tclayer/group/ssrefpluginstest_tclayer.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/systemstatereferenceplugins/test/tclayer/group/ssrefpluginstest_tclayer.pkg Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,33 @@ +; +; Copyright (c) 2010 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: +; + +;Languages +&EN + + +;Localised Vendor name +%{"Ssrefplugins_TClayer EN"} + +; Vendor name +: "Ssrefplugins_TClayer" + +"\sf\os\devicesrv\sysstatemgmt\systemstatereferenceplugins\test\tclayer\scripts\ssrefpluginstest_clayer_startersession.script"-"c:\devicesrv\ssrefpluginstest\ssrefpluginstest_clayer_startersession.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatereferenceplugins\test\tclayer\scripts\ssrefpluginstest_clayer_startupadaptationadapter.script"-"c:\devicesrv\ssrefpluginstest\ssrefpluginstest_clayer_startupadaptationadapter.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatereferenceplugins\test\tclayer\scripts\ssrefpluginstest_clayer_ssmpropertyobserver.script"-"c:\devicesrv\ssrefpluginstest\ssrefpluginstest_clayer_ssmpropertyobserver.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatereferenceplugins\test\tclayer\scripts\ssrefpluginstest_clayer_ssmsimstatusobserver.script"-"c:\devicesrv\ssrefpluginstest\ssrefpluginstest_clayer_ssmsimstatusobserver.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatereferenceplugins\test\tclayer\scripts\ssrefpluginstest_clayer_ssmsecurityeventobserver.script"-"c:\devicesrv\ssrefpluginstest\ssrefpluginstest_clayer_ssmsecurityeventobserver.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatereferenceplugins\test\tclayer\scripts\ssrefpluginstest_clayer_startersessionwithssm.script"-"c:\devicesrv\ssrefpluginstest\ssrefpluginstest_clayer_startersessionwithssm.script" + diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatereferenceplugins/test/tclayer/group/tclayer_server.mmp --- a/sysstatemgmt/systemstatereferenceplugins/test/tclayer/group/tclayer_server.mmp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatereferenceplugins/test/tclayer/group/tclayer_server.mmp Thu Jul 22 16:45:41 2010 +0100 @@ -25,8 +25,9 @@ TARGETPATH /sys/bin UID 0x1000007A 0xA00056EB VENDORID 0x70000001 -// Use KPSUidStartup as the secure id of this test server to allow P+S keys to be defined -SECUREID 0x101F8766 +SECUREID 0x2000D75B + +CAPABILITY WriteDeviceData OS_LAYER_SYSTEMINCLUDE_SYMBIAN @@ -47,6 +48,7 @@ LIBRARY etel.lib LIBRARY etelmm.lib LIBRARY centralrepository.lib +LIBRARY ws32.lib // testcode SOURCEPATH ../src diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatereferenceplugins/test/tclayer/scripts/ssrefpluginstest_clayer_ssmsimstatusobserver.script --- a/sysstatemgmt/systemstatereferenceplugins/test/tclayer/scripts/ssrefpluginstest_clayer_ssmsimstatusobserver.script Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatereferenceplugins/test/tclayer/scripts/ssrefpluginstest_clayer_ssmsimstatusobserver.script Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2008-2010 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" @@ -15,9 +15,7 @@ PRINT Run SSM SIM Status Observer tests -PRINT Swapping SID over to CSsmUiSpecific::StartupPSUid() -RUN_PROGRAM -1 setcap tclayer_server.exe 0 -SID 2000e65e tclayer_serverSID.exe -LOAD_SUITE tclayer_serverSID +LOAD_SUITE tclayer_server START_TESTCASE DEVSRVS-SSREFPLUGINS-CLAYER-0023 //! @SYMTestCaseID DEVSRVS-SSREFPLUGINS-CLAYER-0023 @@ -38,6 +36,6 @@ //! are no panics. //! All methods handle the object data appropriately, with no errors reported and there //! are no panics. -RUN_TEST_STEP 100 tclayer_serverSID CCLayerTestSsmSimStatusObserver +RUN_TEST_STEP 100 tclayer_server CCLayerTestSsmSimStatusObserver END_TESTCASE DEVSRVS-SSREFPLUGINS-CLAYER-0023 diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatereferenceplugins/test/tclayer/src/tclayer_step_ssmsecurityeventobserver.cpp --- a/sysstatemgmt/systemstatereferenceplugins/test/tclayer/src/tclayer_step_ssmsecurityeventobserver.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatereferenceplugins/test/tclayer/src/tclayer_step_ssmsecurityeventobserver.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2008-2010 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" @@ -19,6 +19,8 @@ @internalComponent - Internal Symbian test code */ +#include +#include #include "ssmdebug.h" #include "strtsecphaseobserver.h" #include "ssmsecurityeventobserver.h" @@ -33,6 +35,8 @@ //Exe name which defines security state PS keys _LIT (KExeToDefineSecurityStatePS, "\\sys\\bin\\definesecuritystateps.exe"); +const TUint32 KMiscPluginPropertyKey = 0x2000E658; +const TUid KPropertyCategory={0x2000D75B}; CLayerTestSsmEventObserver::CLayerTestSsmEventObserver() { @@ -60,15 +64,31 @@ //Start the test exe which defines security state related property keys RProcess processHandle; + CleanupClosePushL(processHandle); processHandle.Create(KExeToDefineSecurityStatePS, KNullDesC); processHandle.Resume(); - processHandle.Close(); + TRequestStatus status; + processHandle.Rendezvous(status); + User::WaitForRequest(status); + + TInt retVal = status.Int(); + INFO_PRINTF2(_L("retVal = %d"),retVal); + TEST(KErrNone == retVal); + // leave if the process has not started properly + User::LeaveIfError(retVal); + CleanupStack::PopAndDestroy(); + //processHandle.Close(); + + TInt error = RProperty::Define(KPropertyCategory, KMiscPluginPropertyKey, RProperty::EInt); + TInt error1 = RProperty::Set(KPropertyCategory, KMiscPluginPropertyKey, 1); + INFO_PRINTF3(_L("Defining and setting property returned %d & %d"), error, error1); return CTestStep::doTestStepPreambleL(); } TVerdict CLayerTestSsmEventObserver::doTestStepPostambleL() { + TInt error = RProperty::Delete(KPropertyCategory, KMiscPluginPropertyKey); return CTestStep::doTestStepPostambleL(); } @@ -82,6 +102,9 @@ void CLayerTestSsmEventObserver::SimulatePasswordEntry() { + /*RWsSession wsSession; + wsSession.Connect();*/ + TRawEvent eventDown; TRawEvent eventUp; @@ -90,12 +113,21 @@ UserSvr::AddEvent(eventDown); eventUp.Set(TRawEvent::EKeyUp, EStdKeyComma); UserSvr::AddEvent(eventUp); + User::After(1000000); - eventDown.Set(TRawEvent::EKeyDown, EStdKeyEnter); +/* eventDown.Set(TRawEvent::EKeyDown, EStdKeyEnter); + UserSvr::AddEvent(eventDown); + eventUp.Set(TRawEvent::EKeyUp, EStdKeyEnter); + UserSvr::AddEvent(eventUp);*/ + + eventDown.Set(TRawEvent::EButton1Down, 60, 600); UserSvr::AddEvent(eventDown); - eventUp.Set(TRawEvent::EKeyUp, EStdKeyEnter); + eventUp.Set(TRawEvent::EButton1Up, 60, 600); UserSvr::AddEvent(eventUp); User::After(1000000); + + /* wsSession.Flush(); + wsSession.Close();*/ } void CLayerTestSsmEventObserver::CallBackRunL() diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatereferenceplugins/test/tclayer/src/tclayer_step_ssmsimstatusobserver.cpp --- a/sysstatemgmt/systemstatereferenceplugins/test/tclayer/src/tclayer_step_ssmsimstatusobserver.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatereferenceplugins/test/tclayer/src/tclayer_step_ssmsimstatusobserver.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2008-2010 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" @@ -185,8 +185,9 @@ __UHEAP_MARK; // Delete any existing defines, ignore return value - (void) RProperty::Delete(CSsmUiSpecific::StartupPSUid(), KPSSimChanged); - (void) RProperty::Delete(CSsmUiSpecific::StartupPSUid(), KPSSimOwned); + TInt err1 = RProperty::Delete(CSsmUiSpecific::StartupPSUid(), KPSSimChanged); + TInt err2 = RProperty::Delete(CSsmUiSpecific::StartupPSUid(), KPSSimOwned); + INFO_PRINTF3(_L("Value of err1 & err2 = %d & %d"), err1, err2); TInt err = KErrNone; INFO_PRINTF1(_L("Constructing SSM SIM publish cmd")); @@ -230,6 +231,7 @@ INFO_PRINTF1(_L("Initializing SSM SIM status observer without defining SIM changed property")); err = RProperty::Define(CSsmUiSpecific::StartupPSUid(), KPSSimOwned, RProperty::EInt); + INFO_PRINTF2(_L("Define returns err = %d") ,err); TEST(err == KErrNone); simCustomCmd->Execute(emptyBuf, iRequestStatus); diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatereferenceplugins/test/tclayer/src/tclayer_step_startersession.cpp --- a/sysstatemgmt/systemstatereferenceplugins/test/tclayer/src/tclayer_step_startersession.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatereferenceplugins/test/tclayer/src/tclayer_step_startersession.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -335,28 +335,35 @@ INFO_PRINTF1(_L("Deleting splash screen property")); ret = RProperty::Delete(KPSUidStartup, KPSSplashShutdown); TEST(ret == KErrNone || ret == KErrNotFound); + INFO_PRINTF2(_L("ret val is : %d"), ret); INFO_PRINTF1(_L("Ending splashscreen without defining property")); ret = starterSession.EndSplashScreen(); TEST(ret == KErrNotFound); + INFO_PRINTF2(_L("ret val is : %d"), ret); INFO_PRINTF1(_L("Defining splash screen property")); // In a test enviroment we don't need to worry about protecting the property // so allow anything to change it _LIT_SECURITY_POLICY_PASS(KAllPass); //lint !e648 Suppress overflow in computing constant for operation ret = RProperty::Define(KPSUidStartup, KPSSplashShutdown, RProperty::EInt, KAllPass, KAllPass); + INFO_PRINTF3(_L("KPSUidStartup = %x, KPSSplashShutdown = %x"), KPSUidStartup, KPSSplashShutdown); TEST(ret == KErrNone); + INFO_PRINTF2(_L("ret val is : %d"), ret); INFO_PRINTF1(_L("Ending splashscreen with property defined")); ret = starterSession.EndSplashScreen(); TEST(ret == KErrNone); + INFO_PRINTF2(_L("ret val is : %d"), ret); INFO_PRINTF1(_L("Reading splash screen property")); TInt value; ret = RProperty::Get(KPSUidStartup, KPSSplashShutdown, value); TEST(ret == KErrNone); + INFO_PRINTF2(_L("ret val is : %d"), ret); TEST(value == ESplashShutdown); + INFO_PRINTF3(_L("Property value is : %d .Expected : %d"), ret, ESplashShutdown); INFO_PRINTF1(_L("Close on connected RStartSession")); starterSession.Close(); diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatereferenceplugins/test/tclayer/src/tclayer_step_startupadaptationadapter.cpp --- a/sysstatemgmt/systemstatereferenceplugins/test/tclayer/src/tclayer_step_startupadaptationadapter.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatereferenceplugins/test/tclayer/src/tclayer_step_startupadaptationadapter.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -1740,11 +1740,11 @@ } // declare exported functions for test AFSS-CLAYER-0019 -MEmergencyCallRfAdaptation* CreateEmergencyCallRfAdaptationL(void); -MMiscAdaptation* CreateMiscAdaptationL(void); -MRtcAdaptation* CreateRtcAdaptationL(void); -MSimAdaptation* CreateSimAdaptationL(void); -MStateAdaptation* CreateStateAdaptationL(void); +IMPORT_C MEmergencyCallRfAdaptation* CreateEmergencyCallRfAdaptationL(void); +IMPORT_C MMiscAdaptation* CreateMiscAdaptationL(void); +IMPORT_C MRtcAdaptation* CreateRtcAdaptationL(void); +IMPORT_C MSimAdaptation* CreateSimAdaptationL(void); +IMPORT_C MStateAdaptation* CreateStateAdaptationL(void); /** Old Test CaseID AFSS-CLAYER-0019 diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatereferenceplugins/test/tintcustcmd/group/definesecuritystateps.mmp --- a/sysstatemgmt/systemstatereferenceplugins/test/tintcustcmd/group/definesecuritystateps.mmp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatereferenceplugins/test/tintcustcmd/group/definesecuritystateps.mmp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2008-2010 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" @@ -17,7 +17,7 @@ TARGET definesecuritystateps.exe TARGETTYPE exe -CAPABILITY none +CAPABILITY WriteDeviceData UID 0x100039CE 0x2000E664 VENDORID 0x70000001 @@ -32,7 +32,7 @@ OS_LAYER_SYSTEMINCLUDE_SYMBIAN MW_LAYER_SYSTEMINCLUDE_SYMBIAN -SYSTEMINCLUDE /epoc32/include/techview + // Registration file SOURCEPATH ../src diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatereferenceplugins/test/tintcustcmd/group/ssrefpluginstest_tintcustcmd.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/systemstatereferenceplugins/test/tintcustcmd/group/ssrefpluginstest_tintcustcmd.pkg Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,32 @@ +; +; Copyright (c) 2010 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: +; + +;Languages +&EN + + +;Localised Vendor name +%{"Ssrefplugins_TIntCustCmd EN"} + +; Vendor name +: "Ssrefplugins_TIntCustCmd" + +"\sf\os\devicesrv\sysstatemgmt\systemstatereferenceplugins\test\tintcustcmd\scripts\ssrefpluginstest_custcmd_simsecuritypincheck.script"-"c:\devicesrv\ssrefpluginstest\ssrefpluginstest_custcmd_simsecuritypincheck.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatereferenceplugins\test\tintcustcmd\scripts\ssrefpluginstest_custcmd_activateemergencycallcheck.script"-"c:\devicesrv\ssrefpluginstest\ssrefpluginstest_custcmd_activateemergencycallcheck.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatereferenceplugins\test\tintcustcmd\scripts\ssrefpluginstest_custcmd_deactivateemergencycallcheck.script"-"c:\devicesrv\ssrefpluginstest\ssrefpluginstest_custcmd_deactivateemergencycallcheck.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatereferenceplugins\test\tintcustcmd\scripts\ssrefpluginstest_custcmd_devicesecuritypincheck.script"-"c:\devicesrv\ssrefpluginstest\ssrefpluginstest_custcmd_devicesecuritypincheck.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatereferenceplugins\test\tintcustcmd\scripts\ssrefpluginstest_custcmd_int_execute.script"-"c:\devicesrv\ssrefpluginstest\ssrefpluginstest_custcmd_int_execute.script" + diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatereferenceplugins/test/tintcustcmd/group/tcustomcmd_server.mmp --- a/sysstatemgmt/systemstatereferenceplugins/test/tintcustcmd/group/tcustomcmd_server.mmp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatereferenceplugins/test/tintcustcmd/group/tcustomcmd_server.mmp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2008-2010 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" @@ -47,6 +47,15 @@ SOURCE tcustcmd_step_devicesecuritypincheck.cpp SOURCE tcustcmd_step_int_execute.cpp +USERINCLUDE ../../../custcmd/inc +SOURCEPATH ../../../custcmd/src +SOURCE ssmsecuritychecknotifier.cpp + +#ifndef TEST_CUSTCMD +#define TEST_CUSTCMD +MACRO TEST_CUSTCMD_MACRO +#endif + LIBRARY euser.lib LIBRARY efsrv.lib LIBRARY testexecuteutils.lib diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatereferenceplugins/test/tintcustcmd/src/tcustcmd_step_devicesecuritypincheck.cpp --- a/sysstatemgmt/systemstatereferenceplugins/test/tintcustcmd/src/tcustcmd_step_devicesecuritypincheck.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatereferenceplugins/test/tintcustcmd/src/tcustcmd_step_devicesecuritypincheck.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2008-2010 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" @@ -84,17 +84,6 @@ iAsyncStopScheduler = new(ELeave) CAsyncCallBack(CActive::EPriorityIdle); - //Start the test exe which defines startup related property keys - RProcess processHandle; - - TInt temp = processHandle.Create(KExeToDefineStartUpPS, KNullDesC); - processHandle.Resume(); - processHandle.Close(); - - processHandle.Create(KExeToDefineStartUpStatePS, KNullDesC); - processHandle.Resume(); - processHandle.Close(); - //For stopping the key simulation iStopSimulatekey = CStopSimulateDevicekey::NewL(this); diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatereferenceplugins/test/tintcustcmd/src/tcustcmd_step_simsecuritypincheck.cpp --- a/sysstatemgmt/systemstatereferenceplugins/test/tintcustcmd/src/tcustcmd_step_simsecuritypincheck.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatereferenceplugins/test/tintcustcmd/src/tcustcmd_step_simsecuritypincheck.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2008-2010 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" @@ -20,6 +20,7 @@ #include const TInt KNumOfTestCases = 8; +const TUint32 KMiscPluginPropertyKey = 0x2000E658; static TInt CustomCmdTestSecurityCheckCallBackL(TAny* aCustomCmdTestSecurityPinCheck) { @@ -35,6 +36,8 @@ */ void CCustomCmdTestSecurityPinCheck::CallBackForEnterPin() { + const TInt okButtonPos1 = 60; //the position of ok button + const TInt okButtonPos2 = 600; //the position of ok button iAsyncStopScheduler->CallBack(); RWsSession wsSession; @@ -52,9 +55,9 @@ User::After(100000); } - eventDown.Set(TRawEvent::EKeyDown, EStdKeyEnter); + eventDown.Set(TRawEvent::EButton1Down, okButtonPos1,okButtonPos2); UserSvr::AddEvent(eventDown); - eventUp.Set(TRawEvent::EKeyUp, EStdKeyEnter); + eventUp.Set(TRawEvent::EButton1Up, okButtonPos1,okButtonPos2); UserSvr::AddEvent(eventUp); User::After(100000); @@ -91,6 +94,11 @@ iAsyncStopScheduler = new(ELeave) CAsyncCallBack(CActive::EPriorityIdle); + TInt err = RProperty::Define(KPropertyCategory, KMiscPluginPropertyKey, RProperty::EInt); + TEST ((KErrNone == err) || (KErrAlreadyExists == err)); + err = RProperty::Set(KPropertyCategory, KMiscPluginPropertyKey, 1); + TEST (KErrNone == err); + //Start the test exe which defines startup related property keys RProcess processHandle; CleanupClosePushL(processHandle); @@ -108,23 +116,36 @@ User::LeaveIfError(retVal); CleanupStack::PopAndDestroy(); + //Start the test exe which defines startup state related property keys RProcess processHandle1; - TInt err1 = processHandle1.Create(KExeToDefineStartUpStatePS, KNullDesC); - INFO_PRINTF2(_L("KExeToDefineStartUpStatePS ret is %d"), err1); + CleanupClosePushL(processHandle1); + err = processHandle1.Create(KExeToDefineStartUpStatePS, KNullDesC); + INFO_PRINTF2(_L("KExeToDefineStartUpStatePS ret is %d"), err); + User::LeaveIfError(err); processHandle1.Resume(); - processHandle1.Close(); + + // wait for the newly created process to rendezvous + processHandle1.Rendezvous(status); + User::WaitForRequest(status); + retVal = status.Int(); + //leave if the process has not started properly + INFO_PRINTF2(_L("KExeToDefineStartUpStatePS rendezvous returns %d"), retVal); + User::LeaveIfError(retVal); + CleanupStack::PopAndDestroy(); //there are 8 different scenarios to test the custom command. Check the test spec for the scenarios. //CMiscAdaptationRef::SecurityStateChange() has been changed to simulate the scenarios. //CMiscAdaptationRef::SecurityStateChange() uses KTestCmdSecurityCheckTestFile to get the scenario number //connect to file server + User::LeaveIfError(iFs.Connect()); - TInt err = iFs.MkDirAll(KDirNameOfTestCasesNumFile); + err = iFs.MkDirAll(KDirNameOfTestCasesNumFile); if (KErrAlreadyExists != err && KErrNone != err) { User::Leave(err); } err = iFile.Replace(iFs, KTestCmdSecurityCheckTestFile, EFileWrite | EFileStream); + TEST(KErrNone == err); iFile.Close(); //For stopping the key simulation when execution behaviour is deferredwaitforsignal and fireandforget @@ -135,7 +156,8 @@ TEST(KErrNone == connect); //RProperty property; - iProperty.Define(KCustomcmdServerSID, iSwp.Key(), RProperty::EInt); + err = iProperty.Define(KCustomcmdServerSID, iSwp.Key(), RProperty::EInt); + TEST ((KErrNone == err) || (KErrAlreadyExists == err)); // Register mapping between keys and swp policy DLL (done once per ssmserver) INFO_PRINTF1(_L("Registering swp...")); @@ -455,6 +477,8 @@ TVerdict CCustomCmdTestSecurityPinCheck::doTestStepPostambleL() { TEST(KErrNone == iProperty.Delete(KCustomcmdServerSID, iSwp.Key())); + TInt err = RProperty::Delete(KPropertyCategory, KMiscPluginPropertyKey); + TEST (KErrNone == err); iProperty.Close(); iClient.Close(); //delete the file diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/group/defineemergencycallps.mmp --- a/sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/group/defineemergencycallps.mmp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/group/defineemergencycallps.mmp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2008-2010 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" @@ -17,7 +17,7 @@ TARGET defineemergencycallps.exe TARGETTYPE exe -CAPABILITY none +CAPABILITY WriteDeviceData UID 0x100039CE 0x2001032C VENDORID 0x70000001 @@ -32,7 +32,7 @@ OS_LAYER_SYSTEMINCLUDE_SYMBIAN MW_LAYER_SYSTEMINCLUDE_SYMBIAN -SYSTEMINCLUDE /epoc32/include/techview +MW_LAYER_SYSTEMINCLUDE // Registration file SOURCEPATH ../src diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/group/definestartupps.mmp --- a/sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/group/definestartupps.mmp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/group/definestartupps.mmp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2008-2010 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" @@ -15,7 +15,7 @@ TARGET definestartupps.exe TARGETTYPE exe -CAPABILITY none +CAPABILITY WriteDeviceData UID 0x100039CE 0x2000E65E VENDORID 0x70000001 @@ -30,7 +30,6 @@ OS_LAYER_SYSTEMINCLUDE_SYMBIAN MW_LAYER_SYSTEMINCLUDE_SYMBIAN -SYSTEMINCLUDE /epoc32/include/techview // Registration file SOURCEPATH ../src diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/group/ssrefpluginstest_tuintcustcmd.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/group/ssrefpluginstest_tuintcustcmd.pkg Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,39 @@ +; +; Copyright (c) 2010 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: +; + +;Languages +&EN + + +;Localised Vendor name +%{"Ssrefplugins_TUnitCustCmd EN"} + +; Vendor name +: "Ssrefplugins_TUnitCustCmd" + +"\sf\os\devicesrv\sysstatemgmt\systemstatereferenceplugins\test\tunitcustcmd\scripts\ssrefpluginstest_custcmd_coopsysperformrestartactions.script"-"c:\devicesrv\ssrefpluginstest\ssrefpluginstest_custcmd_coopsysperformrestartactions.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatereferenceplugins\test\tunitcustcmd\scripts\ssrefpluginstest_custcmd_coopsysperformrfsactions.script"-"c:\devicesrv\ssrefpluginstest\ssrefpluginstest_custcmd_coopsysperformrfsactions.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatereferenceplugins\test\tunitcustcmd\scripts\ssrefpluginstest_custcmd_coopsysperformshutdownactions.script"-"c:\devicesrv\ssrefpluginstest\ssrefpluginstest_custcmd_coopsysperformshutdownactions.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatereferenceplugins\test\tunitcustcmd\scripts\ssrefpluginstest_custcmd_coopsysselftest.script"-"c:\devicesrv\ssrefpluginstest\ssrefpluginstest_custcmd_coopsysselftest.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatereferenceplugins\test\tunitcustcmd\scripts\ssrefpluginstest_custcmd_activaterfforemergencycall.script"-"c:\devicesrv\ssrefpluginstest\ssrefpluginstest_custcmd_activaterfforemergencycall.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatereferenceplugins\test\tunitcustcmd\scripts\ssrefpluginstest_custcmd_deactivaterfforemergencycall.script"-"c:\devicesrv\ssrefpluginstest\ssrefpluginstest_custcmd_deactivaterfforemergencycall.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatereferenceplugins\test\tunitcustcmd\scripts\ssrefpluginstest_custcmd_coopsysstatechange.script"-"c:\devicesrv\ssrefpluginstest\ssrefpluginstest_custcmd_coopsysstatechange.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatereferenceplugins\test\tunitcustcmd\scripts\ssrefpluginstest_custcmd_publishstartupmode.script"-"c:\devicesrv\ssrefpluginstest\ssrefpluginstest_custcmd_publishstartupmode.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatereferenceplugins\test\tunitcustcmd\scripts\ssrefpluginstest_custcmd_execute.script"-"c:\devicesrv\ssrefpluginstest\ssrefpluginstest_custcmd_execute.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatereferenceplugins\test\tunitcustcmd\scripts\ssrefpluginstest_custcmd_publishsimownedandchanged.script"-"c:\devicesrv\ssrefpluginstest\ssrefpluginstest_custcmd_publishsimownedandchanged.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatereferenceplugins\test\tunitcustcmd\scripts\ssrefpluginstest_custcmd_simsecuritycheck.script"-"c:\devicesrv\ssrefpluginstest\ssrefpluginstest_custcmd_simsecuritycheck.script" +"\sf\os\devicesrv\sysstatemgmt\systemstatereferenceplugins\test\tunitcustcmd\scripts\ssrefpluginstest_custcmd_devicesecuritycheck.script"-"c:\devicesrv\ssrefpluginstest\ssrefpluginstest_custcmd_devicesecuritycheck.script" + diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/group/testpinnotifier.rss --- a/sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/group/testpinnotifier.rss Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/group/testpinnotifier.rss Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -19,8 +19,13 @@ @internalComponent - Internal Symbian test code */ -#include -#include +#include +#include + +#include +#include + +#define qtn_sen_pindlg_auth_title "Security check" NAME SPIN @@ -30,21 +35,31 @@ RESOURCE TBUF16 { buf=""; } + + RESOURCE DIALOG r_security_pin { - title="Security check"; - buttons=R_EIK_BUTTONS_CANCEL_OK; + flags = EGeneralQueryFlags; + title="Security check"; + buttons=R_AVKON_SOFTKEYS_OK_CANCEL; items = { - DLG_LINE - { - type = EEikCtSecretEd; //Control factory id. - id = 0; - control = SECRETED - { - num_letters=8; - }; - } + DLG_LINE + { + type = EAknCtQuery; + id = EGeneralQuery; + control = AVERELL_DATA_QUERY + { + layout = EPinLayout; + label = qtn_sen_pindlg_auth_title; + control = SECRETED + { + num_letters = 8 ;//KSenMaxPasswordLength + }; + }; + } }; } + +RESOURCE TBUF r_pinnotdlg_auth_title { buf = qtn_sen_pindlg_auth_title; } diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/group/testpinnotifierplugin.mmp --- a/sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/group/testpinnotifierplugin.mmp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/group/testpinnotifierplugin.mmp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -35,7 +35,6 @@ OS_LAYER_SYSTEMINCLUDE_SYMBIAN MW_LAYER_SYSTEMINCLUDE_SYMBIAN -SYSTEMINCLUDE /epoc32/include/techview #ifndef SYMBIAN_OLD_EXPORT_LOCATION SYSTEMINCLUDE /epoc32/include/platform/app #endif @@ -49,7 +48,7 @@ TARGET testpinnotifierplugin.rsc END -SOURCEPATH ./../src +SOURCEPATH ../src SOURCE testpinnotifierplugin.cpp LIBRARY euser.lib diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/group/tunitcustcmd_server.mmp --- a/sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/group/tunitcustcmd_server.mmp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/group/tunitcustcmd_server.mmp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -101,6 +101,7 @@ LIBRARY centralrepository.lib LIBRARY ssmuiproviderdll.lib LIBRARY ssmadaptationcli.lib +LIBRARY ws32.lib LIBRARY etelmm.lib //Device security check LIBRARY etel.lib //Device security check diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/inc/testpinnotifierplugin.h --- a/sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/inc/testpinnotifierplugin.h Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/inc/testpinnotifierplugin.h Thu Jul 22 16:45:41 2010 +0100 @@ -26,7 +26,7 @@ #include #include #include -#include +#include #include diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/scripts/ssrefpluginstest_custcmd_activaterfforemergencycall.script --- a/sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/scripts/ssrefpluginstest_custcmd_activaterfforemergencycall.script Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/scripts/ssrefpluginstest_custcmd_activaterfforemergencycall.script Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -13,7 +13,7 @@ // Description: // -PRINT Run CCustomCmdTestDeactivateRfForEmergencyCall tests +PRINT Run CCustomCmdTestActivateRfForEmergencyCall tests LOAD_SUITE tunitcustcmd_server @@ -30,5 +30,5 @@ //! 2. Initialize - Initialising the custom cmd //! 3. Execute - Executing the custom cmd //! @SYMTestExpectedResults Command should execute normally and should complete with KErrNone. -RUN_TEST_STEP 100 tunitcustcmd_server CCustomCmdTestDeactivateRfForEmergencyCall +RUN_TEST_STEP 100 tunitcustcmd_server CCustomCmdTestActivateRfForEmergencyCall END_TESTCASE DEVSRVS-SSREFPLUGINS-CUSTCMD-0001 diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/scripts/ssrefpluginstest_custcmd_deactivaterfforemergencycall.script --- a/sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/scripts/ssrefpluginstest_custcmd_deactivaterfforemergencycall.script Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/scripts/ssrefpluginstest_custcmd_deactivaterfforemergencycall.script Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -13,7 +13,7 @@ // Description: // -PRINT Run CCustomCmdTestActivateRfForEmergencyCall tests +PRINT Run CCustomCmdTestDeactivateRfForEmergencyCall tests LOAD_SUITE tunitcustcmd_server @@ -30,6 +30,6 @@ //! 2. Initialize - Initialising the custom cmd //! 3. Execute - Executing the custom cmd //! @SYMTestExpectedResults Command should execute normally and should complete with KErrNone. -RUN_TEST_STEP 100 tunitcustcmd_server CCustomCmdTestActivateRfForEmergencyCall +RUN_TEST_STEP 100 tunitcustcmd_server CCustomCmdTestDeactivateRfForEmergencyCall END_TESTCASE DEVSRVS-SSREFPLUGINS-CUSTCMD-0008 diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/src/tcmd_step_activaterfforemergencycall.cpp --- a/sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/src/tcmd_step_activaterfforemergencycall.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/src/tcmd_step_activaterfforemergencycall.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -22,6 +22,9 @@ #include "tcmd_step_activaterfforemergencycall.h" #include "ssmcustomcmdfactory.h" #include "cmdactivaterfforemergencycall.h" +#include +const TUint32 KEmergencyCallRfAdaptationPluginPropertyKey = 0x2000E657; +const TUid KPropertyCategory={0x2000D75B}; CCustomCmdTestActivateRfForEmergencyCall::~CCustomCmdTestActivateRfForEmergencyCall() { @@ -41,6 +44,11 @@ { _LIT(KTESTLOG, "TestCustomCmdActivateRfForEmergencyCallL"); INFO_PRINTF1(KTESTLOG); + // Setting the P and S key will route the request to the reference plugins instead of the actual plugins + TInt err = RProperty::Define(KPropertyCategory, KEmergencyCallRfAdaptationPluginPropertyKey, RProperty::EInt); + TEST(KErrNone == err || KErrAlreadyExists == err); + err = RProperty::Set(KPropertyCategory, KEmergencyCallRfAdaptationPluginPropertyKey, 1); + TEST(KErrNone == err); //Create Deactivate Rf For Emergency Call custom command MSsmCustomCommand* customCmdActivateRfForEmergencyCall = SsmCustomCmdFactory::CmdActivateRfForEmergencyCallNewL(); @@ -56,12 +64,11 @@ //Command parameter is not used inside the Execute. So passing any dummy data should be fine //Execute the command customCmdActivateRfForEmergencyCall->Execute(dummy, status); - TEST(KRequestPending == status.Int()); //Wait for the request to be completed User::WaitForRequest(status); TEST(KErrNone == status.Int()); - + //Execute the command once again customCmdActivateRfForEmergencyCall->Execute(dummy, status); @@ -73,12 +80,14 @@ //checking the status to KErrNone instead of KErrCancel. User::WaitForRequest(status); TEST(KErrNone == status.Int()); - + //Close the command customCmdActivateRfForEmergencyCall->Close(); //Releasing the comand will delete itself. customCmdActivateRfForEmergencyCall->Release(); + err = RProperty::Delete(KPropertyCategory, KEmergencyCallRfAdaptationPluginPropertyKey); + TEST(KErrNone == err); } TVerdict CCustomCmdTestActivateRfForEmergencyCall::doTestStepL() diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/src/tcmd_step_coopsysperformrestartactions.cpp --- a/sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/src/tcmd_step_coopsysperformrestartactions.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/src/tcmd_step_coopsysperformrestartactions.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -22,6 +22,10 @@ #include "tcmd_step_coopsysperformrestartactions.h" #include "ssmcustomcmdfactory.h" #include "cmdcoopsysperformrestartactions.h" +#include + +const TUint32 KStateAdaptationPluginPropertyKey = 0x2000D76A; +const TUid KPropertyCategory={0x2000D75B}; CCustomCmdTestCoopSysPerformRestartActions::~CCustomCmdTestCoopSysPerformRestartActions() { @@ -39,6 +43,12 @@ void CCustomCmdTestCoopSysPerformRestartActions::TestCustomCmdCoopSysPerformRestartActionsL() { + // Setting the P and S key will route the request to the reference plugins instead of the actual plugins + TInt err = RProperty::Define(KPropertyCategory, KStateAdaptationPluginPropertyKey, RProperty::EInt); + TEST(KErrNone == err || KErrAlreadyExists == err); + err = RProperty::Set(KPropertyCategory, KStateAdaptationPluginPropertyKey, 1); + TEST(KErrNone == err); + _LIT(KTESTLOG, "TestCustomCmdCoopSysPerformRestartActionsL"); INFO_PRINTF1(KTESTLOG); @@ -80,6 +90,9 @@ //Releasing the comand will delete itself. customCmdCoopSysPerformRestartActions->Release(); + + err = RProperty::Delete(KPropertyCategory, KStateAdaptationPluginPropertyKey); + TEST(KErrNone == err); } TVerdict CCustomCmdTestCoopSysPerformRestartActions::doTestStepL() diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/src/tcmd_step_coopsysperformrfsactions.cpp --- a/sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/src/tcmd_step_coopsysperformrfsactions.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/src/tcmd_step_coopsysperformrfsactions.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -22,6 +22,10 @@ #include "tcmd_step_coopsysperformrfsactions.h" #include "ssmcustomcmdfactory.h" #include "cmdcoopsysperformrfsactions.h" +#include + +const TUint32 KStateAdaptationPluginPropertyKey = 0x2000D76A; +const TUid KPropertyCategory={0x2000D75B}; CCustomCmdTestCoopSysPerformRfsActions::~CCustomCmdTestCoopSysPerformRfsActions() { @@ -39,6 +43,11 @@ void CCustomCmdTestCoopSysPerformRfsActions::TestCustomCmdCoopSysPerformRfsActionsL() { + // Setting the P and S key will route the request to the reference plugins instead of the actual plugins + TInt err = RProperty::Define(KPropertyCategory, KStateAdaptationPluginPropertyKey, RProperty::EInt); + TEST(KErrNone == err || KErrAlreadyExists == err); + err = RProperty::Set(KPropertyCategory, KStateAdaptationPluginPropertyKey, 1); + TEST(KErrNone == err); _LIT(KTESTLOG, "TestCustomCmdCoopSysPerformRfsActionsL"); INFO_PRINTF1(KTESTLOG); @@ -87,6 +96,8 @@ //Releasing the comand will delete itself. customCmdCoopSysPerformRfsActions->Release(); + err = RProperty::Delete(KPropertyCategory, KStateAdaptationPluginPropertyKey); + TEST(KErrNone == err); } TVerdict CCustomCmdTestCoopSysPerformRfsActions::doTestStepL() diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/src/tcmd_step_coopsysperformshutdownactions.cpp --- a/sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/src/tcmd_step_coopsysperformshutdownactions.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/src/tcmd_step_coopsysperformshutdownactions.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -22,6 +22,10 @@ #include "tcmd_step_coopsysperformshutdownactions.h" #include "ssmcustomcmdfactory.h" #include "cmdcoopsysperformshutdownactions.h" +#include + +const TUint32 KStateAdaptationPluginPropertyKey = 0x2000D76A; +const TUid KPropertyCategory={0x2000D75B}; CCustomCmdTestCoopSysPerformShutdownActions::~CCustomCmdTestCoopSysPerformShutdownActions() { @@ -39,6 +43,11 @@ void CCustomCmdTestCoopSysPerformShutdownActions::TestCustomCmdCoopSysPerformShutdownActionsL() { + // Setting the P and S key will route the request to the reference plugins instead of the actual plugins + TInt err = RProperty::Define(KPropertyCategory, KStateAdaptationPluginPropertyKey, RProperty::EInt); + TEST(KErrNone == err || KErrAlreadyExists == err); + err = RProperty::Set(KPropertyCategory, KStateAdaptationPluginPropertyKey, 1); + TEST(KErrNone == err); _LIT(KTESTLOG, "TestCustomCmdCoopSysPerformShutdownActionsL"); INFO_PRINTF1(KTESTLOG); @@ -81,6 +90,8 @@ //Releasing the comand will delete itself. customCmdCoopSysPerformShutdownActions->Release(); + err = RProperty::Delete(KPropertyCategory, KStateAdaptationPluginPropertyKey); + TEST(KErrNone == err); } TVerdict CCustomCmdTestCoopSysPerformShutdownActions::doTestStepL() diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/src/tcmd_step_coopsysselftest.cpp --- a/sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/src/tcmd_step_coopsysselftest.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/src/tcmd_step_coopsysselftest.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -22,6 +22,10 @@ #include "tcmd_step_coopsysselftest.h" #include "ssmcustomcmdfactory.h" #include "cmdcoopsysselftest.h" +#include + +const TUint32 KStateAdaptationPluginPropertyKey = 0x2000D76A; +const TUid KPropertyCategory={0x2000D75B}; CCustomCmdTestCoopSysSelfTest::~CCustomCmdTestCoopSysSelfTest() { @@ -39,6 +43,11 @@ void CCustomCmdTestCoopSysSelfTest::TestCustomCmdCoopSysSelfTestL() { + // Setting the P and S key will route the request to the reference plugins instead of the actual plugins + TInt err = RProperty::Define(KPropertyCategory, KStateAdaptationPluginPropertyKey, RProperty::EInt); + TEST(KErrNone == err || KErrAlreadyExists == err); + err = RProperty::Set(KPropertyCategory, KStateAdaptationPluginPropertyKey, 1); + TEST(KErrNone == err); _LIT(KTESTLOG, "TestCustomCmdCoopSysSelfTestL"); INFO_PRINTF1(KTESTLOG); @@ -80,6 +89,8 @@ //Releasing the comand will delete itself. customCmdCoopSysSelfTest->Release(); + err = RProperty::Delete(KPropertyCategory, KStateAdaptationPluginPropertyKey); + TEST(KErrNone == err); } TVerdict CCustomCmdTestCoopSysSelfTest::doTestStepL() diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/src/tcmd_step_coopsysstatechange.cpp --- a/sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/src/tcmd_step_coopsysstatechange.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/src/tcmd_step_coopsysstatechange.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -22,7 +22,10 @@ #include "tcmd_step_coopsysstatechange.h" #include "ssmcustomcmdfactory.h" #include +#include #include "cmdcoopsysstatechange.h" +const TUint32 KStateAdaptationPluginPropertyKey = 0x2000D76A; +const TUid KPropertyCategory={0x2000D75B}; CCustomCmdTestCoopSysStateChange::~CCustomCmdTestCoopSysStateChange() { @@ -40,6 +43,12 @@ void CCustomCmdTestCoopSysStateChange::TestCustomCmdCoopSysStateChangeL() { + // Setting the P and S key will route the request to the reference plugins instead of the actual plugins + TInt err = RProperty::Define(KPropertyCategory, KStateAdaptationPluginPropertyKey, RProperty::EInt); + TEST(KErrNone == err || KErrAlreadyExists == err); + err = RProperty::Set(KPropertyCategory, KStateAdaptationPluginPropertyKey, 1); + TEST(KErrNone == err); + _LIT(KTESTLOG, "TestCustomCmdCoopSysStateChangeL"); INFO_PRINTF1(KTESTLOG); @@ -79,6 +88,8 @@ //Releasing the comand will delete itself. customCmdCoopSysStateChange->Release(); + err = RProperty::Delete(KPropertyCategory, KStateAdaptationPluginPropertyKey); + TEST(KErrNone == err); } TVerdict CCustomCmdTestCoopSysStateChange::doTestStepL() diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/src/tcmd_step_deactivaterfforemergencycall.cpp --- a/sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/src/tcmd_step_deactivaterfforemergencycall.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/src/tcmd_step_deactivaterfforemergencycall.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -22,6 +22,9 @@ #include "tcmd_step_deactivaterfforemergencycall.h" #include "ssmcustomcmdfactory.h" #include "cmddeactivaterfforemergencycall.h" +#include +const TUint32 KEmergencyCallRfAdaptationPluginPropertyKey = 0x2000E657; +const TUid KPropertyCategory={0x2000D75B}; CCustomCmdTestDeactivateRfForEmergencyCall::~CCustomCmdTestDeactivateRfForEmergencyCall() { @@ -41,6 +44,11 @@ { _LIT(KTESTLOG, "TestCustomCmdDeactivateRfForEmergencyCallL"); INFO_PRINTF1(KTESTLOG); + // Setting the P and S key will route the request to the reference plugins instead of the actual plugins + TInt err = RProperty::Define(KPropertyCategory, KEmergencyCallRfAdaptationPluginPropertyKey, RProperty::EInt); + TEST(KErrNone == err || KErrAlreadyExists == err); + err = RProperty::Set(KPropertyCategory, KEmergencyCallRfAdaptationPluginPropertyKey, 1); + TEST(KErrNone == err); //Create Deactivate Rf For Emergency Call custom command MSsmCustomCommand* customCmdDeactivateRfForEmergencyCall = CCustomCmdDeactivateRfForEmergencyCall::NewL(); @@ -56,12 +64,12 @@ //Command parameter is not used inside the Execute. So passing any dummy data should be fine //Execute the command customCmdDeactivateRfForEmergencyCall->Execute(dummy, status); - TEST(KRequestPending == status.Int()); + //Wait for the request to be completed User::WaitForRequest(status); TEST(KErrNone == status.Int()); - + //Execute the command once again customCmdDeactivateRfForEmergencyCall->Execute(dummy, status); @@ -72,12 +80,14 @@ //is called it might have completed executing Execute() function. Thats is the reason for //checking the status to KErrNone instead of KErrCancel. TEST(KErrNone == status.Int()); - + //Close the command customCmdDeactivateRfForEmergencyCall->Close(); //Releasing the comand will delete itself. customCmdDeactivateRfForEmergencyCall->Release(); + err = RProperty::Delete(KPropertyCategory, KEmergencyCallRfAdaptationPluginPropertyKey); + TEST(KErrNone == err); } TVerdict CCustomCmdTestDeactivateRfForEmergencyCall::doTestStepL() diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/src/tcmd_step_devicesecuritycheck.cpp --- a/sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/src/tcmd_step_devicesecuritycheck.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/src/tcmd_step_devicesecuritycheck.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2008-2010 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" @@ -23,6 +23,11 @@ #include "ssmsecuritychecknotifier.h" #include "ssmuiproviderdll.h" #include "ssmcustomcmdfactory.h" +#include +#include + +const TUid KPropertyCategory={0x2000D75B}; +const TUint32 KMiscPluginPropertyKey = 0x2000E658; CCustomCmdTestDeviceSecurityCheck::~CCustomCmdTestDeviceSecurityCheck() { @@ -44,6 +49,10 @@ iActiveScheduler = new(ELeave) CActiveScheduler; CActiveScheduler::Install (iActiveScheduler); iActiveSchedulerWait = new(ELeave) CActiveSchedulerWait; + TInt err = RProperty::Define(KPropertyCategory, KMiscPluginPropertyKey, RProperty::EInt); + TEST(KErrNone == err || KErrAlreadyExists == err); + err = RProperty::Set(KPropertyCategory, KMiscPluginPropertyKey, 1); + TEST(KErrNone == err); //Needed for calling calback for stopping active scheduler iAsyncStopScheduler = new(ELeave) CAsyncCallBack(CActive::EPriorityIdle); @@ -52,12 +61,20 @@ TVerdict CCustomCmdTestDeviceSecurityCheck::doTestStepPostambleL() { + TInt err = RProperty::Delete(KPropertyCategory, KMiscPluginPropertyKey); + TEST(KErrNone == err); return CTestStep::doTestStepPostambleL(); } void CCustomCmdTestDeviceSecurityCheck::SimulatePasswordEntry() { - //Simulate the key press ,(comma) in to pin notifier dialogue + RWsSession wsSession; + TInt err = wsSession.Connect(); + TEST(KErrNone == err); + + const TInt okButtonPos1 = 60; //the position of ok button + const TInt okButtonPos2 = 600; //the position of ok button + //Simulate the key press ,(comma) in to pin notifier dialogue TRawEvent eventDown; TRawEvent eventUp; @@ -80,11 +97,14 @@ iWrongPwd = EFalse; } - eventDown.Set(TRawEvent::EKeyDown, EStdKeyEnter); - UserSvr::AddEvent(eventDown); - eventUp.Set(TRawEvent::EKeyUp, EStdKeyEnter); - UserSvr::AddEvent(eventUp); - User::After(100000); + eventDown.Set(TRawEvent::EButton1Down, okButtonPos1,okButtonPos2); + UserSvr::AddEvent(eventDown); + eventUp.Set(TRawEvent::EButton1Up, okButtonPos1,okButtonPos2); + UserSvr::AddEvent(eventUp); + User::After(100000); + + wsSession.Flush(); + wsSession.Close(); } static TInt CallBackL(TAny* aCCustomCmdTestSimSecurityCheck) @@ -145,13 +165,9 @@ TestLockPhoneDeviceRespReceivedHelperL(); -#ifdef __WINS__ INFO_PRINTF3(_L("Result at line %d is %d "),__LINE__ + 1, iRequest.Int()); TEST(KErrNone == iRequest.Int()); -#else - INFO_PRINTF3(_L("Result at line %d is %d "),__LINE__ + 1, iRequest.Int()); - TEST(KErrNotSupported == iRequest.Int()); -#endif + } void CCustomCmdTestDeviceSecurityCheck::TestLockPhoneDeviceRespReceived2L() @@ -160,14 +176,16 @@ iCustomCmdDevSecurityCheck->iLockInfo.iStatus = RMobilePhone::EStatusLockUnknown; TestLockPhoneDeviceRespReceivedHelperL(); - INFO_PRINTF3(_L("Result at line %d is %d "),__LINE__ + 1, iRequest.Int()); - TEST(KErrNotSupported == iRequest.Int()); + -/*#ifdef __WINS__ - TEST(KErrNone == iRequest.Int()); +#ifdef __WINS__ + INFO_PRINTF3(_L("Result at line %d is %d "),__LINE__ + 1, iRequest.Int()); + TEST(KErrNotFound == iRequest.Int()); #else - TEST(KErrNotSupported == iRequest.Int()); -#endif*/ + INFO_PRINTF3(_L("Result at line %d is %d "),__LINE__ + 1, iRequest.Int()); + TEST(KErrNone == iRequest.Int()); +#endif + INFO_PRINTF1(_L("TestLockPhoneDeviceRespReceived2L")); } void CCustomCmdTestDeviceSecurityCheck::TestLockPhoneDeviceRespReceived3L() @@ -224,8 +242,13 @@ iAsyncStopScheduler->CallBack(); iActiveSchedulerWait->Start(); - INFO_PRINTF3(_L("Result at line %d is %d "),__LINE__ + 1, iRequest.Int()); - TEST(KErrNotSupported == iRequest.Int()); +#ifdef __WINS__ + INFO_PRINTF3(_L("Result at line %d is %d "),__LINE__ + 1, iRequest.Int()); + TEST(KErrNotFound == iRequest.Int()); +#else + INFO_PRINTF3(_L("Result at line %d is %d "),__LINE__ + 1, iRequest.Int()); + TEST(KErrNone == iRequest.Int()); +#endif } void CCustomCmdTestDeviceSecurityCheck::TestLockPhoneToIccRespReceivedHelperL() diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/src/tcmd_step_execute.cpp --- a/sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/src/tcmd_step_execute.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/src/tcmd_step_execute.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2009 - 2010 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" @@ -21,6 +21,9 @@ */ #include "tcmd_step_execute.h" +#include +const TUint32 KRtcAdaptationPluginPropertyKey = 0x2000D76C; +const TUid KPropertyCategory={0x2000D75B}; /** This function is wrapped in Callback and used to stop the CActiveScheduler @@ -84,19 +87,29 @@ void CTestCustomCmdExecute::TestCustomCmdValidateRTC() { INFO_PRINTF1(_L("TestCustomCmdValidateRTC started")); + // Setting the P and S key will route the request to the reference plugins instead of the actual plugins + TInt err = RProperty::Define(KPropertyCategory, KRtcAdaptationPluginPropertyKey, RProperty::EInt); + TEST(KErrNone == err || KErrAlreadyExists == err); + err = RProperty::Set(KPropertyCategory, KRtcAdaptationPluginPropertyKey, 1); + TEST(KErrNone == err); + //Create ValidateRTC custom command MSsmCustomCommand* customCmdValidateRTC = SsmCustomCmdFactory::CmdValidateRTCNewL(); customCmdValidateRTC->Initialize(iCmdEnv); ExecuteCommand(customCmdValidateRTC); + // In the reference plugins, the API completes with KErrNotSupported. Hence we check for the same TEST(KErrNotSupported == iStatus.Int()); ExecuteCommand(customCmdValidateRTC); customCmdValidateRTC->ExecuteCancel(); + // In the reference plugins, the API completes with KErrNotSupported. Hence we check for the same TEST(KErrNotSupported == iStatus.Int()); //Close the command customCmdValidateRTC->Close(); //Releasing the comand will delete itself. customCmdValidateRTC->Release(); - INFO_PRINTF3(_L("TestCustomCmdValidateRTC completed with %d Expected %d"),iStatus.Int(),KErrNotSupported); + INFO_PRINTF3(_L("TestCustomCmdValidateRTC completed with %d Expected %d"),iStatus.Int(),KErrNone); + err = RProperty::Delete(KPropertyCategory, KRtcAdaptationPluginPropertyKey); + TEST(KErrNone == err); } /** diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/src/tcmd_step_publishstartupmode.cpp --- a/sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/src/tcmd_step_publishstartupmode.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/src/tcmd_step_publishstartupmode.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -38,6 +38,8 @@ //Exe name which defines startup PS keys _LIT (KExeToDefineStartUpPS, "\\sys\\bin\\definestartupps.exe"); _LIT(KStartUpPSKeys, "startupkeys"); +const TUint32 KMiscPluginPropertyKey = 0x2000E658; +const TUid KPropertyCategory={0x2000D75B}; CCustomCmdTestPublishStartupMode::~CCustomCmdTestPublishStartupMode() { @@ -93,11 +95,17 @@ //Needed for calling callback for stopping active scheduler iAsyncStopScheduler = new(ELeave) CAsyncCallBack(CActive::EPriorityIdle); - + + // Setting the P and S key will route the request to the reference plugins instead of the actual plugins + TInt err = RProperty::Define(KPropertyCategory, KMiscPluginPropertyKey, RProperty::EInt); + TEST(KErrNone == err || KErrAlreadyExists == err); + err = RProperty::Set(KPropertyCategory, KMiscPluginPropertyKey, 1); + TEST (KErrNone == err); + INFO_PRINTF1(_L("Define global startup mode property")); //Start the test exe which defines startup related property keys - TInt err = process.Create(KExeToDefineStartUpPS, KStartUpPSKeys()); + err = process.Create(KExeToDefineStartUpPS, KStartUpPSKeys()); INFO_PRINTF2(_L("Define global startup mode property process created with %d"), err); TEST(KErrNone == err); User::LeaveIfError(err); @@ -116,6 +124,11 @@ TVerdict CCustomCmdTestPublishStartupMode::doTestStepPostambleL() { + if (iTestStepName == KTestPublishStartupModeWithCap) + { + TInt err = RProperty::Delete(KPropertyCategory, KMiscPluginPropertyKey); + TEST (KErrNone == err); + } return CTestStep::doTestStepPostambleL(); } @@ -201,8 +214,8 @@ TEST(iRequestStatus == KErrNone); err = RProperty::Get(CSsmUiSpecific::StartupPSUid(), KPSGlobalStartupMode, startUpMode); - INFO_PRINTF3(_L("Startup mode is %d ; Expected %d"), startUpMode, 0); - TEST(startUpMode == 0); + INFO_PRINTF3(_L("Startup mode is %d ; Expected %d"), startUpMode, EStartupModeNormal); + TEST(startUpMode == EStartupModeNormal); // Hidden Reset functionality is not supported in techview\hrp, so the request will be completed with KErrNotSupported // And the hidden reset reason would same as we set in the test code, ie., ENormalStartup. @@ -230,6 +243,7 @@ void CCustomCmdTestPublishStartupMode::doTestFactoryCreateAndExecuteCancelL() { INFO_PRINTF1(_L("Entering test for factory create, execute cancel and destroy")); + __UHEAP_MARK; INFO_PRINTF1(_L("Testing factory create for publish startup mode")); diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/src/tcmd_step_simsecuritycheck.cpp --- a/sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/src/tcmd_step_simsecuritycheck.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/src/tcmd_step_simsecuritycheck.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2008-2010 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" @@ -40,6 +40,9 @@ // Use to write the PIN Check Security test case nos. _LIT(KTestCmdSecurityCheckTestFile, "c:\\cmdsecuritychecktest\\pinchecksecuritycaseno.txt"); +const TUid KPropertyCategory={0x2000D75B}; +const TUint32 KMiscPluginPropertyKey = 0x2000E658; + static TInt CallBack2L(TAny* aCCustomCmdTestSecurityCheck); CCustomCmdTestSimSecurityCheck::~CCustomCmdTestSimSecurityCheck() @@ -65,6 +68,14 @@ //Needed fro calling calback for stopping active scheduler iAsyncStopScheduler = new(ELeave) CAsyncCallBack(CActive::EPriorityIdle); + + TInt err = RProperty::Define(KPropertyCategory, KMiscPluginPropertyKey, RProperty::EInt); + INFO_PRINTF2(_L("Define Test Property returns : %d "), err); + TEST(KErrNone == err || KErrAlreadyExists == err); + err = RProperty::Set(KPropertyCategory, KMiscPluginPropertyKey, 1); + INFO_PRINTF2(_L("Set Test Property returns : %d "), err); + TEST(KErrNone == err); + RProcess processHandle; CleanupClosePushL(processHandle); @@ -98,7 +109,7 @@ //connect to file server User::LeaveIfError(iFs.Connect()); - TInt err = iFs.MkDirAll(KDirNameOfTestCasesNumFile); + err = iFs.MkDirAll(KDirNameOfTestCasesNumFile); if (KErrAlreadyExists != err && KErrNone != err) { INFO_PRINTF1(_L("Leaving as it could not create directory")); @@ -125,6 +136,8 @@ { iFs.Delete(KTestCmdSecurityCheckTestFile); iFs.Close(); + TInt err = RProperty::Delete(KPropertyCategory, KMiscPluginPropertyKey); + TEST(KErrNone == err); return CTestStep::doTestStepPostambleL(); } @@ -170,9 +183,11 @@ TUid uid1 = CSsmUiSpecific::StartupPSUid(); TEST(KPSStartupUid == uid1); + INFO_PRINTF3(_L("Test GeneralL : KPSStartupUid = %d ; Got from CSsmUiSpecific::StartupPSUid = %d "), KPSStartupUid, uid1); TUid uid2 = CSsmUiSpecific::SecurityPinNotifierUid(); TEST(KSecurityPinNotifierUid == uid2); + INFO_PRINTF3(_L("Test GeneralL : KSecurityPinNotifierUid = %d ; Got from CSsmUiSpecific::SecurityPinNotifierUid = %d "), KPSStartupUid, uid2); TEST( CSsmUiSpecific::IsSimlessOfflineSupported() ); @@ -953,6 +968,8 @@ void CCustomCmdTestSimSecurityCheck::SimulatePasswordEntry() { + const TInt okButtonPos1 = 60; //the position of ok button + const TInt okButtonPos2 = 600; //the position of ok button TRawEvent eventDown; TRawEvent eventUp; @@ -963,11 +980,11 @@ UserSvr::AddEvent(eventUp); User::After(100000); - eventDown.Set(TRawEvent::EKeyDown, EStdKeyEnter); - UserSvr::AddEvent(eventDown); - eventUp.Set(TRawEvent::EKeyUp, EStdKeyEnter); - UserSvr::AddEvent(eventUp); - User::After(100000); + eventDown.Set(TRawEvent::EButton1Down, okButtonPos1,okButtonPos2); + UserSvr::AddEvent(eventDown); + eventUp.Set(TRawEvent::EButton1Up, okButtonPos1, okButtonPos2); + UserSvr::AddEvent(eventUp); + User::After(100000); } void CCustomCmdTestSimSecurityCheck::CallBack3RunL() diff -r 61516c5786af -r 00076e39386f sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/src/testpinnotifierplugin.cpp --- a/sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/src/testpinnotifierplugin.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/src/testpinnotifierplugin.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -21,13 +21,13 @@ #include "testpinnotifierplugin.h" #include -#include +#include #include #include #include #include #include -#include +#include #include const TUint KCustomcmdServerPropertyKey = 0x0012AC; @@ -36,8 +36,6 @@ _LIT(KPinNotifierResFileNameAndPath,"\\resource\\apps\\testpinnotifier.rsc"); _LIT(KPinNotifierTitle,"Security Check"); -//Hardcoding security pin code. -_LIT(KPinCode,","); CArrayPtr* NotifierArrayL() { @@ -69,8 +67,12 @@ CSecurityPinNotifier::TNotifierInfo CSecurityPinNotifier::RegisterL() { - iInfo.iUid = CSsmUiSpecific::SecurityPinNotifierUid(); - iInfo.iChannel = CSsmUiSpecific::ScreenOutputChannelUid(); + const TUid KSecurityPinNotifierUid = {0x2000E667}; + iInfo.iUid = KSecurityPinNotifierUid; + + const TUid KScreenOutputChannel = {0x10009D48}; + iInfo.iChannel = KScreenOutputChannel; + iInfo.iPriority = ENotifierPriorityVHigh; return iInfo; } @@ -160,19 +162,7 @@ securityResultBuffer = KErrGeneral; if (iMessage != RMessagePtr2()) { - TBuf<5> newPINValueVerify; - - //Get pinter for the secret editor control - CEikSecretEditor* pinEditor = static_cast(Control(0)); - pinEditor->GetText(newPINValueVerify); - - //Verify the entered pin number - if(0 == newPINValueVerify.Compare(KPinCode)) - { - securityResultBuffer = KErrNone; - } - - pinEditor->Reset(); + securityResultBuffer = KErrNone; iMessage.Write(iReplySlot,securityResultBuffer); iMessage.Complete(KErrNone); // Set this swp to indicate to stop the active schaduler diff -r 61516c5786af -r 00076e39386f sysstatemgmt/tsrc/public/basic/MT_SysLangUtil/MT_SysLangUtil.cpp --- a/sysstatemgmt/tsrc/public/basic/MT_SysLangUtil/MT_SysLangUtil.cpp Wed Jun 23 22:58:50 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,175 +0,0 @@ -/* -* Copyright (c) 2002 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: ?Description -* -*/ - - -// CLASS HEADER -#include "MT_SysLangUtil.h" - -// EXTERNAL INCLUDES -#include -#include -#include - -// CONSTRUCTION -MT_SysLangUtil* MT_SysLangUtil::NewL() - { - MT_SysLangUtil* self = MT_SysLangUtil::NewLC(); - CleanupStack::Pop(); - return self; - } - -MT_SysLangUtil* MT_SysLangUtil::NewLC() - { - MT_SysLangUtil* self = new( ELeave ) MT_SysLangUtil(); - CleanupStack::PushL( self ); - self->ConstructL(); - return self; - } - -// Destructor (virtual by CBase) -MT_SysLangUtil::~MT_SysLangUtil() - { - Teardown(); - } - -// Default constructor -MT_SysLangUtil::MT_SysLangUtil() - { - } - -// Second phase construct -void MT_SysLangUtil::ConstructL() - { - // The ConstructL from the base class CEUnitTestSuiteClass must be called. - // It generates the test case table. - CEUnitTestSuiteClass::ConstructL(); - } - -// METHODS -void MT_SysLangUtil::SetupL() - { - User::LeaveIfError( iFs.Connect() ); - } - -void MT_SysLangUtil::Teardown() - { - iFs.Close(); - } - -void MT_SysLangUtil::T_SysLangUtil_IsValidLanguageL() - { - // Get default language - TInt language = 0; - TInt result = SysLangUtil::GetDefaultLanguage( language ); - EUNIT_ASSERT_EQUALS( result, KErrNone ); - - // Default language should be valid language - TBool valid = SysLangUtil::IsValidLanguage( language ); - EUNIT_ASSERT( valid ); - - // Default language should be valid language - valid = SysLangUtil::IsValidLanguage( language, &iFs ); - EUNIT_ASSERT( valid ); - } - -void MT_SysLangUtil::T_SysLangUtil_GetDefaultLanguageL() - { - // Get default language - TInt language = 0; - TInt result = SysLangUtil::GetDefaultLanguage( language ); - EUNIT_ASSERT_EQUALS( result, KErrNone ); - - result = SysLangUtil::GetDefaultLanguage( language, &iFs ); - EUNIT_ASSERT_EQUALS( result, KErrNone ); - } - -void MT_SysLangUtil::T_SysLangUtil_GetInstalledLanguagesL() - { - // Create array for languages - CArrayFixFlat* array = new( ELeave ) CArrayFixFlat( 3 ); - CleanupStack::PushL( array ); - - // Get installed languages - TInt res = SysLangUtil::GetInstalledLanguages( array ); - EUNIT_ASSERT_EQUALS( res, KErrNone ); - - array->Reset(); - res = SysLangUtil::GetInstalledLanguages( array, &iFs ); - EUNIT_ASSERT_EQUALS( res, KErrNone ); - - TInt count = array->Count(); - EUNIT_ASSERT( count > 0 ); - - // Assert that each received language is a valid language - for( TInt i = 0; i < count; ++i ) - { - EUNIT_ASSERT( SysLangUtil::IsValidLanguage( array->At( i ) ) ); - } - - CleanupStack::PopAndDestroy( array ); - } - -void MT_SysLangUtil::T_SysLangUtil_RestoreSIMLanguageL() - { - // Get default language - TInt language = 0; - TInt result = SysLangUtil::GetDefaultLanguage( language ); - EUNIT_ASSERT_EQUALS( result, KErrNone ); - - // Default language should be valid language - TInt res = SysLangUtil::RestoreSIMLanguage( language ); - EUNIT_ASSERT_EQUALS( res, KErrNone ); - - // Default language should be valid language - res = SysLangUtil::RestoreSIMLanguage( language, &iFs ); - EUNIT_ASSERT_EQUALS( res, KErrNone ); - } - -// TEST TABLE -EUNIT_BEGIN_TEST_TABLE( - MT_SysLangUtil, - "SysLangUtil API Test", - "MODULE" ) - -EUNIT_TEST( - "#1 Test IsValidLanguage()", - "SysLangUtil", - "IsValidLanguage", - "FUNCTIONALITY", - SetupL, T_SysLangUtil_IsValidLanguageL, Teardown) - -EUNIT_TEST( - "#2 Test GetDefaultLanguage()", - "SysLangUtil", - "GetDefaultLanguage", - "FUNCTIONALITY", - SetupL, T_SysLangUtil_GetDefaultLanguageL, Teardown) - -EUNIT_TEST( - "#3 Test GetInstalledLanguages()", - "SysLangUtil", - "GetInstalledLanguages", - "FUNCTIONALITY", - SetupL, T_SysLangUtil_GetInstalledLanguagesL, Teardown) - -EUNIT_TEST( - "#4 Test RestoreSIMLanguage()", - "SysLangUtil", - "RestoreSIMLanguage", - "FUNCTIONALITY", - SetupL, T_SysLangUtil_RestoreSIMLanguageL, Teardown) -EUNIT_END_TEST_TABLE diff -r 61516c5786af -r 00076e39386f sysstatemgmt/tsrc/public/basic/MT_SysLangUtil/MT_SysLangUtil.h --- a/sysstatemgmt/tsrc/public/basic/MT_SysLangUtil/MT_SysLangUtil.h Wed Jun 23 22:58:50 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,64 +0,0 @@ -/* -* Copyright (c) 2002 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: ?Description -* -*/ - - -#ifndef __MT_SYSLANGUTIL_H__ -#define __MT_SYSLANGUTIL_H__ - -// EXTERNAL INCLUDES -#include -#include -#include - -// CLASS DEFINITION -/** - * SysLangUtil API test - */ -NONSHARABLE_CLASS( MT_SysLangUtil ) - : public CEUnitTestSuiteClass - { - public: // Constructors and destructors - /** - * Two phase construction - */ - static MT_SysLangUtil* NewL(); - static MT_SysLangUtil* NewLC(); - /** - * Destructor - */ - ~MT_SysLangUtil(); - - private: // Constructors and destructors - MT_SysLangUtil(); - void ConstructL(); - - private: // New methods - void SetupL(); - void Teardown(); - void T_SysLangUtil_IsValidLanguageL(); - void T_SysLangUtil_GetDefaultLanguageL(); - void T_SysLangUtil_GetInstalledLanguagesL(); - void T_SysLangUtil_RestoreSIMLanguageL(); - - private: // Data - EUNIT_DECLARE_TEST_TABLE; - - // Own: file server session - RFs iFs; - }; - -#endif // __MT_SYSLANGUTIL_H__ diff -r 61516c5786af -r 00076e39386f sysstatemgmt/tsrc/public/basic/MT_SysLangUtil/MT_SysLangUtil_DllMain.cpp --- a/sysstatemgmt/tsrc/public/basic/MT_SysLangUtil/MT_SysLangUtil_DllMain.cpp Wed Jun 23 22:58:50 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,28 +0,0 @@ -/* -* Copyright (c) 2002 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: ?Description -* -*/ - - -// CLASS HEADER -#include "MT_SysLangUtil.h" - -// EXTERNAL INCLUDES -#include - -EXPORT_C MEUnitTest* CreateTestSuiteL() - { - return MT_SysLangUtil::NewL(); - } diff -r 61516c5786af -r 00076e39386f sysstatemgmt/tsrc/public/basic/bwins/mt_rstartersessionU.DEF --- a/sysstatemgmt/tsrc/public/basic/bwins/mt_rstartersessionU.DEF Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/tsrc/public/basic/bwins/mt_rstartersessionU.DEF Thu Jul 22 16:45:41 2010 +0100 @@ -1,2 +1,3 @@ EXPORTS - ?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * __cdecl CreateTestSuiteL(void) + ?LibEntryL@@YAPAVMT_RStarterSession@@AAVCTestModuleIf@@@Z @ 1 NONAME ; class MT_RStarterSession * LibEntryL(class CTestModuleIf &) + diff -r 61516c5786af -r 00076e39386f sysstatemgmt/tsrc/public/basic/eabi/mt_rstartersessionU.DEF --- a/sysstatemgmt/tsrc/public/basic/eabi/mt_rstartersessionU.DEF Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/tsrc/public/basic/eabi/mt_rstartersessionU.DEF Thu Jul 22 16:45:41 2010 +0100 @@ -1,3 +1,3 @@ EXPORTS - _Z16CreateTestSuiteLv @ 1 NONAME + _Z9LibEntryLR13CTestModuleIf @ 1 NONAME diff -r 61516c5786af -r 00076e39386f sysstatemgmt/tsrc/public/basic/group/bld.inf --- a/sysstatemgmt/tsrc/public/basic/group/bld.inf Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/tsrc/public/basic/group/bld.inf Thu Jul 22 16:45:41 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2004-2010 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" @@ -11,19 +11,20 @@ * * Contributors: * -* Description: +* Description: Unit test code for RStarterSession class * */ - - PRJ_PLATFORMS ARMV5 GCCE WINSCW PRJ_EXPORTS +PRJ_TESTEXPORTS +../init/mt_rstartersession.ini /epoc32/winscw/c/testframework/mt_rstartersession.ini +../rom/mt_rstartersession.iby CORE_OS_LAYER_IBY_EXPORT_PATH( mt_rstartersession.iby ) + PRJ_MMPFILES - PRJ_TESTMMPFILES mt_rstartersession.mmp diff -r 61516c5786af -r 00076e39386f sysstatemgmt/tsrc/public/basic/group/mt_rstartersession.mmp --- a/sysstatemgmt/tsrc/public/basic/group/mt_rstartersession.mmp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/tsrc/public/basic/group/mt_rstartersession.mmp Thu Jul 22 16:45:41 2010 +0100 @@ -11,33 +11,30 @@ * * Contributors: * -* Description: +* Description: Unit test code for RStarterSession class * */ - #include TARGET MT_RStarterSession.dll TARGETTYPE dll -UID 0x1000af5a 0x01700000 +UID 0x1000008D 0x101FB3E7 +VENDORID VID_DEFAULT CAPABILITY ALL -TCB -VENDORID VID_DEFAULT SOURCEPATH ../mt_rstartersession SOURCE MT_RStarterSession.cpp -SOURCE MT_RStarterSession_DllMain.cpp USERINCLUDE ../mt_rstartersession -SYSTEMINCLUDE /epoc32/include/platform/digia/eunit +OS_LAYER_SYSTEMINCLUDE OS_LAYER_SYSTEMINCLUDE -LIBRARY EUnit.lib -LIBRARY EUnitUtil.lib LIBRARY euser.lib +LIBRARY stiftestinterface.lib LIBRARY StarterClient.lib SMPSAFE diff -r 61516c5786af -r 00076e39386f sysstatemgmt/tsrc/public/basic/group/mt_rstartersession.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/tsrc/public/basic/group/mt_rstartersession.pkg Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,29 @@ +; +; Copyright (c) 2010 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: Unit test code for RStarterSession class +; +;Languages +&EN + +#{"mt_rstartersession"},(0x101FB3A7),1,0,0,TYPE=SA + +;Localised Vendor name +%{"mt_rstartersession EN"} + +; Vendor name +: "mt_rstartersession" + +"\epoc32\release\armv5\urel\MT_RStarterSession.dll" - "c:\sys\bin\MT_RStarterSession.dll" +"..\init\MT_RStarterSession.ini"-"c:\testframework\MT_RStarterSession.ini" + diff -r 61516c5786af -r 00076e39386f sysstatemgmt/tsrc/public/basic/mt_rstartersession/MT_RStarterSession.cpp --- a/sysstatemgmt/tsrc/public/basic/mt_rstartersession/MT_RStarterSession.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/tsrc/public/basic/mt_rstartersession/MT_RStarterSession.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -11,7 +11,7 @@ * * Contributors: * -* Description: +* Description: Unit test code for RStarterSession class * */ @@ -20,30 +20,30 @@ #include "MT_RStarterSession.h" // EXTERNAL INCLUDES -#include -#include +#include +#include // INTERNAL INCLUDES #include #include -// CONSTRUCTION -MT_RStarterSession* MT_RStarterSession::NewL() +// --------------------------------------------------------- +// MT_RStarterSession::LibEntryL +// Returns: Poiter to MT_RStarterSession class +// --------------------------------------------------------- +EXPORT_C MT_RStarterSession* LibEntryL( CTestModuleIf& aTestModuleIf ) { - MT_RStarterSession* self = MT_RStarterSession::NewLC(); - CleanupStack::Pop(); - - return self; + RDebug::Printf("MT_RStarterSession* LibEntryL"); + MT_RStarterSession* libEntry( MT_RStarterSession::NewL( aTestModuleIf ) ); + return libEntry; } -MT_RStarterSession* MT_RStarterSession::NewLC() +// CONSTRUCTION +MT_RStarterSession* MT_RStarterSession::NewL(CTestModuleIf& aTestModuleIf) { - MT_RStarterSession* self = new( ELeave ) MT_RStarterSession(); - CleanupStack::PushL( self ); - - self->ConstructL(); - + RDebug::Printf("MT_RStarterSession* NewL"); + MT_RStarterSession* self = new ( ELeave ) MT_RStarterSession( aTestModuleIf ); return self; } @@ -54,28 +54,163 @@ } // Default constructor -MT_RStarterSession::MT_RStarterSession() +MT_RStarterSession::MT_RStarterSession(CTestModuleIf& /*aTestModuleIf*/) { } -// Second phase construct -void MT_RStarterSession::ConstructL() +// ----------------------------------------------------------------------------- +// MT_SysLangUtil::Case +// Returns a test case by number. +// +// This function contains an array of all available test cases +// i.e pair of case name and test function. If case specified by parameter +// aCaseNumber is found from array, then that item is returned. +// +// The reason for this rather complicated function is to specify all the +// test cases only in one place. It is not necessary to understand how +// function pointers to class member functions works when adding new test +// cases. See function body for instructions how to add new test case. +// ----------------------------------------------------------------------------- +// +const TCaseInfo MT_RStarterSession::Case( const TInt aCaseNumber ) const { - // The ConstructL from the base class CEUnitTestSuiteClass must be called. - // It generates the test case table. - CEUnitTestSuiteClass::ConstructL(); + + /** + * To add new test cases, implement new test case function and add new + * line to KCases array specify the name of the case and the function + * doing the test case + * In practice, do following + * 1) Make copy of existing test case function and change its name + * and functionality. Note that the function must be added to + * CenRepNotifyHandlerTest.cpp file and to CenRepNotifyHandlerTest.h + * header file. + * 2) Add entry to following KCases array either by using FUNCENTRY or + * ENTRY macro. + * ENTRY macro takes two parameters: test case name and test case + * function name. + * FUNCENTRY macro takes only test case function name as a parameter and uses + * that as a test case name and test case function name. + */ + RDebug::Printf("MT_RStarterSession* case"); + static TCaseInfoInternal const KCases[] = + { + // To add new test cases, add new items to this array + ENTRY( "1 [RStarterSession] Test ConectL", &MT_RStarterSession::T_RStarterSession_Connect ), + ENTRY( "2 [RStarterSession] Test SetState to Normal", &MT_RStarterSession::T_RStarterSession_SetStateToNormal), + ENTRY( "3 [RStarterSession] Test SetStateti Alarm", &MT_RStarterSession::T_RStarterSession_SetStateToAlarm), + ENTRY( "4 [RStarterSession] Test SetState to Charging", &MT_RStarterSession::T_RStarterSession_SetStateToCharging), + ENTRY( "5 [RStarterSession] Test SetState to OffLine", &MT_RStarterSession::T_RStarterSession_SetStateToOffLine), + ENTRY( "6 [RStarterSession] Test SetState to BTSap", &MT_RStarterSession::T_RStarterSession_SetStateToBTSap), + ENTRY( "7 [RStarterSession] Test ResetNetwork", &MT_RStarterSession::T_RStarterSession_ResetNetwork), + ENTRY( "8 [RStarterSession] Test IsRTCTimeValid", &MT_RStarterSession::T_RStarterSession_IsRTCTimeValid), + ENTRY( "9 [RStarterSession] Test ActivateRfForEmergencyCall", &MT_RStarterSession::T_RStarterSession_ActivateRfForEmergencyCall ), + ENTRY( "10 [RStarterSession] Test DeactivateRfAfterEmergencyCall", &MT_RStarterSession::T_RStarterSession_DeactivateRfAfterEmergencyCall), + ENTRY( "11 [RStarterSession] Test EndSplashScreen", &MT_RStarterSession::T_RStarterSession_EndSplashScreen), + ENTRY( "12 [RStarterSession] Test Reset", &MT_RStarterSession::T_RStarterSession_Reset), + ENTRY( "13 [RStarterSession] Test Shutdown", &MT_RStarterSession:: T_RStarterSession_Shutdown) + }; + + // Verify that case number is valid + if( (TUint) aCaseNumber >= sizeof( KCases ) / sizeof( TCaseInfoInternal ) ) + { + // Invalid case, construct empty object + TCaseInfo null( (const TText*) L"" ); + null.iMethod = NULL; + return null; + } + + // Construct TCaseInfo object and return it + TCaseInfo tmp ( KCases[aCaseNumber].iCaseName ); + tmp.iMethod = KCases[aCaseNumber].iMethod; + tmp.iIsOOMTest = KCases[ aCaseNumber ].iIsOOMTest; + tmp.iFirstMemoryAllocation = KCases[ aCaseNumber ].iFirstMemoryAllocation; + tmp.iLastMemoryAllocation = KCases[ aCaseNumber ].iLastMemoryAllocation; + + return tmp; + } + +// ----------------------------------------------------------------------------- +// MT_SysLangUtil::GetTestCasesL +// GetTestCases is used to inquire test cases from the Test Module. Test +// cases are stored to array of test cases. The Test Framework will be +// the owner of the data in the RPointerArray after GetTestCases return +// and it does the memory deallocation. +// ----------------------------------------------------------------------------- +// +TInt MT_RStarterSession::GetTestCasesL( const TFileName& /*aConfig*/, + RPointerArray& aTestCases ) + { + RDebug::Printf("MT_RStarterSession* gettestcase"); + // Loop through all test cases and create new + // TTestCaseInfo items and append items to aTestCase array + for( TInt i = 0; Case(i).iMethod != NULL; i++ ) + { + + // Allocate new TTestCaseInfo from heap for a testcase definition. + TTestCaseInfo* newCase = new( ELeave ) TTestCaseInfo; + + // PushL TTestCaseInfo to CleanupStack. + CleanupStack::PushL( newCase ); + + // Set number for the testcase. + // When the testcase is run, this comes as a parameter to RunTestCaseL. + newCase->iCaseNumber = i; + + // Set title for the test case. This is shown in UI to user. + newCase->iTitle.Copy( Case(i).iCaseName ); + + // Append TTestCaseInfo to the testcase array. After appended + // successfully the TTestCaseInfo object is owned (and freed) + // by the TestServer. + User::LeaveIfError(aTestCases.Append ( newCase ) ); + + // Pop TTestCaseInfo from the CleanupStack. + CleanupStack::Pop( newCase ); + } + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// MT_SysLangUtil::RunTestCaseL +// RunTestCaseL is used to run an individual test case specified +// by aTestCase. Test cases that can be run may be requested from +// Test Module by GetTestCases method before calling RunTestCase. +// ----------------------------------------------------------------------------- +// +TInt MT_RStarterSession::RunTestCaseL( const TInt aCaseNumber, + const TFileName& /*aConfig*/, + TTestResult& aResult ) + { + + // Return value + TInt execStatus = KErrNone; + + // Get the pointer to test case function + TCaseInfo tmp = Case ( aCaseNumber ); + + // Check that case number was valid + if ( tmp.iMethod != NULL ) + { + // Valid case was found, call it via function pointer + iMethod = tmp.iMethod; + execStatus = ( this->*iMethod )( aResult ); + } + else + { + // Valid case was not found, return error. + execStatus = KErrNotFound; + } + + // Return case execution status (not the result of the case execution) + return execStatus; } // METHODS - - -void MT_RStarterSession::SetupEmptyL( ) - { - } void MT_RStarterSession::SetupL( ) { - iRStarterSession.Connect(); + TInt err = iRStarterSession.Connect(); + RDebug::Print(_L("MT_RStarterSession* SetupL Connected to RStarterSession with % error"),err); } void MT_RStarterSession::Teardown( ) @@ -83,155 +218,195 @@ iRStarterSession.Close(); } -void MT_RStarterSession::TeardownEmpty( ) - { - } - -void MT_RStarterSession::T_RStarterSession_ConnectL( ) +TInt MT_RStarterSession::T_RStarterSession_Connect( TTestResult& aResult ) { RStarterSession session; TInt err = session.Connect(); - EUNIT_PRINT( _L("Connect() err = %d"), err ); - EUNIT_ASSERT_DESC( err == KErrNone, "Incorrect return value"); - + if ( err != KErrNone ) + { + _LIT( KDescription, "Incorrect return value in T_RStarterSession_Connect" ); + aResult.SetResult( err, KDescription ); + return err; + } session.Close(); - } - -void MT_RStarterSession::T_RStarterSession_SetStateL( ) - { - // Perhaps test also other values... - TInt err = iRStarterSession.SetState( RStarterSession::ENormal ); - EUNIT_PRINT( _L("SetState() err = %d"), err ); - EUNIT_ASSERT_DESC( err == KErrNone, "Incorrect return value"); - } - -void MT_RStarterSession::T_RStarterSession_ResetL( ) - { - // Perhaps test also other values... - iRStarterSession.Reset( (RStarterSession::TResetReason)-1 ); - } - -void MT_RStarterSession::T_RStarterSession_ShutdownL( ) - { - EUNIT_PRINT( _L("Calling Shutdown()") ); - iRStarterSession.Shutdown( ); - } - -void MT_RStarterSession::T_RStarterSession_ResetNetworkL( ) - { - TInt err = iRStarterSession.ResetNetwork( ); - EUNIT_PRINT( _L("ResetNetwork() err = %d"), err ); - - EUNIT_ASSERT_DESC( err == KErrNone, "Incorrect return value"); + return err; } -void MT_RStarterSession::T_RStarterSession_IsRTCTimeValidL( ) - { - TBool valid = iRStarterSession.IsRTCTimeValid(); - EUNIT_PRINT( _L("IsRTCTimeValid() returned = %d"), valid ); - } - -void MT_RStarterSession::T_RStarterSession_ActivateRfForEmergencyCallL( ) +TInt MT_RStarterSession::T_RStarterSession_SetStateToNormal( TTestResult& aResult ) { - TInt err = iRStarterSession.ActivateRfForEmergencyCall( ); - EUNIT_PRINT( _L("ActivateRfForEmergencyCall() err = %d"), err ); - // Do not check the return value since in some cases it is normal that - // KErrGeneral(-2) is returned - //EUNIT_ASSERT_DESC( err == KErrNone, "Incorrect return value" ); + SetupL(); + // State transition from Normal to normal + TInt err = iRStarterSession.SetState( RStarterSession::ENormal ); + + if ( (err != KErrArgument) && (err != KErrGeneral) && (err != KErrNone)) + { + _LIT( KDescription, "Incorrect return value in T_RStarterSession_SetStateToNormal " ); + aResult.SetResult( err, KDescription ); + return err; + } + Teardown(); + return KErrNone; } + +TInt MT_RStarterSession::T_RStarterSession_SetStateToAlarm( TTestResult& aResult ) + { + SetupL(); + // State transition from normal to Alarm + TInt err = iRStarterSession.SetState( RStarterSession::EAlarm ); -void MT_RStarterSession::T_RStarterSession_DeactivateRfAfterEmergencyCallL( ) + if ( err != KErrNotSupported ) + { + _LIT( KDescription, "Incorrect return value T_RStarterSession_SetStateToAlarm" ); + aResult.SetResult( err, KDescription ); + return err; + } + Teardown(); + return KErrNone; + } + +TInt MT_RStarterSession::T_RStarterSession_SetStateToCharging( TTestResult& aResult ) { - TInt err = iRStarterSession.DeactivateRfAfterEmergencyCall( ); - EUNIT_PRINT( _L("DeactivateRfAfterEmergencyCall() err = %d"), err ); - EUNIT_ASSERT_DESC( err == KErrNone, "Incorrect return value" ); + SetupL(); + // State transition from normal to ECharging + TInt err = iRStarterSession.SetState( RStarterSession::ECharging ); + + if ( err != KErrNotSupported ) + { + _LIT( KDescription, "Incorrect return value in T_RStarterSession_SetStateEToCharging " ); + aResult.SetResult( err, KDescription ); + return err; + } + Teardown(); + return KErrNone; + } - // Activate RF again - err = iRStarterSession.ActivateRfForEmergencyCall( ); - EUNIT_PRINT( _L("ActivateRfForEmergencyCall() err = %d"), err ); - // Do not check the return value since in some cases it is normal that - // KErrGeneral(-2) is returned - //EUNIT_ASSERT_DESC( err == KErrNone, "Incorrect return value" ); +TInt MT_RStarterSession::T_RStarterSession_SetStateToOffLine( TTestResult& aResult ) + { + SetupL(); + // State transition from normal to EOffline + TInt err = iRStarterSession.SetState( RStarterSession::EOffline ); + + if ( err != KErrNone ) + { + _LIT( KDescription, "Incorrect return value in T_RStarterSession_SetStateTOOffLine " ); + aResult.SetResult( err, KDescription ); + return err; + } + Teardown(); + return err; } - -void MT_RStarterSession::T_RStarterSession_EndSplashScreenL( ) + +TInt MT_RStarterSession::T_RStarterSession_SetStateToBTSap( TTestResult& aResult ) { - TInt err = iRStarterSession.EndSplashScreen( ); - EUNIT_PRINT( _L("EndSplashScreen() err = %d"), err ); - EUNIT_ASSERT_DESC( err == KErrNone, "Incorrect return value" ); + SetupL(); + // State transition from ENormal to EBTSap + TInt err = iRStarterSession.SetState( RStarterSession::EBTSap ); + + if ( err != KErrNone ) + { + _LIT( KDescription, "Incorrect return value in T_RStarterSession_SetStateToBTSap " ); + aResult.SetResult( err, KDescription ); + return err; + } + Teardown(); + return err; } -// TEST TABLE -EUNIT_BEGIN_TEST_TABLE( - MT_RStarterSession, - "Add test suite description here.", - "UNIT" ) - -EUNIT_TEST( - "Connect - test0", - "RStarterSession", - "Connect - test0", - "FUNCTIONALITY", - SetupEmptyL, T_RStarterSession_ConnectL, TeardownEmpty) +TInt MT_RStarterSession::T_RStarterSession_Reset( TTestResult& aResult ) + { + SetupL(); + // Other values will be tested in BAT testing (Manual testing)... + iRStarterSession.Reset( (RStarterSession::TResetReason)-1 ); + // Make request and ignore return value + _LIT( KDescription, "T_RStarterSession_Reset - Calling Reset()" ); + aResult.SetResult( KErrNone, KDescription ); + Teardown(); + return KErrNone; + } -EUNIT_TEST( - "SetState - test1", - "RStarterSession", - "SetState - test1", - "FUNCTIONALITY", - SetupL, T_RStarterSession_SetStateL, Teardown) +TInt MT_RStarterSession::T_RStarterSession_Shutdown(TTestResult& aResult ) + { + SetupL(); + iRStarterSession.Shutdown( ); + _LIT( KDescription, "T_RStarterSession_Shutdown - Calling Shutdown()" ); + aResult.SetResult( KErrNone, KDescription ); + Teardown(); + return KErrNone; + } -EUNIT_TEST( - "Reset - test2", - "RStarterSession", - "Reset - test2", - "FUNCTIONALITY", - SetupL, T_RStarterSession_ResetL, Teardown) - -EUNIT_TEST( - "ResetNetwork - test4", - "RStarterSession", - "ResetNetwork - test4", - "FUNCTIONALITY", - SetupL, T_RStarterSession_ResetNetworkL, Teardown) +TInt MT_RStarterSession::T_RStarterSession_ResetNetwork(TTestResult& aResult ) + { + SetupL(); + TInt err = iRStarterSession.ResetNetwork( ); + if ( err != KErrNone ) + { + _LIT( KDescription, "T_RStarterSession_ResetNetwork - Incorrect return value in " ); + aResult.SetResult( err, KDescription ); + return err; + } + Teardown(); + return err; + } -EUNIT_TEST( - "IsRTCTimeValid - test5", - "RStarterSession", - "IsRTCTimeValid - test5", - "FUNCTIONALITY", - SetupL, T_RStarterSession_IsRTCTimeValidL, Teardown) +TInt MT_RStarterSession::T_RStarterSession_IsRTCTimeValid(TTestResult& aResult ) + { + SetupL(); + TBool valid = iRStarterSession.IsRTCTimeValid(); + if ( !valid ) + { + _LIT( KDescription, "Incorrect return value in T_RStarterSession_IsRTCTimeValid " ); + aResult.SetResult( valid, KDescription ); + return valid; + } + Teardown(); + return KErrNone; + } -EUNIT_TEST( - "ActivateRfForEmergencyCall - test6", - "RStarterSession", - "ActivateRfForEmergencyCall - test6", - "FUNCTIONALITY", - SetupL, T_RStarterSession_ActivateRfForEmergencyCallL, Teardown) +TInt MT_RStarterSession::T_RStarterSession_ActivateRfForEmergencyCall(TTestResult& aResult ) + { + SetupL(); + TInt err = iRStarterSession.ActivateRfForEmergencyCall( ); + + if (( err != KErrNone) && (err != KErrGeneral)) + { + _LIT( KDescription, "Incorrect return value in T_RStarterSession_ActivateRfForEmergencyCall" ); + aResult.SetResult( err, KDescription ); + return err; + } + Teardown(); + return err; + } -EUNIT_TEST( - "DeactivateRfAfterEmergencyCall - test7", - "RStarterSession", - "DeactivateRfAfterEmergencyCall - test7", - "FUNCTIONALITY", - SetupL, T_RStarterSession_DeactivateRfAfterEmergencyCallL, Teardown) +TInt MT_RStarterSession::T_RStarterSession_DeactivateRfAfterEmergencyCall( TTestResult& aResult ) + { + SetupL(); + TInt err = iRStarterSession.DeactivateRfAfterEmergencyCall( ); -EUNIT_TEST( - "EndSplashScreen - test8", - "RStarterSession", - "EndSplashScreen - test8", - "FUNCTIONALITY", - SetupL, T_RStarterSession_EndSplashScreenL, Teardown) + if (( err != KErrNone) && (err != KErrGeneral)) + { + _LIT( KDescription, "Incorrect return value in T_RStarterSession_DeactivateRfAfterEmergencyCall" ); + aResult.SetResult( err, KDescription ); + return err; + } + // Activate RF again + err = iRStarterSession.ActivateRfForEmergencyCall( ); + Teardown(); + return err; + } -/* -EUNIT_TEST( - "Shutdown - test3", - "RStarterSession", - "Shutdown - test3", - "FUNCTIONALITY", - SetupL, T_RStarterSession_ShutdownL, Teardown)*/ - -EUNIT_END_TEST_TABLE +TInt MT_RStarterSession::T_RStarterSession_EndSplashScreen( TTestResult& aResult ) + { + SetupL(); + TInt err = iRStarterSession.EndSplashScreen( ); + if ( err != KErrNone ) + { + _LIT( KDescription, "Incorrect return value in T_RStarterSession_EndSplashScreen" ); + aResult.SetResult( err, KDescription ); + return err; + } + Teardown(); + return err; + } -// END OF FILE +//END OF FILE diff -r 61516c5786af -r 00076e39386f sysstatemgmt/tsrc/public/basic/mt_rstartersession/MT_RStarterSession.h --- a/sysstatemgmt/tsrc/public/basic/mt_rstartersession/MT_RStarterSession.h Wed Jun 23 22:58:50 2010 +0100 +++ b/sysstatemgmt/tsrc/public/basic/mt_rstartersession/MT_RStarterSession.h Thu Jul 22 16:45:41 2010 +0100 @@ -11,39 +11,50 @@ * * Contributors: * -* Description: +* Description: Unit test code for RStarterSession class * */ - - #ifndef __MT_RSTARTERSESSION_H__ #define __MT_RSTARTERSESSION_H__ +#if defined (_MSC_VER) && (_MSC_VER >= 1000) +#pragma once +#endif +// Function pointer related internal definitions +#ifndef __GCC32__ +#define GETPTR +#else +#define GETPTR & +#endif +#define ENTRY(str,func) {_S(str), GETPTR func,0,0,0} +#define FUNCENTRY(func) {_S(#func), GETPTR func,0,0,0} + // EXTERNAL INCLUDES -#include -#include - +#include // INTERNAL INCLUDES #include -// FORWARD DECLARATIONS - - +// FORWARD DECLARATIONS +class TCaseInfo; +class MT_RStarterSession; +// DESCRIPTION +// This a Test Module interface template +// that does not really do anything. +typedef TInt ( MT_RStarterSession::*TestFunction )( TTestResult& ); // CLASS DEFINITION /** * */ NONSHARABLE_CLASS( MT_RStarterSession ) - : public CEUnitTestSuiteClass + : public CTestModuleBase { public: // Constructors and destructors /** * Two phase construction */ - static MT_RStarterSession* NewL(); - static MT_RStarterSession* NewLC(); + static MT_RStarterSession* NewL(CTestModuleIf& aTestModuleIf); /** * Destructor */ @@ -51,31 +62,85 @@ private: // Constructors and destructors - MT_RStarterSession(); - void ConstructL(); + MT_RStarterSession( CTestModuleIf& aTestModuleIf ); + + /** + * Function returning test case name and pointer to test case function + */ + const TCaseInfo Case( const TInt aCaseNumber ) const; + + public: // Functions from base classes + // @see CTestModuleBase + virtual TInt GetTestCasesL( const TFileName& aTestCaseFile, + RPointerArray& aTestCases ); + + // @see CTestModuleBase + virtual TInt RunTestCaseL( const TInt aCaseNumber, + const TFileName& aTestCaseFile, + TTestResult& aResult ); + private: // New methods void SetupL(); - void SetupEmptyL(); void Teardown(); - void TeardownEmpty(); - void T_RStarterSession_ConnectL(); - void T_RStarterSession_SetStateL(); - void T_RStarterSession_ResetL(); - void T_RStarterSession_ShutdownL(); - void T_RStarterSession_ResetNetworkL(); - void T_RStarterSession_IsRTCTimeValidL(); - void T_RStarterSession_ActivateRfForEmergencyCallL(); - void T_RStarterSession_DeactivateRfAfterEmergencyCallL(); - void T_RStarterSession_EndSplashScreenL(); + TInt T_RStarterSession_Connect(TTestResult& aResult); + TInt T_RStarterSession_SetState(TTestResult& aResult); + TInt T_RStarterSession_SetStateToNormal(TTestResult& aResult); + TInt T_RStarterSession_SetStateToAlarm(TTestResult& aResult); + TInt T_RStarterSession_SetStateToCharging(TTestResult& aResult); + TInt T_RStarterSession_SetStateToOffLine(TTestResult& aResult); + TInt T_RStarterSession_SetStateToBTSap(TTestResult& aResult); + TInt T_RStarterSession_Reset(TTestResult& aResult); + TInt T_RStarterSession_Shutdown(TTestResult& aResult); + TInt T_RStarterSession_ResetNetwork(TTestResult& aResult); + TInt T_RStarterSession_IsRTCTimeValid(TTestResult& aResult); + TInt T_RStarterSession_ActivateRfForEmergencyCall(TTestResult& aResult); + TInt T_RStarterSession_DeactivateRfAfterEmergencyCall(TTestResult& aResult); + TInt T_RStarterSession_EndSplashScreen(TTestResult& aResult); private: // Data - + TestFunction iMethod; RStarterSession iRStarterSession; - EUNIT_DECLARE_TEST_TABLE; + + }; + +// Function pointer related internal definitions + +// Hack around known GCC bug. +#ifndef __GCC32__ + #define GETPTR +#else + #define GETPTR & +#endif + +// An internal structure containing a test case name and +// the pointer to function doing the test +class TCaseInfoInternal + { + public: + const TText* iCaseName; + TestFunction iMethod; + TBool iIsOOMTest; + TInt iFirstMemoryAllocation; + TInt iLastMemoryAllocation; + }; + +// An internal structure containing a test case name and +// the pointer to function doing the test +class TCaseInfo + { + public: + TPtrC iCaseName; + TestFunction iMethod; + TBool iIsOOMTest; + TInt iFirstMemoryAllocation; + TInt iLastMemoryAllocation; + TCaseInfo( const TText* a ) : iCaseName( ( TText* ) a ) + { + }; }; #endif // __MT_RSTARTERSESSION_H__ diff -r 61516c5786af -r 00076e39386f sysstatemgmt/tsrc/public/basic/rom/mt_rstartersession.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/tsrc/public/basic/rom/mt_rstartersession.iby Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,24 @@ +/* +* Copyright (c) 2010 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: Unit test code for RStarterSession class +* Image description file for rstartersession test +* +*/ + +#ifndef MT_RSTARTERSESSION_IBY +#define MT_RSTARTERSESSION_IBY + +file=ABI_DIR\BUILD_DIR\MT_RStarterSession.dll SHARED_LIB_DIR\MT_RStarterSession.dll + +#endif // MT_RSTARTERSESSION_IBY \ No newline at end of file diff -r 61516c5786af -r 00076e39386f systemhealthmanagement/layers.sysdef.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/systemhealthmanagement/layers.sysdef.xml Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + \ No newline at end of file diff -r 61516c5786af -r 00076e39386f systemhealthmanagement/systemhealthmgr/group/app-framework_shma.mrp --- a/systemhealthmanagement/systemhealthmgr/group/app-framework_shma.mrp Wed Jun 23 22:58:50 2010 +0100 +++ b/systemhealthmanagement/systemhealthmgr/group/app-framework_shma.mrp Thu Jul 22 16:45:41 2010 +0100 @@ -1,19 +1,3 @@ -# -# 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: -# - component app-framework_shma source \sf\os\devicesrv\systemhealthmanagement\systemhealthmgr binary \sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\group all diff -r 61516c5786af -r 00076e39386f systemhealthmanagement/systemhealthmgr/test/trestartsys/group/shmatest_trestartsys.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/systemhealthmanagement/systemhealthmgr/test/trestartsys/group/shmatest_trestartsys.pkg Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,29 @@ +; +; Copyright (c) 2010 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: +; + +;Languages +&EN + + +;Localised Vendor name +%{"Shmatest_TRestartSys EN"} + +; Vendor name +: "Shmatest_TRestartSys" + +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\trestartsys\scripts\shmatest_restartsyswithmode.script"-"c:\devicesrv\shmatest\shmatest_restartsyswithmode.script" +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\trestartsys\scripts\shmatest_restartsysabort.script"-"c:\devicesrv\shmatest\shmatest_restartsysabort.script" + diff -r 61516c5786af -r 00076e39386f systemhealthmanagement/systemhealthmgr/test/tstartsafe/group/shmatest_tstartsafe.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/systemhealthmanagement/systemhealthmgr/test/tstartsafe/group/shmatest_tstartsafe.pkg Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,43 @@ +; +; Copyright (c) 2010 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: +; + +;Languages +&EN + + +;Localised Vendor name +%{"Shmatest_TStartSafe EN"} + +; Vendor name +: "Shmatest_TStartSafe" + +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tstartsafe\scripts\shmatest_startsafe_appasynchstart.script"-"c:\devicesrv\shmatest\shmatest_startsafe_appasynchstart.script" +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tstartsafe\scripts\shmatest_startsafe_appretry.script"-"c:\devicesrv\shmatest\shmatest_startsafe_appretry.script" +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tstartsafe\scripts\shmatest_startsafe_appstart.script"-"c:\devicesrv\shmatest\shmatest_startsafe_appstart.script" +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tstartsafe\scripts\shmatest_startsafe_appstartapparcinit.script"-"c:\devicesrv\shmatest\shmatest_startsafe_appstartapparcinit.script" +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tstartsafe\scripts\shmatest_startsafe_apptimeout.script"-"c:\devicesrv\shmatest\shmatest_startsafe_apptimeout.script" +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tstartsafe\scripts\shmatest_startsafe_apptimesucc.script"-"c:\devicesrv\shmatest\shmatest_startsafe_apptimesucc.script" +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tstartsafe\scripts\shmatest_startsafe_procasynchstart.script"-"c:\devicesrv\shmatest\shmatest_startsafe_procasynchstart.script" +;"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tstartsafe\scripts\shmatest_startsafe_procfailsysrestart.script"-"c:\devicesrv\shmatest\shmatest_startsafe_procfailsysrestart.script" +;"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tstartsafe\scripts\shmatest_startsafe_procmonsysrestart.script"-"c:\devicesrv\shmatest\shmatest_startsafe_procmonsysrestart.script" +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tstartsafe\scripts\shmatest_startsafe_procretry.script"-"c:\devicesrv\shmatest\shmatest_startsafe_procretry.script" +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tstartsafe\scripts\shmatest_startsafe_procstart.script"-"c:\devicesrv\shmatest\shmatest_startsafe_procstart.script" +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tstartsafe\scripts\shmatest_startsafe_procstartmon.script"-"c:\devicesrv\shmatest\shmatest_startsafe_procstartmon.script" +;"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tstartsafe\scripts\shmatest_startsafe_proctimeout.script"-"c:\devicesrv\shmatest\shmatest_startsafe_proctimeout.script" +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tstartsafe\scripts\shmatest_startsafe_proctimesucc.script"-"c:\devicesrv\shmatest\shmatest_startsafe_proctimesucc.script" +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tstartsafe\scripts\shmatest_startsafe_errors.script"-"c:\devicesrv\shmatest\shmatest_startsafe_errors.script" +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tstartsafe\scripts\shmatest_startsafe_appstartrverror.script"-"c:\devicesrv\shmatest\shmatest_startsafe_appstartrverror.script" +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tstartsafe\scripts\shmatest_startsafe_procstartrverror.script"-"c:\devicesrv\shmatest\shmatest_startsafe_procstartrverror.script" diff -r 61516c5786af -r 00076e39386f systemhealthmanagement/systemhealthmgr/test/tstartupproperties/group/shmatest_tstartupproperties.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/systemhealthmanagement/systemhealthmgr/test/tstartupproperties/group/shmatest_tstartupproperties.pkg Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,29 @@ +; +; Copyright (c) 2010 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: +; + +;Languages +&EN + + +;Localised Vendor name +%{"Shmatest_TStartupProperties EN"} + +; Vendor name +: "Shmatest_TStartupProperties" + +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tstartupproperties\scripts\shmatest_startupproperties_defval.script"-"c:\devicesrv\shmatest\shmatest_startupproperties_defval.script" +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tstartupproperties\scripts\shmatest_startupproperties_internalexternal.script"-"c:\devicesrv\shmatest\shmatest_startupproperties_internalexternal.script" + diff -r 61516c5786af -r 00076e39386f systemhealthmanagement/systemhealthmgr/test/tsysmon/data/tsysmon.ini --- a/systemhealthmanagement/systemhealthmgr/test/tsysmon/data/tsysmon.ini Wed Jun 23 22:58:50 2010 +0100 +++ b/systemhealthmanagement/systemhealthmgr/test/tsysmon/data/tsysmon.ini Thu Jul 22 16:45:41 2010 +0100 @@ -58,7 +58,7 @@ Filename=sysmontest_register_protserv+powermgmt.exe Policy=ERestartOSWithMode Mode=0 -ExpectedResult=0 +ExpectedResult=-5 TestDereg=true DeregExpectedResult=0 @@ -82,7 +82,7 @@ Filename=sysmontest_selfregister_protserv+powermgmt.exe Policy=ERestartOSWithMode Mode=0 -ExpectedResult=0 +ExpectedResult=-5 TestDereg=true DeregExpectedResult=0 diff -r 61516c5786af -r 00076e39386f systemhealthmanagement/systemhealthmgr/test/tsysmon/group/shmatest_tsysmon.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/systemhealthmanagement/systemhealthmgr/test/tsysmon/group/shmatest_tsysmon.pkg Thu Jul 22 16:45:41 2010 +0100 @@ -0,0 +1,63 @@ +; +; Copyright (c) 2010 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: +; + +;Languages +&EN + + +;Localised Vendor name +%{"Shmatest_TSysMon EN"} + +; Vendor name +: "Shmatest_TSysMon" + +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tsysmon\scripts\shmatest_sysmon_procmoninit.script"-"c:\devicesrv\shmatest\shmatest_sysmon_procmoninit.script" +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tsysmon\scripts\shmatest_sysmon_multiprocmon.script"-"c:\devicesrv\shmatest\shmatest_sysmon_multiprocmon.script" +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tsysmon\scripts\shmatest_sysmon_procrestart.script"-"c:\devicesrv\shmatest\shmatest_sysmon_procrestart.script" +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tsysmon\scripts\shmatest_sysmon_restartthrottle.script"-"c:\devicesrv\shmatest\shmatest_sysmon_restartthrottle.script" +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tsysmon\scripts\shmatest_sysmon_procmonignore.script"-"c:\devicesrv\shmatest\shmatest_sysmon_procmonignore.script" +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tsysmon\scripts\shmatest_sysmon_selfmonignore.script"-"c:\devicesrv\shmatest\shmatest_sysmon_selfmonignore.script" +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tsysmon\scripts\shmatest_sysmon_noprocmon.script"-"c:\devicesrv\shmatest\shmatest_sysmon_noprocmon.script" +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tsysmon\scripts\shmatest_sysmon_selfmoncancel.script"-"c:\devicesrv\shmatest\shmatest_sysmon_selfmoncancel.script" +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tsysmon\scripts\shmatest_sysmon_selfmoncancel2.script"-"c:\devicesrv\shmatest\shmatest_sysmon_selfmoncancel2.script" +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tsysmon\scripts\shmatest_sysmon_nomoncancel.script"-"c:\devicesrv\shmatest\shmatest_sysmon_nomoncancel.script" +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tsysmon\scripts\shmatest_sysmon_loadsysmon.script"-"c:\devicesrv\shmatest\shmatest_sysmon_loadsysmon.script" +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tsysmon\scripts\shmatest_sysmon_oom.script"-"c:\devicesrv\shmatest\shmatest_sysmon_oom.script" + +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tsysmon\scripts\shmatest_sysmon_conndiscon.script"-"c:\devicesrv\shmatest\shmatest_sysmon_conndiscon.script" + +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tsysmon\scripts\shmatest_sysmon_reg1proctwice.script"-"c:\devicesrv\shmatest\shmatest_sysmon_reg1proctwice.script" +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tsysmon\scripts\shmatest_sysmon_reg2procs.script"-"c:\devicesrv\shmatest\shmatest_sysmon_reg2procs.script" +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tsysmon\scripts\shmatest_sysmon_regeiofcapsnops.script"-"c:\devicesrv\shmatest\shmatest_sysmon_regeiofcapsnops.script" +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tsysmon\scripts\shmatest_sysmon_regeiofcapsok.script"-"c:\devicesrv\shmatest\shmatest_sysmon_regeiofcapsok.script" +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tsysmon\scripts\shmatest_sysmon_regeroscapsnops.script"-"c:\devicesrv\shmatest\shmatest_sysmon_regeroscapsnops.script" +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tsysmon\scripts\shmatest_sysmon_regeroscapsok.script"-"c:\devicesrv\shmatest\shmatest_sysmon_regeroscapsok.script" +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tsysmon\scripts\shmatest_sysmon_regeroswmcapsnopm.script"-"c:\devicesrv\shmatest\shmatest_sysmon_regeroswmcapsnopm.script" +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tsysmon\scripts\shmatest_sysmon_regeroswmcapsnops.script"-"c:\devicesrv\shmatest\shmatest_sysmon_regeroswmcapsnops.script" +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tsysmon\scripts\shmatest_sysmon_regeroswmcapsok.script"-"c:\devicesrv\shmatest\shmatest_sysmon_regeroswmcapsok.script" +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tsysmon\scripts\shmatest_sysmon_regselfeiofcapsok.script"-"c:\devicesrv\shmatest\shmatest_sysmon_regselfeiofcapsok.script" +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tsysmon\scripts\shmatest_sysmon_regselferoscapsnops.script"-"c:\devicesrv\shmatest\shmatest_sysmon_regselferoscapsnops.script" +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tsysmon\scripts\shmatest_sysmon_regselferoscapsok.script"-"c:\devicesrv\shmatest\shmatest_sysmon_regselferoscapsok.script" +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tsysmon\scripts\shmatest_sysmon_regselferoswmcapsnopm.script"-"c:\devicesrv\shmatest\shmatest_sysmon_regselferoswmcapsnopm.script" +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tsysmon\scripts\shmatest_sysmon_regselferoswmcapsnops.script"-"c:\devicesrv\shmatest\shmatest_sysmon_regselferoswmcapsnops.script" +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tsysmon\scripts\shmatest_sysmon_regselferoswmcapsok.script"-"c:\devicesrv\shmatest\shmatest_sysmon_regselferoswmcapsok.script" +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tsysmon\scripts\shmatest_sysmon_regcritical.script"-"c:\devicesrv\shmatest\shmatest_sysmon_regcritical.script" +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tsysmon\scripts\shmatest_sysmon_regecnorcapsok.script"-"c:\devicesrv\shmatest\shmatest_sysmon_regecnorcapsok.script" +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tsysmon\scripts\shmatest_sysmon_regecnorcapsnops.script"-"c:\devicesrv\shmatest\shmatest_sysmon_regecnorcapsnops.script" +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tsysmon\scripts\shmatest_sysmon_regselfecnorcapsok.script"-"c:\devicesrv\shmatest\shmatest_sysmon_regselfecnorcapsok.script" +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tsysmon\scripts\shmatest_sysmon_regselfecnorcapsnops.script"-"c:\devicesrv\shmatest\shmatest_sysmon_regselfecnorcapsnops.script" +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tsysmon\scripts\shmatest_sysmon_cancelallmonitors.script"-"c:\devicesrv\shmatest\shmatest_sysmon_cancelallmonitors.script" +"\sf\os\devicesrv\systemhealthmanagement\systemhealthmgr\test\tsysmon\scripts\shmatest_sysmon_cancelallmonwithssmsid.script"-"c:\devicesrv\shmatest\shmatest_sysmon_cancelallmonwithssmsid.script" diff -r 61516c5786af -r 00076e39386f systemhealthmanagement/systemhealthmgr/test/tsysmon/src/tsysmon_stepcancelallmonitors.cpp --- a/systemhealthmanagement/systemhealthmgr/test/tsysmon/src/tsysmon_stepcancelallmonitors.cpp Wed Jun 23 22:58:50 2010 +0100 +++ b/systemhealthmanagement/systemhealthmgr/test/tsysmon/src/tsysmon_stepcancelallmonitors.cpp Thu Jul 22 16:45:41 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -176,6 +176,7 @@ iAppStartSignalSem.Wait(); INFO_PRINTF2(_L("Process killed with %d"), err); + User::After(2000000); TEST(EFalse == Exists(KTestAppGood)); }