aboutsummaryrefslogtreecommitdiff
path: root/src/linkmessenger.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/linkmessenger.cpp')
-rw-r--r--src/linkmessenger.cpp41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/linkmessenger.cpp b/src/linkmessenger.cpp
new file mode 100644
index 0000000..3bd401a
--- /dev/null
+++ b/src/linkmessenger.cpp
@@ -0,0 +1,41 @@
1#include "linkmessenger.h"
2
3LinkMessenger::LinkMessenger() :
4 pFirst( NULL ),
5 pLast( NULL )
6{
7}
8
9LinkMessenger::~LinkMessenger()
10{
11}
12
13void LinkMessenger::enqueueMessage( LinkMessage *pMsg )
14{
15 if( pLast == NULL )
16 {
17 pFirst = pLast = new Link;
18 pLast->pMsg = pMsg;
19 pLast->pNext = NULL;
20 }
21 else
22 {
23 pLast->pNext = new Link;
24 pLast = pLast->pNext;
25 pLast->pMsg = pMsg;
26 pLast->pNext = NULL;
27 }
28}
29
30LinkMessage *LinkMessenger::dequeueMessage()
31{
32 if( pFirst == NULL )
33 return NULL;
34
35 Link *pTmp = pFirst;
36 pFirst = pFirst->pNext;
37 LinkMessage *pRet = pTmp->pMsg;
38 delete pTmp;
39 return pRet;
40}
41