adaptationlayer/modematadaptation/modematcontroller_dll/src/rmodematcontroller.cpp
changeset 9 8486d82aef45
parent 0 63b37f68c1ce
equal deleted inserted replaced
8:6295dc2169f3 9:8486d82aef45
    23 #include "modemattrace.h"
    23 #include "modemattrace.h"
    24 #include "catcommandreq.h"
    24 #include "catcommandreq.h"
    25 #include "cunsoliciteddatareq.h"
    25 #include "cunsoliciteddatareq.h"
    26 #include "csignalindreq.h"
    26 #include "csignalindreq.h"
    27 #include "ccommandmodereq.h"
    27 #include "ccommandmodereq.h"
       
    28 #include "OstTraceDefinitions.h"
       
    29 #ifdef OST_TRACE_COMPILER_IN_USE
       
    30 #include "rmodematcontrollerTraces.h"
       
    31 #endif
       
    32 
    28 
    33 
    29 _LIT( KATExtSrvExe, "modematcontroller.exe" );
    34 _LIT( KATExtSrvExe, "modematcontroller.exe" );
    30 const TUid KATExtSrvUid3 = { 0x2001FCB1 }; 
    35 const TUid KATExtSrvUid3 = { 0x2001FCB1 }; 
    31 
    36 
    32 static TInt StartServer();
    37 static TInt StartServer();
    35     iAtRequest( NULL ), 
    40     iAtRequest( NULL ), 
    36     iUnsolicitedDataReq( NULL ),
    41     iUnsolicitedDataReq( NULL ),
    37     iSignalIndReq( NULL ),
    42     iSignalIndReq( NULL ),
    38     iCommandModeReq( NULL )
    43     iCommandModeReq( NULL )
    39     {
    44     {
       
    45     OstTrace0( TRACE_NORMAL, RMODEMATCONTROLLER_RMODEMATCONTROLLER, "RModemAtController::RModemAtController" );
    40     C_TRACE((_L("RModemAtController::RModemAtController()")));
    46     C_TRACE((_L("RModemAtController::RModemAtController()")));
    41     }
    47     }
    42 
    48 
    43 EXPORT_C RModemAtController::~RModemAtController()
    49 EXPORT_C RModemAtController::~RModemAtController()
    44     {
    50     {
       
    51     OstTrace0( TRACE_NORMAL, DUP1_RMODEMATCONTROLLER_RMODEMATCONTROLLER, "RModemAtController::~RModemAtController" );
    45     C_TRACE((_L("RModemAtController::~RModemAtController()")));
    52     C_TRACE((_L("RModemAtController::~RModemAtController()")));
    46     if( iUnsolicitedDataReq || iAtRequest || iSignalIndReq || iCommandModeReq ) 
    53     if( iUnsolicitedDataReq || iAtRequest || iSignalIndReq || iCommandModeReq ) 
    47         {
    54         {
    48         User::Panic( _L("NotCompleted"), 0 );
    55         User::Panic( _L("NotCompleted"), 0 );
    49         }
    56         }
    50 #ifdef _DEBUG
    57 #ifdef _DEBUG
    51     RThread thisRt;
    58     RThread thisRt;
    52     TInt count = thisRt.RequestCount();
    59     TInt count = thisRt.RequestCount();
       
    60     OstTrace1( TRACE_NORMAL, DUP2_RMODEMATCONTROLLER_RMODEMATCONTROLLER, "RModemAtController::~RModemAtController - >RequestCount;count=%d", count );
    53     C_TRACE((_L(">RequestCount %d "), count));
    61     C_TRACE((_L(">RequestCount %d "), count));
    54 #endif
    62 #endif
    55 
    63 
    56 #ifdef _DEBUG
    64 #ifdef _DEBUG
    57     count = thisRt.RequestCount();	
    65     count = thisRt.RequestCount();	
       
    66    	OstTrace1( TRACE_NORMAL, DUP3_RMODEMATCONTROLLER_RMODEMATCONTROLLER, "RModemAtController::~RModemAtController - <RequestCount;count=%d", count );
    58    	C_TRACE((_L("<RequestCount %d "), count));
    67    	C_TRACE((_L("<RequestCount %d "), count));
    59 #endif 	
    68 #endif 	
    60     }
    69     }
    61     
    70     
    62 
    71 
    63 EXPORT_C TInt RModemAtController::Connect(
    72 EXPORT_C TInt RModemAtController::Connect(
    64     TATPluginInterface aInterface,
    73     TATPluginInterface aInterface,
    65     TDesC8& aClientName,
    74     TDesC8& aClientName,
    66     MAtControllerObserver* aObserver )
    75     MAtControllerObserver* aObserver )
    67     {
    76     {
       
    77     OstTraceExt3( TRACE_NORMAL, RMODEMATCONTROLLER_CONNECT, "RModemAtController::Connect;aInterface=%d;aClientName=%s;aObserver=%p", aInterface, aClientName, aObserver );
    68     C_TRACE((_L("RModemAtController::Connect( aInterface: %d, aObserver: 0x%x)"), aInterface, aObserver));
    78     C_TRACE((_L("RModemAtController::Connect( aInterface: %d, aObserver: 0x%x)"), aInterface, aObserver));
    69     DUMP_MESSAGE( aClientName);
    79     DUMP_MESSAGE( aClientName);
    70 #ifdef _DEBUG
    80 #ifdef _DEBUG
    71     RThread thisRt;
    81     RThread thisRt;
    72     TInt count = thisRt.RequestCount();	
    82     TInt count = thisRt.RequestCount();	
       
    83    	OstTrace1( TRACE_NORMAL, DUP1_RMODEMATCONTROLLER_CONNECT, "RModemAtController::Connect - >RequestCount;count=%d", count );
    73    	C_TRACE((_L(">RequestCount %d "), count));
    84    	C_TRACE((_L(">RequestCount %d "), count));
    74 #endif	
    85 #endif	
    75     TVersion version( KServerMajorVersionNumber,
    86     TVersion version( KServerMajorVersionNumber,
    76                       KServerMinorVersionNumber,
    87                       KServerMinorVersionNumber,
    77                       KServerBuildVersionNumber );
    88                       KServerBuildVersionNumber );
    79     iObserver = aObserver;
    90     iObserver = aObserver;
    80     iConnectedIf = aInterface;
    91     iConnectedIf = aInterface;
    81     TInt retVal = CreateSession( KATExtSrvName, version);
    92     TInt retVal = CreateSession( KATExtSrvName, version);
    82     if ( retVal != KErrNone && retVal != KErrAlreadyExists )
    93     if ( retVal != KErrNone && retVal != KErrAlreadyExists )
    83         {
    94         {
       
    95    	    OstTrace0( TRACE_NORMAL, DUP2_RMODEMATCONTROLLER_CONNECT, "RModemAtController::Connect - StartServer" );
    84    	    C_TRACE((_L("RModemAtController::Connect StartServer")));
    96    	    C_TRACE((_L("RModemAtController::Connect StartServer")));
    85         retVal = StartServer();
    97         retVal = StartServer();
    86         if ( retVal == KErrNone || retVal==KErrAlreadyExists )
    98         if ( retVal == KErrNone || retVal==KErrAlreadyExists )
    87             {
    99             {
    88             retVal = CreateSession( KATExtSrvName, version );
   100             retVal = CreateSession( KATExtSrvName, version );
    89             }
   101             }
    90         }
   102         }
    91 
   103 
       
   104     OstTrace1( TRACE_NORMAL, DUP3_RMODEMATCONTROLLER_CONNECT, "RModemAtController::Connect - CreateSession returned;retVal=%d", retVal );
    92     C_TRACE((_L("RModemAtController::Connect CreateSession returned: %d "), retVal));
   105     C_TRACE((_L("RModemAtController::Connect CreateSession returned: %d "), retVal));
    93 
   106 
    94     if ( retVal == KErrNone || retVal == KErrAlreadyExists )
   107     if ( retVal == KErrNone || retVal == KErrAlreadyExists )
    95         {
   108         {
    96         TInt ifUid = aInterface;
   109         TInt ifUid = aInterface;
   100             {
   113             {
   101             ReceiveSignalInd();
   114             ReceiveSignalInd();
   102             GetCommandMode();
   115             GetCommandMode();
   103             }
   116             }
   104 
   117 
       
   118         OstTrace1( TRACE_NORMAL, DUP4_RMODEMATCONTROLLER_CONNECT, "RModemAtController::Connect - EATExtSetExtensionInterface returned:;retVal=%d", retVal );
   105         C_TRACE((_L("RModemAtController::Connect EATExtSetExtensionInterface returned: %d "), retVal));
   119         C_TRACE((_L("RModemAtController::Connect EATExtSetExtensionInterface returned: %d "), retVal));
   106         if( retVal == KErrAlreadyExists )
   120         if( retVal == KErrAlreadyExists )
   107             {
   121             {
       
   122             OstTrace0( TRACE_NORMAL, DUP5_RMODEMATCONTROLLER_CONNECT, "RModemAtController::Connect - Modem is already connected, session is ok" );
   108             C_TRACE( _L("RModemAtController::Connect Modem is already connected, session is ok") );
   123             C_TRACE( _L("RModemAtController::Connect Modem is already connected, session is ok") );
   109             retVal = KErrNone;
   124             retVal = KErrNone;
   110             }
   125             }
   111         if( retVal == KErrServerTerminated)
   126         if( retVal == KErrServerTerminated)
   112             {
   127             {
       
   128             OstTrace0( TRACE_NORMAL, DUP6_RMODEMATCONTROLLER_CONNECT, "RModemAtController::Connect - Connection failed, server has terminated" );
   113             C_TRACE( _L("RModemAtController::Connect Connection failed, server has terminated") );
   129             C_TRACE( _L("RModemAtController::Connect Connection failed, server has terminated") );
   114             }
   130             }
   115         }
   131         }
   116 
   132 
   117     if ( retVal != KErrNone )
   133     if ( retVal != KErrNone )
   118         {
   134         {
       
   135         OstTrace0( TRACE_NORMAL, DUP7_RMODEMATCONTROLLER_CONNECT, "RModemAtController::Connect - Closing session" );
   119         C_TRACE( _L("RModemAtController::Connect Closing session") );
   136         C_TRACE( _L("RModemAtController::Connect Closing session") );
   120         Close();
   137         Close();
   121         }
   138         }
   122 #ifdef _DEBUG
   139 #ifdef _DEBUG
   123     count = thisRt.RequestCount();	
   140     count = thisRt.RequestCount();	
       
   141    	OstTrace1( TRACE_NORMAL, DUP8_RMODEMATCONTROLLER_CONNECT, "RModemAtController::Connect - <RequestCount;count=%d", count );
   124    	C_TRACE((_L("<RequestCount %d "), count));
   142    	C_TRACE((_L("<RequestCount %d "), count));
   125 #endif
   143 #endif
   126     return retVal;
   144     return retVal;
   127     }
   145     }
   128 
   146 
   129 EXPORT_C TInt RModemAtController::Disconnect()
   147 EXPORT_C TInt RModemAtController::Disconnect()
   130     {
   148     {
       
   149     OstTrace0( TRACE_NORMAL, RMODEMATCONTROLLER_DISCONNECT, "RModemAtController::Disconnect" );
   131     C_TRACE((_L("RModemAtController::Disconnect()")));
   150     C_TRACE((_L("RModemAtController::Disconnect()")));
   132 
   151 
   133 #ifdef _DEBUG
   152 #ifdef _DEBUG
   134     RThread thisRt;
   153     RThread thisRt;
   135     TInt count = thisRt.RequestCount();	
   154     TInt count = thisRt.RequestCount();	
       
   155    	OstTrace1( TRACE_NORMAL, DUP1_RMODEMATCONTROLLER_DISCONNECT, "RModemAtController::Disconnect - >RequestCount;count=%d", count );
   136    	C_TRACE((_L(">RequestCount %d "), count));
   156    	C_TRACE((_L(">RequestCount %d "), count));
   137 #endif
   157 #endif
   138 
   158 
       
   159 	OstTrace1( TRACE_NORMAL, DUP2_RMODEMATCONTROLLER_DISCONNECT, "RModemAtController::Disconnect - session base handle:;Handle()=%d", Handle() );
   139 	C_TRACE((_L("RModemAtController session base handle: %d "), Handle()));
   160 	C_TRACE((_L("RModemAtController session base handle: %d "), Handle()));
   140     if( Handle() )
       
   141 	    {
       
   142         C_TRACE((_L("RModemAtController::Disconnect() remove pipe")));
       
   143         SendReceiveRemovePipe();
       
   144         }
       
   145 
   161 
   146     ReceiveSignalIndCancel( );
   162     ReceiveSignalIndCancel( );
   147     GetCommandModeCancel();
   163     GetCommandModeCancel();
   148     ReceiveUnsolicitedResultCancel();
   164     ReceiveUnsolicitedResultCancel();
   149     HandleATCommandCancel();
   165     HandleATCommandCancel();
   150 
   166 
   151     Close();
   167     if( Handle() )
       
   168         {
       
   169         OstTrace0( TRACE_NORMAL, DUP3_RMODEMATCONTROLLER_DISCONNECT, "RModemAtController::Disconnect - remove pipe" );
       
   170         C_TRACE((_L("RModemAtController::Disconnect() remove pipe")));
       
   171         SendReceiveRemovePipe();
       
   172         Close();
       
   173         }
   152 
   174 
   153 #ifdef _DEBUG
   175 #ifdef _DEBUG
   154     count = thisRt.RequestCount();	
   176     count = thisRt.RequestCount();	
       
   177    	OstTrace1( TRACE_NORMAL, DUP4_RMODEMATCONTROLLER_DISCONNECT, "RModemAtController::Disconnect - <RequestCount;count=%d", count );
   155    	C_TRACE((_L("<RequestCount %d "), count));
   178    	C_TRACE((_L("<RequestCount %d "), count));
   156 #endif
   179 #endif
   157 
   180 
   158     return KErrNone;
   181     return KErrNone;
   159     } 
   182     } 
   160 
   183 
   161 EXPORT_C TInt RModemAtController::HandleATCommand(const TDesC8& aCommand, TDes8& aResponse ) 
   184 EXPORT_C TInt RModemAtController::HandleATCommand(const TDesC8& aCommand, TDes8& aResponse ) 
   162     {
   185     {
       
   186     OstTraceExt2( TRACE_NORMAL, RMODEMATCONTROLLER_HANDLEATCOMMAND, "RModemAtController::HandleATCommand;aCommand=%s;aResponse=%s", aCommand, aResponse );
   163     C_TRACE((_L("RModemAtController::HandleATCommand") ));
   187     C_TRACE((_L("RModemAtController::HandleATCommand") ));
   164     DUMP_MESSAGE( aCommand);
   188     DUMP_MESSAGE( aCommand);
   165     if( iAtRequest )
   189     if( iAtRequest )
   166         {
   190         {
   167         TRACE_ASSERT_ALWAYS;
   191         TRACE_ASSERT_ALWAYS;
   173     return KErrNone;
   197     return KErrNone;
   174     }
   198     }
   175 
   199 
   176 EXPORT_C TInt RModemAtController::HandleATCommandCancel()
   200 EXPORT_C TInt RModemAtController::HandleATCommandCancel()
   177     {
   201     {
       
   202     OstTrace0( TRACE_NORMAL, RMODEMATCONTROLLER_HANDLEATCOMMANDCANCEL, "RModemAtController::HandleATCommandCancel" );
   178     C_TRACE((_L("RModemAtController::HandleATCommandCancel")));
   203     C_TRACE((_L("RModemAtController::HandleATCommandCancel")));
   179     if( iAtRequest )
   204     if( iAtRequest )
   180         {
   205         {
       
   206         OstTrace0( TRACE_NORMAL, DUP1_RMODEMATCONTROLLER_HANDLEATCOMMANDCANCEL, "RModemAtController::HandleATCommandCancel - Cancelling..." );
   181         C_TRACE((_L("Cancelling...") ));
   207         C_TRACE((_L("Cancelling...") ));
   182         iAtRequest->Cancel();
   208         iAtRequest->Cancel();
   183         delete iAtRequest;
   209         delete iAtRequest;
   184         iAtRequest=NULL;
   210         iAtRequest=NULL;
   185         }
   211         }
   186     return KErrNone;
   212     return KErrNone;
   187     }
   213     }
   188 
   214 
   189 EXPORT_C TInt RModemAtController::ReceiveSignalInd()
   215 EXPORT_C TInt RModemAtController::ReceiveSignalInd()
   190     {
   216     {
       
   217     OstTrace0( TRACE_NORMAL, RMODEMATCONTROLLER_RECEIVESIGNALIND, "RModemAtController::ReceiveSignalInd" );
   191     C_TRACE((_L("RModemAtController::ReceiveSignalInd")));
   218     C_TRACE((_L("RModemAtController::ReceiveSignalInd")));
   192     if( iSignalIndReq ) 
   219     if( iSignalIndReq ) 
   193         {
   220         {
   194         TRACE_ASSERT_ALWAYS;
   221         TRACE_ASSERT_ALWAYS;
   195         return KErrAlreadyExists;
   222         return KErrAlreadyExists;
   200     }
   227     }
   201 
   228 
   202 
   229 
   203 EXPORT_C TInt RModemAtController::ReceiveSignalIndCancel( ) 
   230 EXPORT_C TInt RModemAtController::ReceiveSignalIndCancel( ) 
   204     {
   231     {
       
   232     OstTrace0( TRACE_NORMAL, RMODEMATCONTROLLER_RECEIVESIGNALINDCANCEL, "RModemAtController::ReceiveSignalIndCancel" );
   205     C_TRACE((_L("RModemAtController::ReceiveSignalIndCancel")));
   233     C_TRACE((_L("RModemAtController::ReceiveSignalIndCancel")));
   206     if( iSignalIndReq ) 
   234     if( iSignalIndReq ) 
   207         {
   235         {
       
   236         OstTrace0( TRACE_NORMAL, DUP1_RMODEMATCONTROLLER_RECEIVESIGNALINDCANCEL, "RModemAtController::ReceiveSignalIndCancel - Cancelling..." );
   208         C_TRACE((_L("Canceling...") ));
   237         C_TRACE((_L("Canceling...") ));
   209         iSignalIndReq->Cancel();
   238         iSignalIndReq->Cancel();
   210         delete iSignalIndReq;
   239         delete iSignalIndReq;
   211         iSignalIndReq = NULL; //iSignalIndReq will delete itself when cancelled
   240         iSignalIndReq = NULL; //iSignalIndReq will delete itself when cancelled
   212         }
   241         }
   213     return KErrNone;
   242     return KErrNone;
   214     }
   243     }
   215 
   244 
   216 EXPORT_C TInt RModemAtController::ReceiveUnsolicitedResult( TDes8& aResult )
   245 EXPORT_C TInt RModemAtController::ReceiveUnsolicitedResult( TDes8& aResult )
   217     {
   246     {
       
   247     OstTrace0( TRACE_NORMAL, RMODEMATCONTROLLER_RECEIVEUNSOLICITEDRESULT, "RModemAtController::ReceiveUnsolicitedResult" );
   218     C_TRACE((_L("RModemAtController::ReceiveUnsolicitedResult")));
   248     C_TRACE((_L("RModemAtController::ReceiveUnsolicitedResult")));
   219     if( iUnsolicitedDataReq ) 
   249     if( iUnsolicitedDataReq ) 
   220         {
   250         {
   221         TRACE_ASSERT_ALWAYS;
   251         OstTrace0( TRACE_NORMAL, DUP1_RMODEMATCONTROLLER_RECEIVEUNSOLICITEDRESULT, "RModemAtController::ReceiveUnsolicitedResult - cancel previous request" );
   222         return KErrAlreadyExists;
   252         C_TRACE((_L("RModemAtController::ReceiveUnsolicitedResult (cancel previous request)")));
       
   253         ReceiveUnsolicitedResultCancel();
   223         }
   254         }
   224     TRAPD( err, iUnsolicitedDataReq = new (ELeave) CUnsolicitedDataReq( this, aResult ) ); 
   255     TRAPD( err, iUnsolicitedDataReq = new (ELeave) CUnsolicitedDataReq( this, aResult ) ); 
   225     ASSERT_PANIC_ALWAYS( err == KErrNone );
   256     ASSERT_PANIC_ALWAYS( err == KErrNone );
   226     return KErrNone;
   257     return KErrNone;
   227     }
   258     }
   228 
   259 
   229 EXPORT_C  TInt RModemAtController::ReceiveUnsolicitedResultCancel( ) 
   260 EXPORT_C  TInt RModemAtController::ReceiveUnsolicitedResultCancel( ) 
   230     {
   261     {
       
   262     OstTrace0( TRACE_NORMAL, RMODEMATCONTROLLER_RECEIVEUNSOLICITEDRESULTCANCEL, "RModemAtController::ReceiveUnsolicitedResultCancel" );
   231     C_TRACE((_L("RModemAtController::ReceiveUnsolicitedResultCancel")));
   263     C_TRACE((_L("RModemAtController::ReceiveUnsolicitedResultCancel")));
   232     if( iUnsolicitedDataReq ) 
   264     if( iUnsolicitedDataReq ) 
   233         {
   265         {
       
   266         OstTrace0( TRACE_NORMAL, DUP1_RMODEMATCONTROLLER_RECEIVEUNSOLICITEDRESULTCANCEL, "RModemAtController::ReceiveUnsolicitedResultCancel - Canceling..." );
   234         C_TRACE((_L("Canceling...")));
   267         C_TRACE((_L("Canceling...")));
   235         iUnsolicitedDataReq->Cancel();
   268         iUnsolicitedDataReq->Cancel();
   236         delete iUnsolicitedDataReq;
   269         delete iUnsolicitedDataReq;
   237         iUnsolicitedDataReq = NULL;
   270         iUnsolicitedDataReq = NULL;
   238         }
   271         }
   239     return KErrNone;
   272     return KErrNone;
   240     }
   273     }
   241 
   274 
   242 EXPORT_C TInt RModemAtController::GetNvramStatus(TDesC8& aCommand, TDes8& aResponse ) 
   275 EXPORT_C TInt RModemAtController::GetNvramStatus(TDesC8& aCommand, TDes8& aResponse ) 
   243     {
   276     {
       
   277     OstTrace0( TRACE_NORMAL, RMODEMATCONTROLLER_GETNVRAMSTATUS, "RModemAtController::GetNvramStatus" );
   244     C_TRACE((_L("RModemAtController::GetNvramStatus")));
   278     C_TRACE((_L("RModemAtController::GetNvramStatus")));
   245     aResponse = _L8(""); //ensure, that response buffer is empty
   279     aResponse = _L8(""); //ensure, that response buffer is empty
   246     TInt status = SendReceive( EModemATGetNvramStatus, TIpcArgs(&aCommand, &aResponse));
   280     TInt status = SendReceive( EModemATGetNvramStatus, TIpcArgs(&aCommand, &aResponse));
   247     return status;
   281     return status;
   248     }
   282     }
   249 
   283 
   250 
   284 
   251 EXPORT_C TInt RModemAtController::GetCommandMode() 
   285 EXPORT_C TInt RModemAtController::GetCommandMode() 
   252     {
   286     {
       
   287     OstTrace0( TRACE_NORMAL, RMODEMATCONTROLLER_GETCOMMANDMODE, "RModemAtController::GetCommandMode" );
   253     C_TRACE((_L("RModemAtController::GetCommandMode")));
   288     C_TRACE((_L("RModemAtController::GetCommandMode")));
   254     
   289     
   255     if( iCommandModeReq )
   290     if( iCommandModeReq )
   256         {
   291         {
   257         TRACE_ASSERT_ALWAYS;
   292         TRACE_ASSERT_ALWAYS;
   262     return KErrNone;
   297     return KErrNone;
   263     }
   298     }
   264 
   299 
   265 EXPORT_C TInt RModemAtController::GetCommandModeCancel()
   300 EXPORT_C TInt RModemAtController::GetCommandModeCancel()
   266     {
   301     {
       
   302     OstTrace0( TRACE_NORMAL, RMODEMATCONTROLLER_GETCOMMANDMODECANCEL, "RModemAtController::GetCommandModeCancel" );
   267     C_TRACE((_L("RModemAtController::GetCommandMode")));
   303     C_TRACE((_L("RModemAtController::GetCommandMode")));
   268     if( iCommandModeReq )
   304     if( iCommandModeReq )
   269         {
   305         {
       
   306         OstTrace0( TRACE_NORMAL, DUP1_RMODEMATCONTROLLER_GETCOMMANDMODECANCEL, "RModemAtController::GetCommandModeCancel - Canceling..." );
   270         C_TRACE((_L("Canceling...")));
   307         C_TRACE((_L("Canceling...")));
   271         iCommandModeReq->Cancel();
   308         iCommandModeReq->Cancel();
   272         delete iCommandModeReq;
   309         delete iCommandModeReq;
   273         iCommandModeReq = NULL;
   310         iCommandModeReq = NULL;
   274         }
   311         }
   275     return KErrNone;
   312     return KErrNone;
   276     }
   313     }
   277 
   314 
   278 EXPORT_C TInt RModemAtController::RemovePipe()
   315 EXPORT_C TInt RModemAtController::RemovePipe()
   279     {
   316     {
       
   317     OstTrace0( TRACE_NORMAL, RMODEMATCONTROLLER_REMOVEPIPE, "RModemAtController::RemovePipe" );
   280     C_TRACE((_L("RModemAtController::RemovePipe")));
   318     C_TRACE((_L("RModemAtController::RemovePipe")));
   281     SendReceiveRemovePipe();
   319     SendReceiveRemovePipe();
   282     return KErrNone;
   320     return KErrNone;
   283     }
   321     }
   284 
   322 
   286 
   324 
   287 void RModemAtController::SendReceiveATCommand( const TDesC8& aCommand,
   325 void RModemAtController::SendReceiveATCommand( const TDesC8& aCommand,
   288     TDes8& aResponse, 
   326     TDes8& aResponse, 
   289     TRequestStatus& aStatus )
   327     TRequestStatus& aStatus )
   290     {
   328     {
       
   329     OstTraceExt2( TRACE_NORMAL, RMODEMATCONTROLLER_SENDRECEIVEATCOMMAND, "RModemAtController::SendReceiveATCommand;aCommand.Length()=%d;aResponse.Length()=%d", aCommand.Length(), aResponse.Length() );
   291     C_TRACE((_L("RModemAtController::SendReceiveATCommand acommand len=%d aresponse len=%d"), aCommand.Length(), aResponse.Length() ));
   330     C_TRACE((_L("RModemAtController::SendReceiveATCommand acommand len=%d aresponse len=%d"), aCommand.Length(), aResponse.Length() ));
   292     SendReceive( EModemATHandleCommand, TIpcArgs(&aCommand, &aResponse), aStatus);
   331     SendReceive( EModemATHandleCommand, TIpcArgs(&aCommand, &aResponse), aStatus);
   293     }
   332     }
   294 
   333 
   295 void  RModemAtController::SendReceiveUnsolicitedResult( TDes8& aResponse,TRequestStatus& aStatus) 
   334 void  RModemAtController::SendReceiveUnsolicitedResult( TDes8& aResponse,TRequestStatus& aStatus) 
   296     {
   335     {
       
   336     OstTrace0( TRACE_NORMAL, RMODEMATCONTROLLER_SENDRECEIVEUNSOLICITEDRESULT, "RModemAtController::SendReceiveUnsolicitedResult" );
   297     C_TRACE((_L("RModemAtController::SendReceiveUnsolicitedResult")));
   337     C_TRACE((_L("RModemAtController::SendReceiveUnsolicitedResult")));
   298     SendReceive( EReceiveUnsolicitedResult, TIpcArgs(&aResponse), aStatus);
   338     SendReceive( EReceiveUnsolicitedResult, TIpcArgs(&aResponse), aStatus);
   299     }
   339     }
   300 
   340 
   301 void RModemAtController::SendReceiveUnsolicitedResulCancel() 
   341 void RModemAtController::SendReceiveUnsolicitedResulCancel() 
   302     {        
   342     {        
       
   343     OstTrace0( TRACE_NORMAL, RMODEMATCONTROLLER_SENDRECEIVEUNSOLICITEDRESULCANCEL, "RModemAtController::SendReceiveUnsolicitedResulCancel" );
   303     C_TRACE((_L("RModemAtController::SendReceiveUnsolicitedResulCancel")));
   344     C_TRACE((_L("RModemAtController::SendReceiveUnsolicitedResulCancel")));
   304     TInt i = 0;
   345     TInt i = 0;
   305     SendReceive( EReceiveUnsolicitedResultCancel, TIpcArgs(i) );
   346     SendReceive( EReceiveUnsolicitedResultCancel, TIpcArgs(i) );
   306     }
   347     }
   307 
   348 
   308 void RModemAtController::SendReceiveSignalInd(TRequestStatus& aStatus) 
   349 void RModemAtController::SendReceiveSignalInd(TRequestStatus& aStatus) 
   309     {
   350     {
       
   351     OstTrace0( TRACE_NORMAL, RMODEMATCONTROLLER_SENDRECEIVESIGNALIND, "RModemAtController::SendReceiveSignalInd" );
   310     C_TRACE((_L("RModemAtController::SendReceiveSignalInd()")));
   352     C_TRACE((_L("RModemAtController::SendReceiveSignalInd()")));
   311     TInt value = 0;
   353     TInt value = 0;
   312     SendReceive( EModemATReceiveSignalInd, TIpcArgs(&value),aStatus);
   354     SendReceive( EModemATReceiveSignalInd, TIpcArgs(&value),aStatus);
   313     }
   355     }
   314 
   356 
   315 void RModemAtController::SendReceiveAtCommandCancel() 
   357 void RModemAtController::SendReceiveAtCommandCancel() 
   316     {
   358     {
       
   359     OstTrace0( TRACE_NORMAL, RMODEMATCONTROLLER_SENDRECEIVEATCOMMANDCANCEL, "RModemAtController::SendReceiveAtCommandCancel" );
   317     C_TRACE((_L("RModemAtController::SendReceiveAtCommandCancel()")));
   360     C_TRACE((_L("RModemAtController::SendReceiveAtCommandCancel()")));
   318     TInt i=0;
   361     TInt i=0;
   319     SendReceive( EModemATHandleCommandCancel,TIpcArgs(i));
   362     SendReceive( EModemATHandleCommandCancel,TIpcArgs(i));
   320     }
   363     }
   321 
   364 
   322 void RModemAtController::SignalIndReceived( TInt aErr ) 
   365 void RModemAtController::SignalIndReceived( TInt aErr ) 
   323     {
   366     {
       
   367     OstTrace1( TRACE_NORMAL, RMODEMATCONTROLLER_SIGNALINDRECEIVED, "RModemAtController::SignalIndReceived;aErr=%d", aErr );
   324     C_TRACE((_L("RModemAtController::SignalIndReceived(%d)"), aErr));
   368     C_TRACE((_L("RModemAtController::SignalIndReceived(%d)"), aErr));
   325     iObserver->HandleSignalIndication( aErr );
   369     iObserver->HandleSignalIndication( aErr );
   326     }
   370     }
   327 
   371 
   328 void RModemAtController::SendReceiveSignalIndCancel() 
   372 void RModemAtController::SendReceiveSignalIndCancel() 
   329     {
   373     {
       
   374     OstTrace0( TRACE_NORMAL, RMODEMATCONTROLLER_SENDRECEIVESIGNALINDCANCEL, "RModemAtController::SendReceiveSignalIndCancel" );
   330     C_TRACE((_L("RModemAtController::SendReceiveSignalIndCancel()")));
   375     C_TRACE((_L("RModemAtController::SendReceiveSignalIndCancel()")));
   331     TInt value = 0;
   376     TInt value = 0;
   332     SendReceive( EModemATReceiveSignalIndCancel, TIpcArgs(&value));
   377     SendReceive( EModemATReceiveSignalIndCancel, TIpcArgs(&value));
   333     }
   378     }
   334 
   379 
   335 void RModemAtController::ATCommandResponseReceived( TInt aErr ) 
   380 void RModemAtController::ATCommandResponseReceived( TInt aErr ) 
   336     {
   381     {
       
   382     OstTrace1( TRACE_NORMAL, RMODEMATCONTROLLER_ATCOMMANDRESPONSERECEIVED, "RModemAtController::ATCommandResponseReceived;aErr=%d", aErr );
   337     C_TRACE((_L("RModemAtController::ATCommandResponseReceived(%d)"), aErr));
   383     C_TRACE((_L("RModemAtController::ATCommandResponseReceived(%d)"), aErr));
   338     iObserver->HandleATCommandCompleted(aErr);
   384     iObserver->HandleATCommandCompleted(aErr);
   339     iAtRequest = NULL;
   385     iAtRequest = NULL;
   340     }
   386     }
   341 
   387 
   342 void RModemAtController::UnsolicitedResultReceived( TInt aErr ) 
   388 void RModemAtController::UnsolicitedResultReceived( TInt aErr ) 
   343     {
   389     {
       
   390     OstTrace1( TRACE_NORMAL, RMODEMATCONTROLLER_UNSOLICITEDRESULTRECEIVED, "RModemAtController::UnsolicitedResultReceived;aErr=%d", aErr );
   344     C_TRACE((_L("RModemAtController::UnsolicitedResultReceived(%d)"), aErr));
   391     C_TRACE((_L("RModemAtController::UnsolicitedResultReceived(%d)"), aErr));
   345     iObserver->HandleUnsolicitedResultReceived( aErr );
   392     iObserver->HandleUnsolicitedResultReceived( aErr );
   346     }
   393     }
   347 
   394 
   348 void RModemAtController::SendReceiveCommandMode(TDes8& aResponse, TRequestStatus& aStatus) 
   395 void RModemAtController::SendReceiveCommandMode(TDes8& aResponse, TRequestStatus& aStatus) 
   349     {
   396     {
       
   397     OstTrace0( TRACE_NORMAL, RMODEMATCONTROLLER_SENDRECEIVECOMMANDMODE, "RModemAtController::SendReceiveCommandMode" );
   350     C_TRACE((_L("RModemAtController::SendReceiveCommandMode()")));
   398     C_TRACE((_L("RModemAtController::SendReceiveCommandMode()")));
   351     SendReceive( EModemATCommandMode, TIpcArgs(&aResponse), aStatus);
   399     SendReceive( EModemATCommandMode, TIpcArgs(&aResponse), aStatus);
   352     }
   400     }
   353 
   401 
   354 void RModemAtController::SendReceiveCommandModeCancel() 
   402 void RModemAtController::SendReceiveCommandModeCancel() 
   355     {
   403     {
       
   404     OstTrace0( TRACE_NORMAL, RMODEMATCONTROLLER_SENDRECEIVECOMMANDMODECANCEL, "RModemAtController::SendReceiveCommandModeCancel" );
   356     C_TRACE((_L("RModemAtController::SendReceiveCommandModeCancel()")));
   405     C_TRACE((_L("RModemAtController::SendReceiveCommandModeCancel()")));
   357     TInt value = 0;
   406     TInt value = 0;
   358     SendReceive( EModemATCommandModeCancel, TIpcArgs(&value));
   407     SendReceive( EModemATCommandModeCancel, TIpcArgs(&value));
   359     }
   408     }
   360 
   409 
   361 void RModemAtController::CommandModeChanged( TInt aErr, TCommandMode aMode ) 
   410 void RModemAtController::CommandModeChanged( TInt aErr, TCommandMode aMode ) 
   362     {
   411     {
       
   412     OstTraceExt2( TRACE_NORMAL, RMODEMATCONTROLLER_COMMANDMODECHANGED, "RModemAtController::CommandModeChanged;aErr=%d;aMode=%d", aErr, aMode );
   363     C_TRACE((_L("RModemAtController::CommandModeChanged(%d, %d)"), aErr, aMode));
   413     C_TRACE((_L("RModemAtController::CommandModeChanged(%d, %d)"), aErr, aMode));
   364     iObserver->HandleCommandModeChanged( aErr, aMode );
   414     iObserver->HandleCommandModeChanged( aErr, aMode );
   365     }
   415     }
   366 
   416 
   367 TInt StartServer()
   417 TInt StartServer()
   368     {
   418     {
       
   419     OstTrace0( TRACE_NORMAL, _STARTSERVER, "::StartServer" );
   369     C_TRACE((_L("RModemAtController::StartServer()")));
   420     C_TRACE((_L("RModemAtController::StartServer()")));
   370     const TUidType serverUid( KNullUid, KNullUid, KATExtSrvUid3 );
   421     const TUidType serverUid( KNullUid, KNullUid, KATExtSrvUid3 );
   371     RProcess server;
   422     RProcess server;
   372     TInt retTemp = server.Create( KATExtSrvExe, KNullDesC, serverUid );
   423     TInt retTemp = server.Create( KATExtSrvExe, KNullDesC, serverUid );
   373     server.SetPriority( EPriorityHigh );
   424     server.SetPriority( EPriorityHigh );
   384     else
   435     else
   385         {
   436         {
   386         server.Resume();
   437         server.Resume();
   387         }
   438         }
   388     User::WaitForRequest( status );
   439     User::WaitForRequest( status );
       
   440     OstTrace1( TRACE_NORMAL, DUP1__STARTSERVER, "::StartServer - Server started;status.Int()=%d", status.Int() );
   389     C_TRACE((_L("Server started, code %d"), status.Int()));
   441     C_TRACE((_L("Server started, code %d"), status.Int()));
   390     retTemp = ( server.ExitType() == EExitPanic ) ? KErrGeneral : status.Int();
   442     retTemp = ( server.ExitType() == EExitPanic ) ? KErrGeneral : status.Int();
   391     server.Close();
   443     server.Close();
   392     return retTemp;
   444     return retTemp;
   393     }
   445     }
   394 
   446 
   395 void RModemAtController::SendReceiveRemovePipe()
   447 void RModemAtController::SendReceiveRemovePipe()
   396     {
   448     {
       
   449     OstTrace0( TRACE_NORMAL, RMODEMATCONTROLLER_SENDRECEIVEREMOVEPIPE, "RModemAtController::SendReceiveRemovePipe" );
   397     C_TRACE((_L(">>RModemAtController::SendReceiveRemovePipe()")));
   450     C_TRACE((_L(">>RModemAtController::SendReceiveRemovePipe()")));
   398     TInt value = 0;
   451     TInt value = 0;
   399     TRequestStatus removePipeStatus = KRequestPending;
   452     TRequestStatus removePipeStatus = KRequestPending;
   400     SendReceive( EModemAtRemovePipe, TIpcArgs(&value), removePipeStatus);
   453     SendReceive( EModemAtRemovePipe, TIpcArgs(&value), removePipeStatus);
   401     User::WaitForRequest( removePipeStatus );
   454     User::WaitForRequest( removePipeStatus );