localconnectivityservice/dun/utils/src/DunSignalCopy.cpp
changeset 60 841f70763fbe
parent 52 866b4af7ffbe
equal deleted inserted replaced
52:866b4af7ffbe 60:841f70763fbe
   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     }