11typedef struct TaskQueue TaskQueue;
12typedef struct TaskQueue_WeakRef TaskQueue_WeakRef;
13typedef struct TQManualWorker TQManualWorker;
14typedef struct TQManualWorker_WeakRef TQManualWorker_WeakRef;
17#define _sti_TQManualWorker _sti_object
18#define SType_TQManualWorker TQManualWorker*
19#define STStorageType_TQManualWorker TQManualWorker*
20#define STypeArg_TQManualWorker(type, val) stgeneric(object, (ObjInst*)objInstCheckClass(TQManualWorker, val))
21#define STypeArgPtr_TQManualWorker(type, val) (stgeneric*)objInstCheckClassPtr(TQManualWorker, val)
22#define STypeCheckedArg_TQManualWorker(type, val) stType(type), stArg(type, val)
23#define STypeCheckedPtrArg_TQManualWorker(type, val) stType(type), stArgPtr(type, val)
25typedef struct TQManualWorker_ClassIf {
32 void (*onStart)(_In_
void* self, _In_ TaskQueue* tq);
34 int64 (*tick)(_In_
void* self, _In_ TaskQueue* tq);
36 void (*onStop)(_In_
void* self, _In_ TaskQueue* tq);
37} TQManualWorker_ClassIf;
38extern TQManualWorker_ClassIf TQManualWorker_ClassIf_tmpl;
40typedef struct TQManualWorker {
42 TQManualWorker_ClassIf* _;
43 void* _is_TQManualWorker;
53#define TQManualWorker(inst) objInstCheckClass(TQManualWorker, inst)
54#define TQManualWorkerNone ((TQManualWorker*)NULL)
56typedef struct TQManualWorker_WeakRef {
59 void* _is_TQManualWorker_WeakRef;
60 void* _is_TQWorker_WeakRef;
61 void* _is_ObjInst_WeakRef;
65} TQManualWorker_WeakRef;
66#define TQManualWorker_WeakRef(inst) objWeakRefCheckClass(TQManualWorker, inst)
70#define tqmanualworkerCreate() TQManualWorker_create()
76#define tqmanualworkerOnStart(self, tq) (self)->_->onStart(TQManualWorker(self), TaskQueue(tq))
80#define tqmanualworkerTick(self, tq) (self)->_->tick(TQManualWorker(self), TaskQueue(tq))
84#define tqmanualworkerOnStop(self, tq) (self)->_->onStop(TQManualWorker(self), TaskQueue(tq))
#define saDeclarePtr(name)
#define _objfactory_guaranteed
CX Struct System - Introspectable, serializable POD structures in C.
CX Object System - Object-oriented programming in C.