Neonode zForce(TM) SDK
Queue.h
Go to the documentation of this file.
1 
12 #if !defined(QUEUE_QUEUE_H) && !defined(CONTAINS_QUEUE)
13 
14 #ifndef ZFORCECOMMON_H
15  #error Please include "zForceCommon.h" before this file.
16 #endif // ZFORCECOMMON_H
17 
21 typedef struct Queue Queue;
25 struct Queue
26 {
27 #endif // !defined(QUEUE_QUEUE_H) && !defined(CONTAINS_QUEUE)
28 #if !defined(QUEUE_QUEUE_H) || defined(CONTAINS_QUEUE)
30  void * QueuePrivate;
31 
45  void ( * Destructor)(Queue * self);
63  bool ( * Enqueue)(Queue * self, void * payload);
84  void * ( * Dequeue)(Queue * self, uint32_t timeoutMilliSeconds);
85 #endif // !defined(QUEUE_QUEUE_H) || defined(CONTAINS_QUEUE)
86 #if !defined(QUEUE_QUEUE_H) && !defined(CONTAINS_QUEUE)
87 };
88 
89 #ifdef __cplusplus
90 extern "C"
91 {
92 #endif // __cplusplus
93 
107 DLLEXTERNAL Queue * Queue_New (void);
108 
109 #ifdef __cplusplus
110 }
111 #endif // __cplusplus
112 
113 #define QUEUE_QUEUE_H
114 #endif // !defined(QUEUE_QUEUE_H) && !defined(CONTAINS_QUEUE)
115 
zForce * zForce
Pointer to zForce.
Definition: Queue.h:29
bool(* Enqueue)(Queue *self, void *payload)
Add an entry to the queue.
Definition: Queue.h:63
The Queue struct.
Definition: Queue.h:25
Main struct.
Definition: zForce.h:28
void * QueuePrivate
Private Queue data.
Definition: Queue.h:30
void(* Destructor)(Queue *self)
Destroys the Queue, freeing any resources but NOT contents.
Definition: Queue.h:45
DLLEXTERNAL Queue * Queue_New(void)
Create a new Queue.