--- a/bluetoothengine/btmac/src/BTMonoCmdHandler/HfpAtCmdhandler.cpp Tue May 11 16:23:08 2010 +0300
+++ b/bluetoothengine/btmac/src/BTMonoCmdHandler/HfpAtCmdhandler.cpp Tue May 25 12:53:11 2010 +0300
@@ -63,7 +63,7 @@
}
iATExtClient.HandleCommand(iCommander->iStatus,
iCmdBuffer, iReplyBuffer, iRemainingReplyLengthPckg, iReplyTypePckg);
- iCommander->GoActive();
+ iCommander->GoActive();
}
void CHFPAtCmdHandler::RequestCompletedL(CBtmcActive& aActive, TInt aErr)
@@ -74,32 +74,37 @@
{
case EHandleCommandRequest:
{
- if(err == KErrNone)
- {
- if (iRemainingReplyLengthPckg())
- {
- /*RBuf8 reply2;
- reply2.CreateL(iRemainingReplyLengthPckg() + iReplyBuffer.Length());
- err = iATExtClient.GetNextPartOfReply(reply2, iRemainingReplyLengthPckg);
- if (!err)
+ if(err == KErrNone)
+ {
+ if (iRemainingReplyLengthPckg())
+ {
+ TRACE_INFO((_L8("reply '%S'"), &iReplyBuffer))
+ iObserver.ATExtHandleReplyReceivedL(err, iReplyBuffer);
+ do
{
- reply2.Insert(0, iReplyBuffer);
+ TRACE_INFO((_L8("iRemainingReplyLength '%d'"), iRemainingReplyLengthPckg()))
+ RBuf8 reply;
+ reply.CreateL(iRemainingReplyLengthPckg());
+ err = iATExtClient.GetNextPartOfReply(iRecvBuffer, iRemainingReplyLengthPckg());
+ if (!err)
+ {
+ reply.Insert(0, iRecvBuffer);
+ }
+ TRACE_INFO((_L8("reply '%S'"), &reply))
+ iObserver.ATExtHandleReplyReceivedL(err, reply);
+ reply.Close();
}
- TRACE_INFO((_L8("reply '%S'"), &reply2))
- iObserver.ATExtHandleCommandCompletedL(err, reply2);
- reply2.Close();*/
- iATExtClient.GetNextPartOfReply( iRecvBuffer,
- iRemainingReplyLength );
- }
- else
- {
+ while (iRemainingReplyLengthPckg());
+ }
+ else
+ {
TRACE_INFO((_L8("reply '%S'"), &iReplyBuffer))
- iObserver.ATExtHandleCommandCompletedL(err, iReplyBuffer);
- }
- }
+ iObserver.ATExtHandleReplyReceivedL(err, iReplyBuffer);
+ }
+ }
else
{
- iObserver.ATExtHandleCommandCompletedL(err, iSystemReply);
+ iObserver.ATExtHandleReplyReceivedL(err, iSystemReply);
}
break;
}