150 // --------------------------------------------------------------------------- |
150 // --------------------------------------------------------------------------- |
151 // |
151 // |
152 TInt CDunSignalCopy::IssueRequest() |
152 TInt CDunSignalCopy::IssueRequest() |
153 { |
153 { |
154 FTRACE(FPrint( _L("CDunSignalCopy::IssueRequest()" ))); |
154 FTRACE(FPrint( _L("CDunSignalCopy::IssueRequest()" ))); |
155 if ( iSignalCopyState != EDunStateIdle ) |
155 if ( IsActive() ) |
156 { |
156 { |
157 FTRACE(FPrint( _L("CDunSignalCopy::IssueRequest() (not ready) complete" ) )); |
157 FTRACE(FPrint( _L("CDunSignalCopy::IssueRequest() (not ready) complete" ) )); |
158 return KErrNotReady; |
158 return KErrNotReady; |
159 } |
159 } |
160 RComm* comm = NULL; |
160 RComm* comm = NULL; |
189 ManageSignalChange(); |
189 ManageSignalChange(); |
190 } |
190 } |
191 else |
191 else |
192 { |
192 { |
193 FTRACE(FPrint( _L("CDunSignalCopy::IssueRequest() start waiting for change..." ) )); |
193 FTRACE(FPrint( _L("CDunSignalCopy::IssueRequest() start waiting for change..." ) )); |
194 iStatus = KRequestPending; |
|
195 iSignalCopyState = EDunStateSignalCopy; |
|
196 comm->NotifySignalChange( iStatus, iSignals, iListenSignals ); |
194 comm->NotifySignalChange( iStatus, iSignals, iListenSignals ); |
197 SetActive(); |
195 SetActive(); |
198 } |
196 } |
199 FTRACE(FPrint( _L("CDunSignalCopy::IssueRequest() complete" ))); |
197 FTRACE(FPrint( _L("CDunSignalCopy::IssueRequest() complete" ))); |
200 return KErrNone; |
198 return KErrNone; |
202 |
200 |
203 // --------------------------------------------------------------------------- |
201 // --------------------------------------------------------------------------- |
204 // Stops monitoring the endpoint for line status change |
202 // Stops monitoring the endpoint for line status change |
205 // --------------------------------------------------------------------------- |
203 // --------------------------------------------------------------------------- |
206 // |
204 // |
207 TInt CDunSignalCopy::Stop() |
205 void CDunSignalCopy::Stop() |
208 { |
206 { |
209 FTRACE(FPrint( _L("CDunSignalCopy::Stop()" ))); |
207 FTRACE(FPrint( _L("CDunSignalCopy::Stop()" ))); |
210 if ( iSignalCopyState != EDunStateSignalCopy ) |
|
211 { |
|
212 FTRACE(FPrint( _L("CDunSignalCopy::Stop() (not ready) complete" ))); |
|
213 return KErrNotReady; |
|
214 } |
|
215 if ( iStreamType == EDunStreamTypeUpstream ) |
|
216 { |
|
217 iComm->NotifySignalChangeCancel(); |
|
218 } |
|
219 else if ( iStreamType == EDunStreamTypeDownstream ) |
|
220 { |
|
221 iNetwork->NotifySignalChangeCancel(); |
|
222 } |
|
223 else |
|
224 { |
|
225 FTRACE(FPrint( _L("CDunSignalCopy::Stop() (ERROR) complete" ))); |
|
226 return KErrGeneral; |
|
227 } |
|
228 Cancel(); |
208 Cancel(); |
229 iSignalCopyState = EDunStateIdle; |
|
230 FTRACE(FPrint( _L("CDunSignalCopy::Stop() complete" ))); |
209 FTRACE(FPrint( _L("CDunSignalCopy::Stop() complete" ))); |
231 return KErrNone; |
|
232 } |
210 } |
233 |
211 |
234 // --------------------------------------------------------------------------- |
212 // --------------------------------------------------------------------------- |
235 // CDunSignalCopy::CDunSignalCopy |
213 // CDunSignalCopy::CDunSignalCopy |
236 // --------------------------------------------------------------------------- |
214 // --------------------------------------------------------------------------- |
259 void CDunSignalCopy::Initialize() |
237 void CDunSignalCopy::Initialize() |
260 { |
238 { |
261 FTRACE(FPrint( _L("CDunSignalCopy::Initialize()" ) )); |
239 FTRACE(FPrint( _L("CDunSignalCopy::Initialize()" ) )); |
262 iContextInUse = EDunMediaContextUndefined; |
240 iContextInUse = EDunMediaContextUndefined; |
263 iStreamType = EDunStreamTypeUndefined; |
241 iStreamType = EDunStreamTypeUndefined; |
264 iSignalCopyState = EDunStateIdle; |
|
265 iListenSignals = 0; |
242 iListenSignals = 0; |
266 iSignals = 0; |
243 iSignals = 0; |
267 iNetwork = NULL; |
244 iNetwork = NULL; |
268 iComm = NULL; |
245 iComm = NULL; |
269 FTRACE(FPrint( _L("CDunSignalCopy::Initialize() complete" ) )); |
246 FTRACE(FPrint( _L("CDunSignalCopy::Initialize() complete" ) )); |
437 // --------------------------------------------------------------------------- |
414 // --------------------------------------------------------------------------- |
438 // |
415 // |
439 void CDunSignalCopy::RunL() |
416 void CDunSignalCopy::RunL() |
440 { |
417 { |
441 FTRACE(FPrint( _L("CDunSignalCopy::RunL()" ) )); |
418 FTRACE(FPrint( _L("CDunSignalCopy::RunL()" ) )); |
442 iSignalCopyState = EDunStateIdle; |
|
443 TInt retTemp = iStatus.Int(); |
419 TInt retTemp = iStatus.Int(); |
444 if ( retTemp != KErrNone ) |
420 if ( retTemp != KErrNone ) |
445 { |
421 { |
446 FTRACE(FPrint( _L("CDunSignalCopy::RunL() (failed) complete (%d)"), retTemp)); |
422 FTRACE(FPrint( _L("CDunSignalCopy::RunL() (failed) complete (%d)"), retTemp)); |
447 TInt i; |
423 TInt i; |
470 // Gets called on cancel |
446 // Gets called on cancel |
471 // --------------------------------------------------------------------------- |
447 // --------------------------------------------------------------------------- |
472 // |
448 // |
473 void CDunSignalCopy::DoCancel() |
449 void CDunSignalCopy::DoCancel() |
474 { |
450 { |
475 } |
451 FTRACE(FPrint( _L("CDunSignalCopy::DoCancel()" ) )); |
|
452 if ( iStreamType == EDunStreamTypeUpstream ) |
|
453 { |
|
454 iComm->NotifySignalChangeCancel(); |
|
455 } |
|
456 else if ( iStreamType == EDunStreamTypeDownstream ) |
|
457 { |
|
458 iNetwork->NotifySignalChangeCancel(); |
|
459 } |
|
460 else |
|
461 { |
|
462 FTRACE(FPrint( _L("CDunSignalCopy::DoCancel() (ERROR) complete" ))); |
|
463 } |
|
464 FTRACE(FPrint( _L("CDunSignalCopy::DoCancel() complete" ) )); |
|
465 } |