telephonyserverplugins/common_tsy/systemstateplugin/src/ctsysystemstateplugin.cpp
changeset 19 1f776524b15c
parent 0 3553901f7fa8
child 24 6638e7f4bd8f
child 42 3adadc800673
--- 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