telephonyserverplugins/common_tsy/systemstateplugin/src/ctsysystemstateplugin.cpp
equal
deleted
inserted
replaced
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; |