11typedef struct TaskQueue TaskQueue;
12typedef struct TaskQueue_WeakRef TaskQueue_WeakRef;
13typedef struct TQManager TQManager;
14typedef struct TQManager_WeakRef TQManager_WeakRef;
17#define _sti_TQManager _sti_object
18#define SType_TQManager TQManager*
19#define STStorageType_TQManager TQManager*
20#define STypeArg_TQManager(type, val) stgeneric(object, (ObjInst*)objInstCheckClass(TQManager, val))
21#define STypeArgPtr_TQManager(type, val) (stgeneric*)objInstCheckClassPtr(TQManager, val)
22#define STypeCheckedArg_TQManager(type, val) stType(type), stArg(type, val)
23#define STypeCheckedPtrArg_TQManager(type, val) stType(type), stArgPtr(type, val)
26#define MAX_MANAGER_INTERVAL (timeS(10))
28typedef struct TQManager_ClassIf {
33 bool (*start)(_In_
void* self, _In_ TaskQueue* tq);
34 bool (*stop)(_In_
void* self);
35 void (*notify)(_In_
void* self,
bool wakeup);
37 void (*pretask)(_In_
void* self);
38 int64 (*tick)(_In_
void* self);
40extern TQManager_ClassIf TQManager_ClassIf_tmpl;
42typedef struct TQManager {
56#define TQManager(inst) objInstCheckClass(TQManager, inst)
57#define TQManagerNone ((TQManager*)NULL)
59typedef struct TQManager_WeakRef {
62 void* _is_TQManager_WeakRef;
63 void* _is_ObjInst_WeakRef;
68#define TQManager_WeakRef(inst) objWeakRefCheckClass(TQManager, inst)
71#define tqmanagerStart(self, tq) (self)->_->start(TQManager(self), TaskQueue(tq))
73#define tqmanagerStop(self) (self)->_->stop(TQManager(self))
75#define tqmanagerNotify(self, wakeup) (self)->_->notify(TQManager(self), wakeup)
79#define tqmanagerPretask(self) (self)->_->pretask(TQManager(self))
81#define tqmanagerTick(self) (self)->_->tick(TQManager(self))
#define saDeclarePtr(name)
CX Struct System - Introspectable, serializable POD structures in C.
CX Object System - Object-oriented programming in C.
Shared types and configuration structures for the task queue system.