29 #ifndef _SML_QUEUE_INTERNALS_H_
30 #define _SML_QUEUE_INTERNALS_H_
32 typedef void (*SmlQueueHandler)(
void *message,
void *userdata);
50 GSourceFuncs *functions;
60 void smlQueueDetach(
SmlQueue *queue);
61 void smlQueueDispatch(
SmlQueue *queue);
62 void *smlQueueTryPop(
SmlQueue *queue);
63 SmlBool smlQueueCheck(
SmlQueue *queue);
64 void smlQueuePushHead(
SmlQueue *queue,
void *data);
65 SmlBool smlQueueIsAttached(
SmlQueue *queue);
67 void smlQueueUnlock(
SmlQueue *queue);
69 GList *smlQueuePeekNext(
SmlQueue *queue, GList *prev);
70 void *smlQueueTryPopPrio(
SmlQueue *queue);
71 void smlQueuePushHeadPrio(
SmlQueue *queue,
void *data);
73 SmlBool smlQueueCheckPrio(
SmlQueue *queue);
74 void smlQueueDispatchPrio(
SmlQueue *queue);
75 void *smlQueuePeekPrio(
SmlQueue *queue);
77 unsigned int smlQueueLength(
SmlQueue *queue);
78 unsigned int smlQueueLengthPrio(
SmlQueue *queue);
80 #endif //_SML_QUEUE_INTERNALS_H_
struct SmlQueue SmlQueue
Represents a Queue which can be used to receive messages.
void smlQueueSend(SmlQueue *queue, void *data)
Sends a message down a queue.
void smlQueueSetHandler(SmlQueue *queue, SmlQueueHandler handler, void *userdata)
Sets the message handler for a queue.
SmlQueue * smlQueueNew(SmlError **error)
Creates a new asynchronous queue.
Represents a Queue which can be used to receive messages.
void smlQueueAttach(SmlQueue *queue, GMainContext *context)
Sets the queue to use the gmainloop with the given context.
void smlQueueSendPrio(SmlQueue *queue, void *data)
Sends a message down a queue.