bluetoothengine/btmac/src/BTMonoCmdHandler/HfpAtCmdhandler.cpp
changeset 51 625f43ae9362
parent 31 a0ea99b6fa53
child 72 4b59561a31c0
--- a/bluetoothengine/btmac/src/BTMonoCmdHandler/HfpAtCmdhandler.cpp	Tue Jul 27 13:42:03 2010 +0300
+++ b/bluetoothengine/btmac/src/BTMonoCmdHandler/HfpAtCmdhandler.cpp	Fri Aug 06 16:43:21 2010 +0300
@@ -49,20 +49,24 @@
         {
         iATExtClient.Close();
         }
+   iCmdBuffer.Close();
+   iSystemReply.Close();
+   delete iRecvBuffer;
+   delete iReplyBuffer;
 }
 
 void CHFPAtCmdHandler::HandleCommand(const TDesC8& aAT, const TDesC8& aReply)
     {
     TRACE_INFO((_L8("default reply '%S'"), &aReply))
     iCmdBuffer.Copy(aAT);
-    iReplyBuffer.Zero();
+    iReplyBuffer->Zero();
     if (aReply.Length())
         {
-        iReplyBuffer.Copy(aReply);
+        iReplyBuffer->Copy(aReply);
         iSystemReply.Copy(aReply);
-        }
+        } 
     iATExtClient.HandleCommand(iCommander->iStatus, 
-            iCmdBuffer, iReplyBuffer, iRemainingReplyLengthPckg, iReplyTypePckg);
+            iCmdBuffer, *iReplyBuffer, iRemainingReplyLengthPckg, iReplyTypePckg);
     iCommander->GoActive(); 
     }
 
@@ -79,16 +83,16 @@
                 if (iRemainingReplyLengthPckg())
                     {
                     TRACE_INFO((_L8("reply '%S'"), &iReplyBuffer))
-                    iObserver.ATExtHandleReplyReceivedL(err, iReplyBuffer);
+                    iObserver.ATExtHandleReplyReceivedL(err, *iReplyBuffer);
                     do 
                         {
                         TRACE_INFO((_L8("iRemainingReplyLength '%d'"), iRemainingReplyLengthPckg()))
                         RBuf8 reply;
                         reply.CreateL(iRemainingReplyLengthPckg());
-                        err = iATExtClient.GetNextPartOfReply(iRecvBuffer, iRemainingReplyLengthPckg());
+                        err = iATExtClient.GetNextPartOfReply(*iRecvBuffer, iRemainingReplyLengthPckg());
                         if (!err)
                             {
-                            reply.Insert(0, iRecvBuffer);
+                            reply.Insert(0, *iRecvBuffer);
                             }
                         TRACE_INFO((_L8("reply '%S'"), &reply))
                         iObserver.ATExtHandleReplyReceivedL(err, reply);
@@ -98,8 +102,8 @@
                     }
                 else
                     {
-                    TRACE_INFO((_L8("reply '%S'"), &iReplyBuffer))
-                    iObserver.ATExtHandleReplyReceivedL(err, iReplyBuffer);
+                    TRACE_INFO((_L8("reply '%S'"), iReplyBuffer))
+                    iObserver.ATExtHandleReplyReceivedL(err, *iReplyBuffer);
                     }
                 }
             else
@@ -159,6 +163,10 @@
     
     StartUrc();
     iCommander = CBtmcActive::NewL(*this, CActive::EPriorityStandard, EHandleCommandRequest);
+    iCmdBuffer.CreateL(KDefaultCmdBufLength);
+    iRecvBuffer = new (ELeave) TBuf8<KDefaultCmdBufLength>();
+    iReplyBuffer = new (ELeave) TBuf8<KDefaultCmdBufLength>();
+    iSystemReply.CreateL(KDefaultUrcBufLength);
     TRACE_FUNC_EXIT
     }