eapol/eapol_framework/eapol_symbian/am/common/symbian/EapMessageQueue.cpp
changeset 52 c23bdf5a328a
parent 39 fe6b6762fccd
--- a/eapol/eapol_framework/eapol_symbian/am/common/symbian/EapMessageQueue.cpp	Fri Sep 17 08:30:11 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/common/symbian/EapMessageQueue.cpp	Mon Oct 04 00:19:54 2010 +0300
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 14 %
+* %version: 16 %
 */
 
 
@@ -208,9 +208,10 @@
 	EAP_TRACE_DEBUG(
 		iTools,
 		TRACE_FLAGS_DEFAULT,
-		(EAPL("EapMessageQueue::AddMessage(): this=0x%08x, message=%d, data=0x%08x, length=%d, iEapMessageQueue.Count()=%d\n"),
+		(EAPL("EapMessageQueue::AddMessage(): this=0x%08x, message=%d=%s, data=0x%08x, length=%d, iEapMessageQueue.Count()=%d\n"),
 		this,
 		message,
+		EapServerStrings::GetEapRequestsString(message),
 		data,
 		length,
 		iEapMessageQueue.Count()));
@@ -331,5 +332,57 @@
 }
 
 //----------------------------------------------------------------------------
+
+EAP_FUNC_EXPORT TInt EapMessageQueue::DeleteFirstMessage(const EapMessageBuffer * const verify_message)
+{
+	EAP_TRACE_DEBUG(
+		iTools,
+		TRACE_FLAGS_DEFAULT,
+		(EAPL("EapMessageQueue::DeleteFirstMessage(0x%08x): this=0x%08x\n"),
+		verify_message,
+		this));
+
+	EAP_TRACE_RETURN_STRING(iTools, "returns: EapMessageQueue::DeleteFirstMessage(verify_message)");
+
+	TInt aCount = iEapMessageQueue.Count();
+	if (aCount > 0)
+	{
+		EAP_TRACE_DEBUG(
+			iTools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("EapMessageQueue::DeleteFirstMessage(): iEapMessageQueue[0].iRequestType=%d=%s, iEapMessageQueue.Count()=%d, iEapMessageQueue[0]=0x%08x, verify_message=0x%08x\n"),
+			iEapMessageQueue[0]->GetRequestType(),
+			EapServerStrings::GetEapRequestsString(iEapMessageQueue[0]->GetRequestType()),
+			iEapMessageQueue.Count(),
+			iEapMessageQueue[0],
+			verify_message));
+
+		if (iEapMessageQueue[0] == verify_message)
+		{
+			delete iEapMessageQueue[0];
+			iEapMessageQueue.Remove(0);
+		}
+		else
+		{
+			EAP_TRACE_DEBUG(
+				iTools,
+				TRACE_FLAGS_DEFAULT,
+				(EAPL("WARNING: EapMessageQueue::DeleteFirstMessage(0x%08x): this=0x%08x, does not delete other message\n"),
+				verify_message,
+				this));
+		}
+	}
+	else
+	{
+		EAP_TRACE_DEBUG(
+			iTools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("EapMessageQueue::DeleteFirstMessage(): Empty array\n")));
+	}
+
+	return KErrNone;
+}
+
+//----------------------------------------------------------------------------
 // end