telephonyserverplugins/common_tsy/systemstateplugin/src/ctsysystemstateplugin.cpp
changeset 19 1f776524b15c
parent 0 3553901f7fa8
child 24 6638e7f4bd8f
child 42 3adadc800673
equal deleted inserted replaced
0:3553901f7fa8 19:1f776524b15c
    31 	
    31 	
    32 void CCtsySystemStatePlugin::ConstructL()
    32 void CCtsySystemStatePlugin::ConstructL()
    33 	{	
    33 	{	
    34 	// create active object for do RF state changing  
    34 	// create active object for do RF state changing  
    35 	iAoChangeRfForEmergencyCall = new (ELeave) CChangeRfForEmergencyCall(*this, iSsmEmergencyCallRf);
    35 	iAoChangeRfForEmergencyCall = new (ELeave) CChangeRfForEmergencyCall(*this, iSsmEmergencyCallRf);
       
    36 	User::LeaveIfError(Connect());
    36 	}
    37 	}
    37 
    38 
    38 CCtsySystemStatePlugin::~CCtsySystemStatePlugin()
    39 CCtsySystemStatePlugin::~CCtsySystemStatePlugin()
    39 	{  
    40 	{  
    40 	if (iAoChangeRfForEmergencyCall)
    41 	if (iAoChangeRfForEmergencyCall)
    52 TInt CCtsySystemStatePlugin::Connect()
    53 TInt CCtsySystemStatePlugin::Connect()
    53 	{	
    54 	{	
    54 	TFLOGSTRING("CCtsySystemStatePlugin::Connect()");		
    55 	TFLOGSTRING("CCtsySystemStatePlugin::Connect()");		
    55 
    56 
    56 	TInt error (KErrNone);
    57 	TInt error (KErrNone);
    57 	if (!iConnected)	
    58 	if (!iConnected)	 
    58 	{	 
    59 	{	 
    59 		error = iSsmEmergencyCallRf.Connect(); 	
    60         error = iSsmEmergencyCallRf.Connect();  
    60 		if (KErrNone == error)
    61         if (KErrNone != error)
    61 			{
    62             {
    62 			iConnected = ETrue;	
    63             return error; 
       
    64             }
       
    65         iConnected = ETrue; 
       
    66         error = iSsmEmergencyCallRf.SetAsPriorityClient();
       
    67 		if (KErrNone != error)
       
    68 			{
       
    69             TFLOGSTRING2("CCtsySystemStatePlugin::Connect()  - SetAsPriorityClient returned %d", error);
       
    70             error = KErrNone;
    63 			}
    71 			}
    64 	}	
    72 	}	
    65 	return error;
    73 	return error;
    66 	}
    74 	}
    67 
    75 
    73 // ---------------------------------------------------------------------------
    81 // ---------------------------------------------------------------------------
    74 void CCtsySystemStatePlugin::ActivateRfForEmergencyCall(MCtsySsmPluginCallback* aSsmPluginCallback,
    82 void CCtsySystemStatePlugin::ActivateRfForEmergencyCall(MCtsySsmPluginCallback* aSsmPluginCallback,
    75                                                         TCtsySsmCallbackData& aCallbackData)
    83                                                         TCtsySsmCallbackData& aCallbackData)
    76 	{
    84 	{
    77 	TFLOGSTRING("CCtsySystemStatePlugin::ActivateRfForEmergencyCall()" );
    85 	TFLOGSTRING("CCtsySystemStatePlugin::ActivateRfForEmergencyCall()" );
    78 	//try to connect
    86 
    79 	TInt err = Connect();
       
    80 	if (err)
       
    81 		{
       
    82 		TFLOGSTRING2("CCtsySystemStatePlugin::ActivateRfForEmergencyCall() failed to connect %d", err);
       
    83 
       
    84 		// inform CTSY about error...
       
    85 		aSsmPluginCallback->SsmPluginCallback(err, aCallbackData);
       
    86 		// and do nothing
       
    87 		return;
       
    88 		}
       
    89 					
       
    90 	iAoChangeRfForEmergencyCall->ActivateRfForEmergencyCall(aSsmPluginCallback, aCallbackData);	
    87 	iAoChangeRfForEmergencyCall->ActivateRfForEmergencyCall(aSsmPluginCallback, aCallbackData);	
    91 	}
    88 	}
    92 	
    89 	
    93 // ---------------------------------------------------------------------------
    90 // ---------------------------------------------------------------------------
    94 // CCtsySystemStatePlugin::DeactivateRfAfterEmergencyCall
    91 // CCtsySystemStatePlugin::DeactivateRfAfterEmergencyCall
   235 void CChangeRfForEmergencyCall::RunL()
   232 void CChangeRfForEmergencyCall::RunL()
   236    {	
   233    {	
   237    iBusy = ENotBusy;		
   234    iBusy = ENotBusy;		
   238    
   235    
   239    // close SSM
   236    // close SSM
   240    iCtsySystemStatePlugin.Close();
       
   241    if (iSsmPluginCallback)
   237    if (iSsmPluginCallback)
   242       {
   238       {
   243 	  // just call callback interface and pass into it error code
   239 	  // just call callback interface and pass into it error code
   244 	  iSsmPluginCallback->SsmPluginCallback(iStatus.Int(), iCallbackData);
   240 	  iSsmPluginCallback->SsmPluginCallback(iStatus.Int(), iCallbackData);
   245       iSsmPluginCallback = NULL;	
   241       iSsmPluginCallback = NULL;