equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). |
2 * Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies). |
3 * All rights reserved. |
3 * All rights reserved. |
4 * This component and the accompanying materials are made available |
4 * This component and the accompanying materials are made available |
5 * under the terms of "Eclipse Public License v1.0" |
5 * under the terms of "Eclipse Public License v1.0" |
6 * which accompanies this distribution, and is available |
6 * which accompanies this distribution, and is available |
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
63 // APIs affecting this: |
63 // APIs affecting this: |
64 // IssueRequest() |
64 // IssueRequest() |
65 Stop(); |
65 Stop(); |
66 // AddCallback() |
66 // AddCallback() |
67 iCallbacks.Close(); |
67 iCallbacks.Close(); |
68 // AddWriteReadyCallback() |
|
69 iERCallbacks.Close(); |
|
70 // Internal |
68 // Internal |
71 Initialize(); |
69 Initialize(); |
72 FTRACE(FPrint( _L("CDunSignalCopy::ResetData() complete") )); |
70 FTRACE(FPrint( _L("CDunSignalCopy::ResetData() complete") )); |
73 } |
71 } |
74 |
72 |
96 { |
94 { |
97 FTRACE(FPrint( _L("CDunSignalCopy::AddCallback() (append failed!) complete" ) )); |
95 FTRACE(FPrint( _L("CDunSignalCopy::AddCallback() (append failed!) complete" ) )); |
98 return retTemp; |
96 return retTemp; |
99 } |
97 } |
100 FTRACE(FPrint( _L("CDunSignalCopy::AddCallback() complete" ) )); |
98 FTRACE(FPrint( _L("CDunSignalCopy::AddCallback() complete" ) )); |
101 return KErrNone; |
|
102 } |
|
103 |
|
104 // --------------------------------------------------------------------------- |
|
105 // Adds callback for endpoint readiness |
|
106 // The callback will be called when the endpoint is ready or not ready |
|
107 // --------------------------------------------------------------------------- |
|
108 // |
|
109 TInt CDunSignalCopy::AddEndpointReadyCallback( MDunEndpointReady* aERCallback ) |
|
110 { |
|
111 FTRACE(FPrint( _L("CDunSignalCopy::AddEndpointReadyCallback()" ) )); |
|
112 if ( !aERCallback ) |
|
113 { |
|
114 FTRACE(FPrint( _L("CDunSignalCopy::AddEndpointReadyCallback() (aERCallback) not initialized!" ) )); |
|
115 return KErrGeneral; |
|
116 } |
|
117 TInt retTemp = iERCallbacks.Find( aERCallback ); |
|
118 if ( retTemp != KErrNotFound ) |
|
119 { |
|
120 FTRACE(FPrint( _L("CDunSignalCopy::AddEndpointReadyCallback() (already exists) complete" ) )); |
|
121 return KErrAlreadyExists; |
|
122 } |
|
123 retTemp = iERCallbacks.Append( aERCallback ); |
|
124 if ( retTemp != KErrNone ) |
|
125 { |
|
126 FTRACE(FPrint( _L("CDunSignalCopy::AddEndpointReadyCallback() (append failed!) complete" ) )); |
|
127 return retTemp; |
|
128 } |
|
129 FTRACE(FPrint( _L("CDunSignalCopy::AddEndpointReadyCallback() complete" ) )); |
|
130 return KErrNone; |
99 return KErrNone; |
131 } |
100 } |
132 |
101 |
133 // --------------------------------------------------------------------------- |
102 // --------------------------------------------------------------------------- |
134 // Sets media to use for this endpoint monitor |
103 // Sets media to use for this endpoint monitor |
334 if ( iSignals & KRTSChanged ) |
303 if ( iSignals & KRTSChanged ) |
335 { |
304 { |
336 FTRACE(FPrint( _L("CDunSignalCopy::ManageSignalChangeUpstream() checking RTS..." ) )); |
305 FTRACE(FPrint( _L("CDunSignalCopy::ManageSignalChangeUpstream() checking RTS..." ) )); |
337 if ( iSignals & KSignalRTS ) // RTS changed to high |
306 if ( iSignals & KSignalRTS ) // RTS changed to high |
338 { |
307 { |
339 ReportEndpointReady( ETrue ); |
|
340 ChangeUpstreamSignal( KSignalRTS, 0 ); |
308 ChangeUpstreamSignal( KSignalRTS, 0 ); |
341 FTRACE(FPrint( _L("CDunSignalCopy::ManageSignalChangeUpstream() RTS changed high" ) )); |
309 FTRACE(FPrint( _L("CDunSignalCopy::ManageSignalChangeUpstream() RTS changed high" ) )); |
342 } |
310 } |
343 else // RTS changed to low |
311 else // RTS changed to low |
344 { |
312 { |
345 ReportEndpointReady( EFalse ); |
|
346 ChangeUpstreamSignal( 0, KSignalRTS ); |
313 ChangeUpstreamSignal( 0, KSignalRTS ); |
347 FTRACE(FPrint( _L("CDunSignalCopy::ManageSignalChangeUpstream() RTS changed low" ) )); |
314 FTRACE(FPrint( _L("CDunSignalCopy::ManageSignalChangeUpstream() RTS changed low" ) )); |
348 } |
315 } |
349 } |
316 } |
350 if ( iSignals & KDTRChanged ) |
317 if ( iSignals & KDTRChanged ) |
460 { |
427 { |
461 iComm->SetSignals( aSetMask, aClearMask ); |
428 iComm->SetSignals( aSetMask, aClearMask ); |
462 } |
429 } |
463 // Add other cases here if necessary |
430 // Add other cases here if necessary |
464 FTRACE(FPrint( _L("CDunSignalCopy::ChangeDownstreamSignal() complete" ) )); |
431 FTRACE(FPrint( _L("CDunSignalCopy::ChangeDownstreamSignal() complete" ) )); |
465 } |
|
466 |
|
467 // --------------------------------------------------------------------------- |
|
468 // Reports endpoint ready or not ready |
|
469 // --------------------------------------------------------------------------- |
|
470 // |
|
471 void CDunSignalCopy::ReportEndpointReady( TBool aReady ) |
|
472 { |
|
473 FTRACE(FPrint( _L("CDunSignalCopy::ReportEndpointReady()" ) )); |
|
474 TInt count = iERCallbacks.Count(); |
|
475 for ( TInt i=0; i<count; i++ ) |
|
476 { |
|
477 if ( aReady ) |
|
478 { |
|
479 iERCallbacks[i]->NotifyEndpointReady(); |
|
480 } |
|
481 else // not ready |
|
482 { |
|
483 iERCallbacks[i]->NotifyEndpointNotReady(); |
|
484 } |
|
485 } |
|
486 FTRACE(FPrint( _L("CDunSignalCopy::ReportEndpointReady() complete" ) )); |
|
487 } |
432 } |
488 |
433 |
489 // --------------------------------------------------------------------------- |
434 // --------------------------------------------------------------------------- |
490 // From class CActive. |
435 // From class CActive. |
491 // Gets called when line status changes |
436 // Gets called when line status changes |