--- a/localconnectivityservice/dun/atext/src/DunAtCmdPusher.cpp Thu Jul 15 19:38:28 2010 +0300
+++ b/localconnectivityservice/dun/atext/src/DunAtCmdPusher.cpp Thu Aug 19 10:46:39 2010 +0300
@@ -103,19 +103,24 @@
// Starts AT command handling
// ---------------------------------------------------------------------------
//
-TInt CDunAtCmdPusher::IssueRequest( TDesC8& aCommand, TBool aNormalMode )
+TInt CDunAtCmdPusher::IssueRequest( TDesC8& aInput, TBool aNormalMode )
{
FTRACE(FPrint( _L("CDunAtCmdPusher::IssueRequest()") ));
FTRACE(FPrint( _L("CDunAtCmdPusher::IssueRequest() send ATEXT:") ));
- FTRACE(FPrintRaw(aCommand) );
+ FTRACE(FPrintRaw(aInput) );
if ( iAtPushState!=EDunStateIdle && aNormalMode )
{
FTRACE(FPrint( _L("CDunAtCmdPusher::IssueRequest() (not ready) complete") ));
return KErrNotReady;
}
+ if ( iDownstream->IsDataInQueue(&iRecvBuffer) )
+ {
+ FTRACE(FPrint( _L("CDunAtCmdPusher::IssueRequest() (in queue!) complete") ));
+ return KErrGeneral;
+ }
iStatus = KRequestPending;
iAtCmdExt->HandleCommand( iStatus,
- aCommand,
+ aInput,
iRecvBuffer,
iReplyLeftPckg,
iReplyTypePckg );
@@ -132,6 +137,7 @@
TInt CDunAtCmdPusher::Stop()
{
FTRACE(FPrint( _L("CDunAtCmdPusher::Stop()") ));
+ SetEndOfCmdLine();
if ( iAtPushState != EDunStateAtCmdPushing )
{
FTRACE(FPrint( _L("CDunAtCmdHandler::Stop() (not ready) complete" )));
@@ -142,7 +148,6 @@
// idle eventually), cancel the actual operation in DoCancel()
Cancel();
iAtPushState = EDunStateIdle;
- SetEndOfCmdLine();
FTRACE(FPrint( _L("CDunAtCmdPusher::Stop() complete") ));
return KErrNone;
}
@@ -480,8 +485,9 @@
// First check if error or stop condition detected
if ( iReplyType==EReplyTypeError || iStop )
{
+ SetEndOfCmdLine();
+ iAtPushState = EDunStateIdle;
iCallback->NotifyEndOfCmdLineProcessing();
- iAtPushState = EDunStateIdle;
FTRACE(FPrint( _L("CDunAtCmdPusher::NotifyDataPushComplete() (error reply) complete") ));
return;
}