16 */ |
16 */ |
17 |
17 |
18 |
18 |
19 // INCLUDE FILES |
19 // INCLUDE FILES |
20 |
20 |
21 #include "phonehandlerredial.h" |
21 #include "PhoneHandlerRedial.h" |
22 #include "phonehandlercontrol.h" |
22 #include "PhoneHandlerControl.h" |
23 #include "phonehandlerdebug.h" |
23 #include "PhoneHandlerDebug.h" |
24 #include <RemConCallHandlingTarget.h> |
24 #include <RemConCallHandlingTarget.h> |
25 #include <cphcltcommandhandler.h> |
25 #include <CPhCltCommandHandler.h> |
26 #include <phclttypes.h> |
26 #include <PhCltTypes.h> |
27 |
27 |
28 #ifdef SYMBIAN_ENABLE_SPLIT_HEADERS |
28 #ifdef SYMBIAN_ENABLE_SPLIT_HEADERS |
29 #include <logfilterandeventconstants.hrh> |
29 #include <logfilterandeventconstants.hrh> |
30 #endif |
30 #endif |
31 |
31 |
34 // C++ default constructor can NOT contain any code, that |
34 // C++ default constructor can NOT contain any code, that |
35 // might leave. |
35 // might leave. |
36 // ----------------------------------------------------------------------------- |
36 // ----------------------------------------------------------------------------- |
37 // |
37 // |
38 CPhoneHandlerLastNumberRedial::CPhoneHandlerLastNumberRedial( |
38 CPhoneHandlerLastNumberRedial::CPhoneHandlerLastNumberRedial( |
39 CPhoneHandlerControl& aControl, |
39 CPhoneHandlerControl& aControl, |
40 TRemConExtCallHandlingApiOperationId aOperation ) |
40 TRemConExtCallHandlingApiOperationId aOperation ) |
41 : iControl( aControl ), |
41 : iControl( aControl ), |
42 iOperation( aOperation ) |
42 iOperation( aOperation ) |
43 { |
43 { |
44 } |
44 } |
45 |
45 |
65 // CPhoneHandlerLastNumberRedial::NewL |
65 // CPhoneHandlerLastNumberRedial::NewL |
66 // Two-phased constructor. |
66 // Two-phased constructor. |
67 // ----------------------------------------------------------------------------- |
67 // ----------------------------------------------------------------------------- |
68 // |
68 // |
69 CPhoneHandlerLastNumberRedial* CPhoneHandlerLastNumberRedial::NewL( |
69 CPhoneHandlerLastNumberRedial* CPhoneHandlerLastNumberRedial::NewL( |
70 CPhoneHandlerControl& aControl, |
70 CPhoneHandlerControl& aControl, |
71 TRemConExtCallHandlingApiOperationId aOperation ) |
71 TRemConExtCallHandlingApiOperationId aOperation ) |
72 { |
72 { |
73 CPhoneHandlerLastNumberRedial* self = |
73 CPhoneHandlerLastNumberRedial* self = |
74 new (ELeave) CPhoneHandlerLastNumberRedial( aControl, aOperation ); |
74 new (ELeave) CPhoneHandlerLastNumberRedial( aControl, aOperation ); |
75 CleanupStack::PushL( self ); |
75 CleanupStack::PushL( self ); |
76 self->ConstructL(); |
76 self->ConstructL(); |
77 CleanupStack::Pop( self ); |
77 CleanupStack::Pop( self ); |
78 return self; |
78 return self; |
79 } |
79 } |
85 |
85 |
86 delete iLogViewRecentPtr; |
86 delete iLogViewRecentPtr; |
87 delete iLogClientPtr; |
87 delete iLogClientPtr; |
88 iFsSession.Close(); |
88 iFsSession.Close(); |
89 |
89 |
90 COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerLastNumberRedial::CPhoneHandlerLastNumberRedial() end" ); |
90 COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerLastNumberRedial::CPhoneHandlerLastNumberRedial() end" ); |
91 } |
91 } |
92 |
92 |
93 // ----------------------------------------------------------------------------- |
93 // ----------------------------------------------------------------------------- |
94 // CPhoneHandlerLastNumberRedial::Process |
94 // CPhoneHandlerLastNumberRedial::Process |
95 // Starts to process service. |
95 // Starts to process service. |
96 // (other items were commented in a header). |
96 // (other items were commented in a header). |
97 // ----------------------------------------------------------------------------- |
97 // ----------------------------------------------------------------------------- |
98 // |
98 // |
99 void CPhoneHandlerLastNumberRedial::Process() |
99 void CPhoneHandlerLastNumberRedial::Process() |
100 { |
100 { |
101 COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerLastNumberRedial::Process() start" ); |
101 COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerLastNumberRedial::Process() start" ); |
102 |
102 |
103 TBool ret = EFalse; |
103 TBool ret = EFalse; |
104 |
104 |
105 TRAPD( err, ret = iLogViewRecentPtr-> |
105 TRAPD( err, ret = iLogViewRecentPtr-> |
106 SetRecentListL( KLogRecentOutgoingCalls, GetStatus() ) ); |
106 SetRecentListL( KLogRecentOutgoingCalls, GetStatus() ) ); |
107 if( KErrNone == err && ret ) |
107 if( KErrNone == err && ret ) |
108 { |
108 { |
109 COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerLastNumberRedial::Process() There is last redial number" ); |
109 COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerLastNumberRedial::Process() There is last redial number" ); |
110 Activate(); |
110 Activate(); |
111 } |
111 } |
112 else |
112 else |
113 { |
113 { |
114 if( err != KErrNone ) |
114 if( err != KErrNone ) |
115 { |
115 { |
116 COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerLastNumberRedial::Process() failed err=%d", err ); |
116 COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerLastNumberRedial::Process() failed err=%d", err ); |
117 RequestCompleted( err ); |
117 RequestCompleted( err ); |
118 } |
118 } |
119 else |
119 else |
120 { |
120 { |
121 COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerLastNumberRedial::Process() failed err=%d", KErrNotFound ); |
121 COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerLastNumberRedial::Process() failed err=%d", KErrNotFound ); |
122 RequestCompleted( KErrNotFound ); |
122 RequestCompleted( KErrNotFound ); |
123 } |
123 } |
124 } |
124 } |
125 |
125 |
126 COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerLastNumberRedial::Process() end" ); |
126 COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerLastNumberRedial::Process() end" ); |
127 } |
127 } |
128 |
128 |
130 // CPhoneHandlerLastNumberRedial::Delete |
130 // CPhoneHandlerLastNumberRedial::Delete |
131 // (other items were commented in a header). |
131 // (other items were commented in a header). |
132 // ----------------------------------------------------------------------------- |
132 // ----------------------------------------------------------------------------- |
133 // |
133 // |
134 void CPhoneHandlerLastNumberRedial::Delete() |
134 void CPhoneHandlerLastNumberRedial::Delete() |
135 { |
135 { |
136 COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerLastNumberRedial::Delete()" ); |
136 COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerLastNumberRedial::Delete()" ); |
137 |
137 |
138 delete this; |
138 delete this; |
139 } |
139 } |
140 |
140 |
141 // ----------------------------------------------------------------------------- |
141 // ----------------------------------------------------------------------------- |
142 // CPhoneHandlerLastNumberRedial::RequestCompleted |
142 // CPhoneHandlerLastNumberRedial::RequestCompleted |
143 // Handler for completed asynchronous calls. |
143 // Handler for completed asynchronous calls. |
144 // (other items were commented in a header). |
144 // (other items were commented in a header). |
145 // ----------------------------------------------------------------------------- |
145 // ----------------------------------------------------------------------------- |
146 // |
146 // |
147 void CPhoneHandlerLastNumberRedial::RequestCompleted( const TInt aError ) |
147 void CPhoneHandlerLastNumberRedial::RequestCompleted( const TInt aError ) |
148 { |
148 { |
149 COM_TRACE_2( "[PHONECMDHANDLER] CPhoneHandlerLastNumberRedial::RequestCompleted() aError=%d, iState=%d", aError, iState ); |
149 COM_TRACE_2( "[PHONECMDHANDLER] CPhoneHandlerLastNumberRedial::RequestCompleted() aError=%d, iState=%d", aError, iState ); |
150 |
150 |
151 if( KErrNone != aError ) |
151 if( KErrNone != aError ) |
152 { |
152 { |
153 // cancel process and return an error code |
153 // cancel process and return an error code |
154 iState = EPhoneHandlerState2; |
154 iState = EPhoneHandlerState2; |
155 } |
155 } |
156 |
156 |
157 switch( iState ) |
157 switch( iState ) |
158 { |
158 { |
159 case EPhoneHandlerState1: |
159 case EPhoneHandlerState1: |
160 { |
160 { |
161 NextState(); |
161 NextState(); |
162 |
162 |
163 const TDesC& number = iLogViewRecentPtr->Event().Number(); |
163 const TDesC& number = iLogViewRecentPtr->Event().Number(); |
164 COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerLastNumberRedial::RequestCompleted() phone number is %S", &number ); |
164 COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerLastNumberRedial::RequestCompleted() phone number is %S", &number ); |
165 // make a call with last dialed phone number |
165 // make a call with last dialed phone number |
166 iCommandHandler->Atd( GetStatus(), number ); |
166 iCommandHandler->Atd( GetStatus(), number ); |
167 |
167 |
168 Activate(); |
168 Activate(); |
169 break; |
169 break; |
170 } |
170 } |
171 |
171 |
172 case EPhoneHandlerState2: |
172 case EPhoneHandlerState2: |
173 { |
173 { |
174 NextState(); |
174 NextState(); |
175 iControl.CommandInitiator().SendResponse( GetStatus(), |
175 iControl.CommandInitiator().SendResponse( GetStatus(), |
176 iOperation, |
176 iOperation, |
177 aError ); |
177 aError ); |
178 Activate(); |
178 Activate(); |
179 break; |
179 break; |
180 } |
180 } |
181 |
181 |
182 case EPhoneHandlerState3: |
182 case EPhoneHandlerState3: |
183 { |
183 { |
184 IdleState(); |
184 IdleState(); |
185 delete this; |
185 delete this; |
186 break; |
186 break; |
187 } |
187 } |
188 |
188 |
189 default: |
189 default: |
190 { |
190 { |
191 COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerLastNumberRedial::RequestCompleted() Unspecified state" ); |
191 COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerLastNumberRedial::RequestCompleted() Unspecified state" ); |
192 break; |
192 break; |
193 } |
193 } |
194 }; |
194 }; |
195 |
195 |
196 COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerLastNumberRedial::RequestCompleted() end" ); |
196 COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerLastNumberRedial::RequestCompleted() end" ); |
197 } |
197 } |
198 |
198 |
199 // ========================== OTHER EXPORTED FUNCTIONS ========================= |
199 // ========================== OTHER EXPORTED FUNCTIONS ========================= |
200 |
200 |
201 // End of File |
201 // End of File |