# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1273587804 -10800 # Node ID 66ecddbca91413c1cb442b45b1f08c864241fade # Parent 21e939dd208a5aa8d341676a4428d785f24105fb Revision: 201017 Kit: 201019 diff -r 21e939dd208a -r 66ecddbca914 accessoryservices/accessoryserver/src/Server/AccSrvConnectionController.cpp --- a/accessoryservices/accessoryserver/src/Server/AccSrvConnectionController.cpp Tue Apr 27 17:57:16 2010 +0300 +++ b/accessoryservices/accessoryserver/src/Server/AccSrvConnectionController.cpp Tue May 11 17:23:24 2010 +0300 @@ -761,22 +761,38 @@ 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 21e939dd208a -r 66ecddbca914 accessoryservices/remotecontrolfw/bearerplugin/bwins/remconbearerpluginU.DEF --- a/accessoryservices/remotecontrolfw/bearerplugin/bwins/remconbearerpluginU.DEF Tue Apr 27 17:57:16 2010 +0300 +++ b/accessoryservices/remotecontrolfw/bearerplugin/bwins/remconbearerpluginU.DEF Tue May 11 17:23:24 2010 +0300 @@ -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 21e939dd208a -r 66ecddbca914 accessoryservices/remotecontrolfw/bearerplugin/eabi/remconbearerpluginU.DEF --- a/accessoryservices/remotecontrolfw/bearerplugin/eabi/remconbearerpluginU.DEF Tue Apr 27 17:57:16 2010 +0300 +++ b/accessoryservices/remotecontrolfw/bearerplugin/eabi/remconbearerpluginU.DEF Tue May 11 17:23:24 2010 +0300 @@ -37,4 +37,6 @@ _ZN25MRemConBearerBulkObserver18SetAddressedClientERK14TRemConAddressRKj @ 36 NONAME _ZN25MRemConBearerBulkObserver10NewCommandERK14TRemConAddressRKj @ 37 NONAME _ZN25MRemConBearerBulkObserver16RemoveAddressingERK14TRemConAddress @ 38 NONAME + _ZN21MRemConBearerObserver36RegisterLocalAddressedClientObserverERK4TUid @ 39 NONAME + _ZN21MRemConBearerObserver38UnregisterLocalAddressedClientObserverERK4TUid @ 40 NONAME diff -r 21e939dd208a -r 66ecddbca914 accessoryservices/remotecontrolfw/bearerplugin/public/remconbearerobserver.h --- a/accessoryservices/remotecontrolfw/bearerplugin/public/remconbearerobserver.h Tue Apr 27 17:57:16 2010 +0300 +++ b/accessoryservices/remotecontrolfw/bearerplugin/public/remconbearerobserver.h Tue May 11 17:23:24 2010 +0300 @@ -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 21e939dd208a -r 66ecddbca914 accessoryservices/remotecontrolfw/bearerplugin/src/remconbearerobserver.cpp --- a/accessoryservices/remotecontrolfw/bearerplugin/src/remconbearerobserver.cpp Tue Apr 27 17:57:16 2010 +0300 +++ b/accessoryservices/remotecontrolfw/bearerplugin/src/remconbearerobserver.cpp Tue May 11 17:23:24 2010 +0300 @@ -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 21e939dd208a -r 66ecddbca914 accessoryservices/remotecontrolfw/server/inc/bearermanager.h --- a/accessoryservices/remotecontrolfw/server/inc/bearermanager.h Tue Apr 27 17:57:16 2010 +0300 +++ b/accessoryservices/remotecontrolfw/server/inc/bearermanager.h Tue May 11 17:23:24 2010 +0300 @@ -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 21e939dd208a -r 66ecddbca914 accessoryservices/remotecontrolfw/server/inc/server.h --- a/accessoryservices/remotecontrolfw/server/inc/server.h Tue Apr 27 17:57:16 2010 +0300 +++ b/accessoryservices/remotecontrolfw/server/inc/server.h Tue May 11 17:23:24 2010 +0300 @@ -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 21e939dd208a -r 66ecddbca914 accessoryservices/remotecontrolfw/server/src/bearermanager.cpp --- a/accessoryservices/remotecontrolfw/server/src/bearermanager.cpp Tue Apr 27 17:57:16 2010 +0300 +++ b/accessoryservices/remotecontrolfw/server/src/bearermanager.cpp Tue May 11 17:23:24 2010 +0300 @@ -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 21e939dd208a -r 66ecddbca914 accessoryservices/remotecontrolfw/server/src/server.cpp --- a/accessoryservices/remotecontrolfw/server/src/server.cpp Tue Apr 27 17:57:16 2010 +0300 +++ b/accessoryservices/remotecontrolfw/server/src/server.cpp Tue May 11 17:23:24 2010 +0300 @@ -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 21e939dd208a -r 66ecddbca914 accessoryservices/remotecontrolfw/targetselectorplugin/public/remcontargetselectorplugininterface.h --- a/accessoryservices/remotecontrolfw/targetselectorplugin/public/remcontargetselectorplugininterface.h Tue Apr 27 17:57:16 2010 +0300 +++ b/accessoryservices/remotecontrolfw/targetselectorplugin/public/remcontargetselectorplugininterface.h Tue May 11 17:23:24 2010 +0300 @@ -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 21e939dd208a -r 66ecddbca914 accessoryservices/tspclientmapper/src/tspclientmapperimpl.cpp --- a/accessoryservices/tspclientmapper/src/tspclientmapperimpl.cpp Tue Apr 27 17:57:16 2010 +0300 +++ b/accessoryservices/tspclientmapper/src/tspclientmapperimpl.cpp Tue May 11 17:23:24 2010 +0300 @@ -545,10 +545,14 @@ if ( (TInt)buf().operator[]( i ) != 0 ) // count of registered clients is lost with TFixedArray, so rely on id being different from 0 { COM_TRACE_1( "[TspClientMapperImpl] CTspClientMapperImpl::GetTspTargetClientsL() first client's Pid = %d", (TInt)buf().operator[]( i ) ); - aPidArray.Append( buf().operator[]( i ) ); - } + returnErr = aPidArray.Append( buf().operator[]( i ) ); + if ( returnErr != KErrNone ) + { + break; + } + } } - COM_TRACE_( "[TspClientMapperImpl] CTspClientMapperImpl::GetTspTargetClientsL() - return" ); + COM_TRACE_1 ( "[TspClientMapperImpl] CTspClientMapperImpl::GetTspTargetClientsL() - returnErr: %d", returnErr ); return returnErr; } diff -r 21e939dd208a -r 66ecddbca914 hwrmhaptics/hapticseffectdatagetterfw/group/bld.inf --- a/hwrmhaptics/hapticseffectdatagetterfw/group/bld.inf Tue Apr 27 17:57:16 2010 +0300 +++ b/hwrmhaptics/hapticseffectdatagetterfw/group/bld.inf Tue May 11 17:23:24 2010 +0300 @@ -22,7 +22,6 @@ PRJ_EXPORTS -#include "../plugins/hapticsivtgetterplugin/group/bld.inf" PRJ_MMPFILES hwrmhapticseffectdatagetterfw.mmp diff -r 21e939dd208a -r 66ecddbca914 hwrmhaptics/hapticspacketizer/group/bld.inf --- a/hwrmhaptics/hapticspacketizer/group/bld.inf Tue Apr 27 17:57:16 2010 +0300 +++ b/hwrmhaptics/hapticspacketizer/group/bld.inf Tue May 11 17:23:24 2010 +0300 @@ -20,7 +20,6 @@ PRJ_EXPORTS -#include "../plugins/hapticsvibepacketizerplugin/group/bld.inf" PRJ_MMPFILES hwrmhapticspacketizer.mmp diff -r 21e939dd208a -r 66ecddbca914 layers.sysdef.xml --- a/layers.sysdef.xml Tue Apr 27 17:57:16 2010 +0300 +++ b/layers.sysdef.xml Tue May 11 17:23:24 2010 +0300 @@ -14,6 +14,8 @@ + + diff -r 21e939dd208a -r 66ecddbca914 sensorservices/sensorserver/src/server/sensrvpluginproxy.cpp --- a/sensorservices/sensorserver/src/server/sensrvpluginproxy.cpp Tue Apr 27 17:57:16 2010 +0300 +++ b/sensorservices/sensorserver/src/server/sensrvpluginproxy.cpp Tue May 11 17:23:24 2010 +0300 @@ -1342,7 +1342,7 @@ return KErrBadHandle; } - __UHEAP_MARK; + // __UHEAP_MARK; #ifdef MEMORY_TRACE_DEBUG // TRACE heap usage @@ -1428,7 +1428,7 @@ MEMORY_TRACE( ( _L( "#### Sensor Server, SSY exit - HEAP: Size: %d, Available: %d, Used: %d, Change in used: %d" ), heapSize, heapAvail, newUsed, newUsed - used ) ); #endif - __UHEAP_MARKEND; + // __UHEAP_MARKEND; return err; } diff -r 21e939dd208a -r 66ecddbca914 sysstatemgmt/ssmcmdlists/data/noncriticalcmdlist_ext.rss --- a/sysstatemgmt/ssmcmdlists/data/noncriticalcmdlist_ext.rss Tue Apr 27 17:57:16 2010 +0300 +++ b/sysstatemgmt/ssmcmdlists/data/noncriticalcmdlist_ext.rss Tue May 11 17:23:24 2010 +0300 @@ -68,7 +68,6 @@ { commands = { - r_cmd_adtupdater, // Location, date & time queries ,prio 0xFFD5 r_cmd_waitforphone, // prio 0xFFD1 r_cmd_waitidle, // prio 0xFFC5 // prio 0xFFB7 @@ -111,48 +110,10 @@ r_cmd_amastart, // prio 0x7F96 r_cmd_multiple_wait, - // prio 0x7EFF - r_cmd_activitymonitor1, - // prio 0x7EFE - r_cmd_logs, - // prio 0x7EFD - r_cmd_activitymonitor2, - // prio 0x7EFC - r_cmd_pbk2, - // prio 0x7EFB - r_cmd_activitymonitor3, - // prio 0x7EFA - r_cmd_mce, - // prio 0x7EF9 - r_cmd_activitymonitor4, - // prio 0x7EF8 - r_cmd_clock, //ESLT-842J9W - // 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_screensaver, - // prio 0x7EEF - r_cmd_activitymonitor8, - // prio 0x7EEE - r_cmd_autosync, - // prio 0x7EED - r_cmd_activitymonitor9, - // prio 0x7EEC - r_cmd_mylocationsengine -#ifdef FF_ATT_ADDRESS_BK - //prio 0x7EEA - ,r_cmd_activitymonitor10, - //prio 0x7EE9 - r_cmd_aab -#endif + // prio 0x7F55 + r_cmd_createswp_noncriticalphase, + // prio 0x7F54 + r_cmd_setswp_noncriticalstart }; } @@ -161,184 +122,6 @@ // =========================================================================== // -// ----------------------------------------------------------------------------- -// r_cmd_aab -// ----------------------------------------------------------------------------- -// -#ifdef FF_ATT_ADDRESS_BK -RESOURCE SSM_START_APP_INFO r_cmd_aab - { - priority = 0x7EE9; - 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 -// --------------------------------------------------------------------------- -// -#ifdef FF_ATT_ADDRESS_BK -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; - } -#endif - -// --------------------------------------------------------------------------- -// r_cmd_adtupdater -// --------------------------------------------------------------------------- -// -RESOURCE SSM_START_PROCESS_INFO r_cmd_adtupdater - { - priority = 0xFFD5; - name = "adtupdater.exe"; - execution_behaviour = ESsmFireAndForget; - } - // --------------------------------------------------------------------------- // r_cmd_amastart // --------------------------------------------------------------------------- @@ -350,18 +133,6 @@ } // --------------------------------------------------------------------------- -// r_cmd_autosync -// --------------------------------------------------------------------------- -// -RESOURCE SSM_START_PROCESS_INFO r_cmd_autosync - { - priority = 0x7EEE; - execution_behaviour = ESsmFireAndForget; - retries = 3; - name = "cctautosync.exe"; - } - -// --------------------------------------------------------------------------- // r_cmd_aosrv // --------------------------------------------------------------------------- // @@ -402,19 +173,6 @@ } // --------------------------------------------------------------------------- -// r_cmd_clock -// --------------------------------------------------------------------------- -// -RESOURCE SSM_START_APP_INFO r_cmd_clock - { - priority = 0x7EF8; - name = "clock.exe"; - execution_behaviour = ESsmWaitForSignal; - timeout = 10000; - background = 1; // To background - } - -// --------------------------------------------------------------------------- // r_cmd_contentharvester // --------------------------------------------------------------------------- // @@ -533,19 +291,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_loadsup_ippushman // --------------------------------------------------------------------------- // @@ -584,32 +329,6 @@ } // --------------------------------------------------------------------------- -// r_cmd_logs -// --------------------------------------------------------------------------- -// -RESOURCE SSM_START_APP_INFO r_cmd_logs - { - priority = 0x7EFE; - name = "z:\\sys\\bin\\logs.exe"; - execution_behaviour = ESsmWaitForSignal; - timeout = 10000; - background = 1; // To background - } - -// --------------------------------------------------------------------------- -// r_cmd_mce -// --------------------------------------------------------------------------- -// -RESOURCE SSM_START_APP_INFO r_cmd_mce - { - priority = 0x7EFA; - name = "mce.exe"; - execution_behaviour = ESsmWaitForSignal; - timeout = 10000; - background = 1; // To background - } - -// --------------------------------------------------------------------------- // r_cmd_ncnlist // --------------------------------------------------------------------------- // @@ -623,19 +342,6 @@ } // --------------------------------------------------------------------------- -// r_cmd_pbk2 -// --------------------------------------------------------------------------- -// -RESOURCE SSM_START_APP_INFO r_cmd_pbk2 - { - priority = 0x7EFC; - name = "z:\\sys\\bin\\phonebook2.exe"; - execution_behaviour = ESsmWaitForSignal; - timeout = 10000; - background = 1; // To background - } - -// --------------------------------------------------------------------------- // r_cmd_pocstarter // --------------------------------------------------------------------------- // @@ -701,20 +407,6 @@ } // --------------------------------------------------------------------------- -// r_cmd_screensaver -// --------------------------------------------------------------------------- -// -RESOURCE SSM_START_APP_INFO r_cmd_screensaver - { - priority = 0x7EF2; - name = "z:\\sys\\bin\\screensaver.exe"; - background = 1; // To background - execution_behaviour = ESsmWaitForSignal; - timeout = 10000; - monitor_info = r_mon_3_restarts_ignore; - } - -// --------------------------------------------------------------------------- // r_cmd_supllistener // --------------------------------------------------------------------------- // @@ -755,18 +447,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 // --------------------------------------------------------------------------- // @@ -843,15 +523,6 @@ // // --------------------------------------------------------------------------- -// r_dlldata_activitymonitor_timeout -// --------------------------------------------------------------------------- -// -RESOURCE CMD_PARAM_TIMEOUT r_dlldata_activitymonitor_timeout - { - timeout = 2; - } - -// --------------------------------------------------------------------------- // r_dlldata_waitcleanbootinfo // --------------------------------------------------------------------------- // @@ -888,17 +559,6 @@ // --------------------------------------------------------------------------- -// r_cmd_mylocationsengine -// --------------------------------------------------------------------------- -// -RESOURCE SSM_START_PROCESS_INFO r_cmd_mylocationsengine - { - priority = 0x7EEC; - name = "z:\\sys\\bin\\mylocationsengine.exe"; - execution_behaviour = ESsmFireAndForget; - } - -// --------------------------------------------------------------------------- // r_cmd_item_taskswitcher // --------------------------------------------------------------------------- RESOURCE SSM_START_APP_INFO r_cmd_taskswitcher @@ -911,6 +571,29 @@ } // --------------------------------------------------------------------------- +// r_cmd_createswp_noncriticalphase +// --------------------------------------------------------------------------- +// +RESOURCE SSM_CREATE_SYSTEM_WIDE_PROPERTY r_cmd_createswp_noncriticalphase + { + 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_multiple_wait // --------------------------------------------------------------------------- // @@ -963,15 +646,6 @@ } // --------------------------------------------------------------------------- -// r_cond_feat_iadv2 -// --------------------------------------------------------------------------- -// -RESOURCE SSM_CND_FEATURE_VALUE r_cond_feat_iadv2 - { - feature_id = KFeatureIdFfIaupdatePhase2; - } - -// --------------------------------------------------------------------------- // r_cond_feat_ippush // --------------------------------------------------------------------------- // diff -r 21e939dd208a -r 66ecddbca914 sysstatemgmt/ssmcmdlists/data/noncriticalswpcmdlists.rss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/ssmcmdlists/data/noncriticalswpcmdlists.rss Tue May 11 17:23:24 2010 +0300 @@ -0,0 +1,469 @@ +/* +* 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 0x7EFF + r_cmd_activitymonitor1, + // prio 0x7EFE + r_cmd_logs, + // prio 0x7EFD + r_cmd_activitymonitor2, + // prio 0x7EFC + r_cmd_pbk2, + // prio 0x7EFB + r_cmd_activitymonitor3, + // prio 0x7EFA + r_cmd_mce, + // prio 0x7EF9 + r_cmd_activitymonitor4, + // prio 0x7EF8 + r_cmd_clockapp, + // 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_screensaver, + // prio 0x7EEF + r_cmd_activitymonitor8, + // prio 0x7EEE + r_cmd_autosync, + // prio 0x7EED + r_cmd_activitymonitor9, + // prio 0x7EEC + r_cmd_mylocationsengine +#ifdef FF_ATT_ADDRESS_BK + //prio 0x7EEA + ,r_cmd_activitymonitor10, + //prio 0x7EE9 + r_cmd_aab +#endif + // prio 0x7EE8 + ,r_cmd_activitymonitor11, + // prio 0x7EE7 + r_cmd_calendar //CR:MMUN-82ZHAD + }; + } + +// ----------------------------------------------------------------------------- +// r_cmd_aab +// ----------------------------------------------------------------------------- +// +#ifdef FF_ATT_ADDRESS_BK +RESOURCE SSM_START_APP_INFO r_cmd_aab + { + priority = 0x7EE9; + 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 +// --------------------------------------------------------------------------- +// +#ifdef FF_ATT_ADDRESS_BK +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; + } +#endif + +// --------------------------------------------------------------------------- +// 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_autosync +// --------------------------------------------------------------------------- +// +RESOURCE SSM_START_PROCESS_INFO r_cmd_autosync + { + priority = 0x7EEE; + execution_behaviour = ESsmFireAndForget; + retries = 3; + name = "cctautosync.exe"; + } + +// --------------------------------------------------------------------------- +// r_cmd_calendar +// --------------------------------------------------------------------------- +// +RESOURCE SSM_START_APP_INFO r_cmd_calendar + { + priority = 0x7EE7; + name = "calendar.exe"; + execution_behaviour = ESsmFireAndForget; + retries = 3; + background = 1; // To background + } + +// --------------------------------------------------------------------------- +// r_cmd_clockapp +// --------------------------------------------------------------------------- +// +RESOURCE SSM_START_APP_INFO r_cmd_clockapp + { + priority = 0x7EF8; + name = "z:\\sys\\bin\\clockapp.exe"; + execution_behaviour = ESsmWaitForSignal; + timeout = 10000; + background = 1; // To background + } + +// --------------------------------------------------------------------------- +// 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_mce +// --------------------------------------------------------------------------- +// +RESOURCE SSM_START_APP_INFO r_cmd_mce + { + priority = 0x7EFA; + name = "mce.exe"; + execution_behaviour = ESsmWaitForSignal; + timeout = 10000; + background = 1; // To background + } + +// --------------------------------------------------------------------------- +// r_cmd_mylocationsengine +// --------------------------------------------------------------------------- +// +RESOURCE SSM_START_PROCESS_INFO r_cmd_mylocationsengine + { + priority = 0x7EEC; + name = "z:\\sys\\bin\\mylocationsengine.exe"; + execution_behaviour = ESsmFireAndForget; + } + +// --------------------------------------------------------------------------- +// r_cmd_pbk2 +// --------------------------------------------------------------------------- +// +RESOURCE SSM_START_APP_INFO r_cmd_pbk2 + { + priority = 0x7EFC; + name = "z:\\sys\\bin\\phonebook2.exe"; + execution_behaviour = ESsmWaitForSignal; + timeout = 10000; + background = 1; // To background + } + +// --------------------------------------------------------------------------- +// r_cmd_publishswp +// --------------------------------------------------------------------------- +// +RESOURCE SSM_PUBLISH_SYSTEM_WIDE_PROPERTY r_cmd_publishswp + { + priority = 0xFFF1; + severity = ECmdCriticalSeverity; + } + +// --------------------------------------------------------------------------- +// r_cmd_logs +// --------------------------------------------------------------------------- +// +RESOURCE SSM_START_APP_INFO r_cmd_logs + { + priority = 0x7EFE; + name = "z:\\sys\\bin\\logs.exe"; + execution_behaviour = ESsmWaitForSignal; + timeout = 10000; + background = 1; // To background + } + +// --------------------------------------------------------------------------- +// r_cmd_screensaver +// --------------------------------------------------------------------------- +// +RESOURCE SSM_START_APP_INFO r_cmd_screensaver + { + priority = 0x7EF2; + name = "z:\\sys\\bin\\screensaver.exe"; + background = 1; // To background + execution_behaviour = ESsmWaitForSignal; + timeout = 10000; + monitor_info = r_mon_3_restarts_ignore; + } + +// --------------------------------------------------------------------------- +// r_cmd_videocenter +// --------------------------------------------------------------------------- +// +RESOURCE SSM_START_PROCESS_INFO r_cmd_videocenter + { + priority = 0x7EF6; + name = "cseschedulerserver.exe"; + execution_behaviour = ESsmWaitForSignal; + timeout = 10000; + } + +// =========================================================================== +// Conditional blocks in alphabetical order +// =========================================================================== +// +// --------------------------------------------------------------------------- +// r_cond_feat_iadv2 +// --------------------------------------------------------------------------- +// +RESOURCE SSM_CND_FEATURE_VALUE r_cond_feat_iadv2 + { + feature_id = KFeatureIdFfIaupdatePhase2; + } + +// =========================================================================== +// DLL data items in alphabetical order +// =========================================================================== +// + +// --------------------------------------------------------------------------- +// r_dlldata_activitymonitor_timeout +// --------------------------------------------------------------------------- +// +RESOURCE CMD_PARAM_TIMEOUT r_dlldata_activitymonitor_timeout + { + timeout = 2; + } + + +// monitoring.rss contains resource definitions, so it may not be included +// before entry point. +#include "monitoring.rss" diff -r 21e939dd208a -r 66ecddbca914 sysstatemgmt/ssmcmdlists/data/shutdowncmdlists.rss --- a/sysstatemgmt/ssmcmdlists/data/shutdowncmdlists.rss Tue Apr 27 17:57:16 2010 +0300 +++ b/sysstatemgmt/ssmcmdlists/data/shutdowncmdlists.rss Tue May 11 17:23:24 2010 +0300 @@ -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 21e939dd208a -r 66ecddbca914 sysstatemgmt/ssmcmdlists/data/uiswpcmdlists.rss --- a/sysstatemgmt/ssmcmdlists/data/uiswpcmdlists.rss Tue Apr 27 17:57:16 2010 +0300 +++ b/sysstatemgmt/ssmcmdlists/data/uiswpcmdlists.rss Tue May 11 17:23:24 2010 +0300 @@ -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" @@ -71,10 +71,11 @@ r_cmd_devlockcheck, // prio 0xFFD7 - Security code query, if needed r_cmd_startanim, // prio 0xFFC7 - Startup animation(s) r_cmd_waitanim, // prio 0xFFB7 - Wait for the animations to finish + r_cmd_adtupdater, // prio 0xFFAA - Location, date & time queries //CR:ESAH-84JFCU r_cmd_enableappskey, // prio 0xFFA7 - Enable applications key r_cmd_enableglobalnotes, // prio 0xFFA7 - Enable global notes r_cmd_swidaemon // prio 0xFF97 - Initializes pre-installed applications from memory card - }; + }; } // =========================================================================== @@ -83,6 +84,17 @@ // // --------------------------------------------------------------------------- +// r_cmd_adtupdater +// --------------------------------------------------------------------------- +// +RESOURCE SSM_START_PROCESS_INFO r_cmd_adtupdater + { + priority = 0xFFAA; + name = "adtupdater.exe"; + execution_behaviour = ESsmFireAndForget; + } + +// --------------------------------------------------------------------------- // r_cmd_devlockcheck // --------------------------------------------------------------------------- // diff -r 21e939dd208a -r 66ecddbca914 sysstatemgmt/ssmcmdlists/group/ssmcmdlists.mmp --- a/sysstatemgmt/ssmcmdlists/group/ssmcmdlists.mmp Tue Apr 27 17:57:16 2010 +0300 +++ b/sysstatemgmt/ssmcmdlists/group/ssmcmdlists.mmp Tue May 11 17:23:24 2010 +0300 @@ -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" @@ -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 21e939dd208a -r 66ecddbca914 sysstatemgmt/ssmcmdlists/rom/ssmcmdlists.iby --- a/sysstatemgmt/ssmcmdlists/rom/ssmcmdlists.iby Tue Apr 27 17:57:16 2010 +0300 +++ b/sysstatemgmt/ssmcmdlists/rom/ssmcmdlists.iby Tue May 11 17:23:24 2010 +0300 @@ -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" @@ -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 21e939dd208a -r 66ecddbca914 sysstatemgmt/ssmpolicyplugins/group/bld.inf --- a/sysstatemgmt/ssmpolicyplugins/group/bld.inf Tue Apr 27 17:57:16 2010 +0300 +++ b/sysstatemgmt/ssmpolicyplugins/group/bld.inf Tue May 11 17:23:24 2010 +0300 @@ -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 21e939dd208a -r 66ecddbca914 sysstatemgmt/ssmpolicyplugins/inc/ssmswp.hrh --- a/sysstatemgmt/ssmpolicyplugins/inc/ssmswp.hrh Tue Apr 27 17:57:16 2010 +0300 +++ b/sysstatemgmt/ssmpolicyplugins/inc/ssmswp.hrh Tue May 11 17:23:24 2010 +0300 @@ -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 21e939dd208a -r 66ecddbca914 sysstatemgmt/ssmpolicyplugins/rom/ssmpolicyplugins.iby --- a/sysstatemgmt/ssmpolicyplugins/rom/ssmpolicyplugins.iby Tue Apr 27 17:57:16 2010 +0300 +++ b/sysstatemgmt/ssmpolicyplugins/rom/ssmpolicyplugins.iby Tue May 11 17:23:24 2010 +0300 @@ -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 21e939dd208a -r 66ecddbca914 sysstatemgmt/ssmpolicyplugins/ssmnoncriticalswppolicy/bwins/ssmnoncriticalswppolicyu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/ssmpolicyplugins/ssmnoncriticalswppolicy/bwins/ssmnoncriticalswppolicyu.def Tue May 11 17:23:24 2010 +0300 @@ -0,0 +1,3 @@ +EXPORTS + ?NewL@CSsmNonCriticalSwpPolicy@@SAPAVMSsmSwpPolicy@@XZ @ 1 NONAME ; class MSsmSwpPolicy * CSsmNonCriticalSwpPolicy::NewL(void) + diff -r 21e939dd208a -r 66ecddbca914 sysstatemgmt/ssmpolicyplugins/ssmnoncriticalswppolicy/eabi/ssmnoncriticalswppolicyu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/ssmpolicyplugins/ssmnoncriticalswppolicy/eabi/ssmnoncriticalswppolicyu.def Tue May 11 17:23:24 2010 +0300 @@ -0,0 +1,3 @@ +EXPORTS + _ZN24CSsmNonCriticalSwpPolicy4NewLEv @ 1 NONAME + diff -r 21e939dd208a -r 66ecddbca914 sysstatemgmt/ssmpolicyplugins/ssmnoncriticalswppolicy/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/ssmpolicyplugins/ssmnoncriticalswppolicy/group/bld.inf Tue May 11 17:23:24 2010 +0300 @@ -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 21e939dd208a -r 66ecddbca914 sysstatemgmt/ssmpolicyplugins/ssmnoncriticalswppolicy/group/ssmnoncriticalswppolicy.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/ssmpolicyplugins/ssmnoncriticalswppolicy/group/ssmnoncriticalswppolicy.mmp Tue May 11 17:23:24 2010 +0300 @@ -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 21e939dd208a -r 66ecddbca914 sysstatemgmt/ssmpolicyplugins/ssmnoncriticalswppolicy/inc/ssmnoncriticalswppolicy.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/ssmpolicyplugins/ssmnoncriticalswppolicy/inc/ssmnoncriticalswppolicy.h Tue May 11 17:23:24 2010 +0300 @@ -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 21e939dd208a -r 66ecddbca914 sysstatemgmt/ssmpolicyplugins/ssmnoncriticalswppolicy/src/ssmnoncriticalswppolicy.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/ssmpolicyplugins/ssmnoncriticalswppolicy/src/ssmnoncriticalswppolicy.cpp Tue May 11 17:23:24 2010 +0300 @@ -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 21e939dd208a -r 66ecddbca914 sysstatemgmt/ssmpolicyplugins/ssmswppolicybase/src/ssmswppolicybase.cpp --- a/sysstatemgmt/ssmpolicyplugins/ssmswppolicybase/src/ssmswppolicybase.cpp Tue Apr 27 17:57:16 2010 +0300 +++ b/sysstatemgmt/ssmpolicyplugins/ssmswppolicybase/src/ssmswppolicybase.cpp Tue May 11 17:23:24 2010 +0300 @@ -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,6 +22,7 @@ #include #include #include +#include #include "ssmswppolicybase.h" #include "trace.h" @@ -135,27 +136,30 @@ } else { - RSsmStateManager session; - TInt errorCode = session.Connect(); - ERROR( errorCode, "Failed to connect to RSsmStateManager" ); - if ( errorCode == KErrNone ) - { - if ( ResetLimitReached() ) // Updates the reset count - { - INFO( "SWP transition failed -> Fail" ); - errorCode = session.RequestStateTransition( - TSsmStateTransition( ESsmFail, KSsmAnySubState, 0 ) ); - } - else - { - INFO( "SWP transition failed -> Reset" ); - errorCode = session.RequestStateTransition( - TSsmStateTransition( ESsmShutdown, KSsmAnySubState, - RStarterSession::EUnknownReset ) ); - } + TSsmState currentState; + TInt errorCode = GetCurrentState(currentState); - session.Close(); - } + if ( ((currentState.MainState() != ESsmShutdown) && (currentState.MainState() != ESsmFail)) || KErrNone != errorCode) + { + RSsmStateManager session; + errorCode = session.Connect(); + ERROR( errorCode, "Failed to connect to RSsmStateManager" ); + if ( KErrNone == errorCode ) + { + if ( ResetLimitReached() ) // Updates the reset count + { + INFO_1( "SWP 0x%08x transition failed -> Fail", aSwp.Key() ); + errorCode = session.RequestStateTransition( TSsmStateTransition( ESsmFail, KSsmAnySubState, 0 ) ); + } + else + { + INFO_1( "SWP 0x%08x transition failed -> Reset", aSwp.Key() ); + errorCode = session.RequestStateTransition( + TSsmStateTransition( ESsmShutdown, KSsmAnySubState, RStarterSession::EUnknownReset ) ); + } + session.Close(); + } + } TRequestStatus* status = &aStatus; User::RequestComplete( status, errorCode );