sevencore fota solution development project
ext_fota/MsgQueue.cpp
- Committer:
- dudnwjs
- Date:
- 2015-06-22
- Revision:
- 1:5cf3a6c969be
- Parent:
- 0:a1f6b1ba8a1e
- Child:
- 8:9eec2c246a85
File content as of revision 1:5cf3a6c969be:
#include "MsgQueue.h" #include "mbed.h" namespace sevencore_fota{ MsgQueue::MsgQueue(int MaxSize):MaxNum(MaxSize) { Front = NULL; Rear = NULL; ElemCnt = 0; } MsgQueue::~MsgQueue(void) { } void MsgQueue::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 *MsgQueue::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 MsgQueue::GetElementCount(void) { return ElemCnt; } bool MsgQueue::IsEmpty(void) { if( Front == NULL) return false; else return true; } }//namespace