BLE fota Lamp Demo

Dependencies:   mbed-rtos mbed mbed_fota_fan_control

Fork of mbed_fota_fan_control by KIM HyoengJun

Revision:
0:a1f6b1ba8a1e
Child:
1:5cf3a6c969be
diff -r 000000000000 -r a1f6b1ba8a1e ext_fota/MsgQueue.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ext_fota/MsgQueue.cpp	Mon Jun 22 07:19:59 2015 +0000
@@ -0,0 +1,64 @@
+#include "msg_queue.h"
+#include "mbed.h"
+
+namespace sevencore_fota{
+    
+Msg_Queue::Msg_Queue(int MaxSize):MaxNum(MaxSize)
+{
+    Front = NULL;
+    Rear = NULL;
+    ElemCnt = 0;
+}
+
+Msg_Queue::~Msg_Queue(void)
+{
+}
+
+void Msg_Queue::EnQueue(void *vData)
+{
+    Element *tmp = new Element;
+    tmp->Data = vData;
+    tmp->Next = NULL;
+    ElemCnt++;
+    if( Front == NULL)
+    {
+        Front = tmp;
+        Rear = tmp;
+    }else
+    {
+        Rear->Next = tmp;
+        Rear = tmp;
+    }    
+}
+
+void *Msg_Queue::DeQueue(void)
+{
+    void *tmp;
+    Element *tmpElem;
+    
+    if(Front == NULL)
+        return NULL;
+    
+    ElemCnt--;
+    tmpElem = Front;
+    Front = tmpElem->Next;
+    tmp = tmpElem->Data;
+    free(tmpElem);
+    
+    return tmp;
+}   
+
+int Msg_Queue::GetElementCount(void)
+{
+    return ElemCnt;
+}
+
+bool Msg_Queue::IsEmpty(void)
+{
+    if( Front == NULL)
+        return false;
+    else
+        return true;
+}
+
+}//namespace