diff -r 3553901f7fa8 -r 1f776524b15c telephonyserverplugins/common_tsy/systemstateplugin/src/ctsysystemstateplugin.cpp --- a/telephonyserverplugins/common_tsy/systemstateplugin/src/ctsysystemstateplugin.cpp Tue Feb 02 01:41:59 2010 +0200 +++ b/telephonyserverplugins/common_tsy/systemstateplugin/src/ctsysystemstateplugin.cpp Fri Mar 19 09:55:57 2010 +0200 @@ -33,6 +33,7 @@ { // create active object for do RF state changing iAoChangeRfForEmergencyCall = new (ELeave) CChangeRfForEmergencyCall(*this, iSsmEmergencyCallRf); + User::LeaveIfError(Connect()); } CCtsySystemStatePlugin::~CCtsySystemStatePlugin() @@ -54,12 +55,19 @@ TFLOGSTRING("CCtsySystemStatePlugin::Connect()"); TInt error (KErrNone); - if (!iConnected) + if (!iConnected) { - error = iSsmEmergencyCallRf.Connect(); - if (KErrNone == error) + error = iSsmEmergencyCallRf.Connect(); + if (KErrNone != error) + { + return error; + } + iConnected = ETrue; + error = iSsmEmergencyCallRf.SetAsPriorityClient(); + if (KErrNone != error) { - iConnected = ETrue; + TFLOGSTRING2("CCtsySystemStatePlugin::Connect() - SetAsPriorityClient returned %d", error); + error = KErrNone; } } return error; @@ -75,18 +83,7 @@ TCtsySsmCallbackData& aCallbackData) { TFLOGSTRING("CCtsySystemStatePlugin::ActivateRfForEmergencyCall()" ); - //try to connect - TInt err = Connect(); - if (err) - { - TFLOGSTRING2("CCtsySystemStatePlugin::ActivateRfForEmergencyCall() failed to connect %d", err); - // inform CTSY about error... - aSsmPluginCallback->SsmPluginCallback(err, aCallbackData); - // and do nothing - return; - } - iAoChangeRfForEmergencyCall->ActivateRfForEmergencyCall(aSsmPluginCallback, aCallbackData); } @@ -237,7 +234,6 @@ iBusy = ENotBusy; // close SSM - iCtsySystemStatePlugin.Close(); if (iSsmPluginCallback) { // just call callback interface and pass into it error code