15 * |
15 * |
16 */ |
16 */ |
17 |
17 |
18 |
18 |
19 // INCLUDE FILES |
19 // INCLUDE FILES |
20 #include "PSetCallDivertingBasicImpl.h" |
20 #include "psetcalldivertingbasicimpl.h" |
21 |
21 |
22 #include <badesca.h> |
22 #include <badesca.h> |
23 #include <etelmm.h> |
23 #include <etelmm.h> |
24 #include <e32math.h> |
24 #include <e32math.h> |
25 #include <vmnumber.h> |
|
26 #include <e32svr.h> |
25 #include <e32svr.h> |
27 #include <featmgr.h> |
26 #include <featmgr.h> |
28 #include <centralrepository.h> |
27 #include <centralrepository.h> |
29 #include <settingsinternalcrkeys.h> |
28 #include <settingsinternalcrkeys.h> |
30 |
29 |
31 #include "PsetCallDiverting.h" |
30 #include "psetcalldiverting.h" |
32 #include "PsetContainer.h" |
31 #include "psetcontainer.h" |
33 #include "MPsetDivertObs.h" |
32 #include "mpsetdivertobs.h" |
34 #include "PsetTelephony.h" |
33 #include "psettelephony.h" |
35 #include "PSetPanic.h" |
34 #include "psetpanic.h" |
36 #include "MPsetRequestObs.h" |
35 #include "mpsetrequestobs.h" |
37 #include "PSetUtility.h" |
36 #include "psetutility.h" |
38 #include "PhoneSettingsLogger.h" |
37 #include "phonesettingslogger.h" |
39 #include "PsetSAObserver.h" |
38 #include "psetsaobserver.h" |
40 |
39 |
41 // LOCAL CONSTANTS AND MACROS |
40 // LOCAL CONSTANTS AND MACROS |
42 _LIT( KPSetIntNbr, "+" ); |
41 _LIT( KPSetIntNbr, "+" ); |
43 _LIT( KPSNameOfClass, "CPSetCallDivertingBasicImpl" ); |
42 _LIT( KPSNameOfClass, "CPSetCallDivertingBasicImpl" ); |
44 |
43 |
65 // CPSetCallDivertingBasicImpl::~CPSetCallDivertingBasicImpl |
64 // CPSetCallDivertingBasicImpl::~CPSetCallDivertingBasicImpl |
66 // --------------------------------------------------------------------------- |
65 // --------------------------------------------------------------------------- |
67 // |
66 // |
68 CPSetCallDivertingBasicImpl::~CPSetCallDivertingBasicImpl() |
67 CPSetCallDivertingBasicImpl::~CPSetCallDivertingBasicImpl() |
69 { |
68 { |
|
69 Cancel(); |
70 } |
70 } |
71 |
71 |
72 // ----------------------------------------------------------------------------- |
72 // ----------------------------------------------------------------------------- |
73 // CPSetCallDivertingBasicImpl::CPSetCallDivertingBasicImpl |
73 // CPSetCallDivertingBasicImpl::CPSetCallDivertingBasicImpl |
74 // C++ constructor can NOT contain any code, that |
74 // C++ constructor can NOT contain any code, that |
103 if ( IsActive() ) |
103 if ( IsActive() ) |
104 { |
104 { |
105 User::Leave( KErrInUse ); |
105 User::Leave( KErrInUse ); |
106 } |
106 } |
107 iBsc = aBsc; |
107 iBsc = aBsc; |
|
108 iRequestedServiceGroup = aDivert.iServiceGroup; |
108 |
109 |
109 CPsetTelephony::CheckLineModeL( aDivert.iServiceGroup, &iPhone, iLine ); |
110 CPsetTelephony::CheckLineModeL( aDivert.iServiceGroup, &iPhone, iLine ); |
110 if ( !iLine->SubSessionHandle() ) |
111 if ( !iLine->SubSessionHandle() ) |
111 { |
112 { |
112 User::Leave( KErrBadHandle ); |
113 User::Leave( KErrBadHandle ); |
201 case EPSetChangeDivert: |
202 case EPSetChangeDivert: |
202 { |
203 { |
203 __PHSLOGSTRING("[PHS]--> CPSetCallDivertingBasicImpl::RunL: EPSetChangeDivert" ); |
204 __PHSLOGSTRING("[PHS]--> CPSetCallDivertingBasicImpl::RunL: EPSetChangeDivert" ); |
204 //Notify Observer |
205 //Notify Observer |
205 iDivertStatus.iStatus = PSetUtility::GetChangeInfoStatus( iChangeInfo.iAction ); |
206 iDivertStatus.iStatus = PSetUtility::GetChangeInfoStatus( iChangeInfo.iAction ); |
|
207 iDivertStatus.iNumber = iChangeInfo.iNumber.iTelNumber; |
|
208 iDivertStatus.iCondition = PSetUtility::GetDivertReason(iReason); |
|
209 iDivertStatus.iNoReplyTimer = iChangeInfo.iTimeout; |
|
210 iDivertStatus.iServiceGroup = iRequestedServiceGroup; |
206 |
211 |
207 // Check is done because of VOIP notification functionality(PSetNotesUI). |
212 // Check is done because of VOIP notification functionality(PSetNotesUI). |
208 if ( iVoiceDivert && !iVideoDivert ) |
213 if ( iVoiceDivert && !iVideoDivert ) |
209 { |
214 { |
210 iDivertStatus.iServiceGroup = EServiceGroupVoice; |
215 iDivertStatus.iServiceGroup = EServiceGroupVoice; |