9typedef struct TaskQueue TaskQueue;
10typedef struct TaskQueue_WeakRef TaskQueue_WeakRef;
11typedef struct TQThreadWorker TQThreadWorker;
12typedef struct TQThreadWorker_WeakRef TQThreadWorker_WeakRef;
16typedef struct TQThreadWorker_ClassIf {
23 void (*onStart)(_In_
void* self, _In_ TaskQueue* tq);
25 int64 (*tick)(_In_
void* self, _In_ TaskQueue* tq);
27 void (*onStop)(_In_
void* self, _In_ TaskQueue* tq);
28 bool (*startThread)(_In_
void* self, _In_ TaskQueue* tq);
29} TQThreadWorker_ClassIf;
30extern TQThreadWorker_ClassIf TQThreadWorker_ClassIf_tmpl;
32typedef struct TQThreadWorker {
34 TQThreadWorker_ClassIf* _;
35 void* _is_TQThreadWorker;
50#define TQThreadWorker(inst) ((TQThreadWorker*)(unused_noeval((inst) && &((inst)->_is_TQThreadWorker)), (inst)))
51#define TQThreadWorkerNone ((TQThreadWorker*)NULL)
53typedef struct TQThreadWorker_WeakRef {
56 void* _is_TQThreadWorker_WeakRef;
57 void* _is_TQWorker_WeakRef;
58 void* _is_ObjInst_WeakRef;
62} TQThreadWorker_WeakRef;
63#define TQThreadWorker_WeakRef(inst) ((TQThreadWorker_WeakRef*)(unused_noeval((inst) && &((inst)->_is_TQThreadWorker_WeakRef)), (inst)))
67#define tqthreadworkerCreate(num) TQThreadWorker_create(num)
73#define tqthreadworkerOnStart(self, tq) (self)->_->onStart(TQThreadWorker(self), TaskQueue(tq))
77#define tqthreadworkerTick(self, tq) (self)->_->tick(TQThreadWorker(self), TaskQueue(tq))
81#define tqthreadworkerOnStop(self, tq) (self)->_->onStop(TQThreadWorker(self), TaskQueue(tq))
83#define tqthreadworkerStartThread(self, tq) (self)->_->startThread(TQThreadWorker(self), TaskQueue(tq))
#define saDeclarePtr(name)
#define _objfactory_guaranteed
bool(* TQUICallback)(TaskQueue *tq)
Threading system aggregated header.
CX Object System - Object-oriented programming in C.