8typedef struct TaskQueue TaskQueue;
9typedef struct TaskQueue_WeakRef TaskQueue_WeakRef;
10typedef struct TQRunner TQRunner;
11typedef struct TQRunner_WeakRef TQRunner_WeakRef;
15typedef struct TQRunner_ClassIf {
20 bool (*start)(_In_
void* self, _In_ TaskQueue* tq);
21 int64 (*tick)(_In_
void* self);
22 bool (*stop)(_In_
void* self);
24extern TQRunner_ClassIf TQRunner_ClassIf_tmpl;
26typedef struct TQRunner {
40#define TQRunner(inst) ((TQRunner*)(unused_noeval((inst) && &((inst)->_is_TQRunner)), (inst)))
41#define TQRunnerNone ((TQRunner*)NULL)
43typedef struct TQRunner_WeakRef {
46 void* _is_TQRunner_WeakRef;
47 void* _is_ObjInst_WeakRef;
52#define TQRunner_WeakRef(inst) ((TQRunner_WeakRef*)(unused_noeval((inst) && &((inst)->_is_TQRunner_WeakRef)), (inst)))
55#define tqrunnerStart(self, tq) (self)->_->start(TQRunner(self), TaskQueue(tq))
57#define tqrunnerTick(self) (self)->_->tick(TQRunner(self))
59#define tqrunnerStop(self) (self)->_->stop(TQRunner(self))
#define saDeclarePtr(name)
CX Object System - Object-oriented programming in C.
Shared types and configuration structures for the task queue system.