VuMessage *PeekVuMessage() { return *read_; }
virtual VuMessage *DispatchVuMessage(VU_BOOL
autod = FALSE);
int DispatchAllMessages(VU_BOOL autod = FALSE);
static int PostVuMessage(VuMessage *event);
static void FlushAllQueues();
static int InvalidateMessages(VU_BOOL (*evalFunc)(VuMessage*,
void*), void *);
int InvalidateQueueMessages(VU_BOOL (*evalFunc)(VuMessage*,
void*), void *);
protected:
// called when queue is about to wrap -- default does nothing
& returns FALSE
virtual VU_BOOL ReallocQueue();
virtual int AddMessage(VuMessage *event);
// called only by PostVuMessage()
static void RepostMessage(VuMessage *event, int delay);
// DATA
protected:
VuMessage **head_;
// also queue mem store
VuMessage **read_;
VuMessage **write_;
VuMessage **tail_;
VuMessageFilter *filter_;
private:
static
VuMessageQueue *queuecollhead_;
VuMessageQueue *nextqueue_;
};