summaryrefslogtreecommitdiff
path: root/protocols/SkypeClassic/src/msgq.cpp
diff options
context:
space:
mode:
authorVadim Dashevskiy <watcherhd@gmail.com>2015-05-31 18:18:59 +0000
committerVadim Dashevskiy <watcherhd@gmail.com>2015-05-31 18:18:59 +0000
commitee073251eba82de6a4632b467b1574baddd6aeaa (patch)
tree5fbadbc4e2068d60fba4de2ee9f7170bd2506582 /protocols/SkypeClassic/src/msgq.cpp
parentafdb3f779b8d9059a474882ad78974b3ce021ff7 (diff)
SkypeClassic moved to deprecated
git-svn-id: http://svn.miranda-ng.org/main/trunk@13943 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'protocols/SkypeClassic/src/msgq.cpp')
-rw-r--r--protocols/SkypeClassic/src/msgq.cpp90
1 files changed, 0 insertions, 90 deletions
diff --git a/protocols/SkypeClassic/src/msgq.cpp b/protocols/SkypeClassic/src/msgq.cpp
deleted file mode 100644
index e1ab0d1998..0000000000
--- a/protocols/SkypeClassic/src/msgq.cpp
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Implements a simple message queue for send and receive queue.
- * We could use memlist.c, but it's not efficient
- * enough for this purpose (would always memmove on removing first
- * element), therefore it's implemented as tail queue.
- */
-
-#include "skype.h"
-#include "msgq.h"
-#include "debug.h"
-
-
-void MsgQ_Init(TYP_MSGQ *q)
-{
- TAILQ_INIT(&q->l);
- InitializeCriticalSection (&q->cs);
-}
-
-void MsgQ_Exit(TYP_MSGQ *q)
-{
- struct MsgQueue *ptr;
-
- EnterCriticalSection(&q->cs);
- while ((ptr=q->l.tqh_first) != NULL)
- free(MsgQ_RemoveMsg(q, ptr));
- LeaveCriticalSection(&q->cs);
- DeleteCriticalSection (&q->cs);
-}
-
-BOOL MsgQ_Add(TYP_MSGQ *q, char *msg)
-{
- struct MsgQueue *ptr;
-
- if ((ptr=(struct MsgQueue*)malloc(sizeof(struct MsgQueue))) == NULL)
- return FALSE;
- ptr->message = _strdup(msg); // Don't forget to free!
- ptr->tAdded = SkypeTime(NULL);
- SkypeTime(&ptr->tReceived);
- EnterCriticalSection(&q->cs);
- TAILQ_INSERT_TAIL(&q->l, ptr, l);
- //LOG (("MsgQ_Add (%s) @%lu/%ld", msg, ptr->tReceived, ptr->tAdded));
- LeaveCriticalSection(&q->cs);
- return TRUE;
-}
-
-char *MsgQ_RemoveMsg(TYP_MSGQ *q, struct MsgQueue *ptr)
-{
- char *msg;
-
- if (!ptr) return NULL;
- EnterCriticalSection(&q->cs);
- TAILQ_REMOVE(&q->l, ptr, l);
- LeaveCriticalSection(&q->cs);
- msg=ptr->message;
- free(ptr);
- return msg;
-}
-
-char *MsgQ_Get(TYP_MSGQ *q)
-{
- char *msg;
-
- msg=MsgQ_RemoveMsg(q, q->l.tqh_first);
- return msg;
-}
-
-int MsgQ_CollectGarbage(TYP_MSGQ *q, time_t age)
-{
- struct MsgQueue *ptr;
- int i=0;
-
- EnterCriticalSection(&q->cs);
- ptr=q->l.tqh_first;
- while (ptr)
- {
- if (ptr->tAdded && SkypeTime(NULL)-ptr->tAdded>age)
- {
- struct MsgQueue *ptr_;
- LOG(("GarbageCollector throwing out message: %s", ptr->message));
- ptr_=ptr;
- ptr=ptr->l.tqe_next;
- free(MsgQ_RemoveMsg(q, ptr_));
- i++;
- continue;
- }
- ptr=ptr->l.tqe_next;
- }
- LeaveCriticalSection(&q->cs);
- return i;
-}