6#include "tqmthreadpool.h"
8typedef struct TaskQueue TaskQueue;
9typedef struct TaskQueue_WeakRef TaskQueue_WeakRef;
10typedef struct TaskQueue TaskQueue;
11typedef struct TaskQueue_WeakRef TaskQueue_WeakRef;
12typedef struct TQThreadPoolRunner TQThreadPoolRunner;
13typedef struct TQThreadPoolRunner_WeakRef TQThreadPoolRunner_WeakRef;
14typedef struct TQDedicatedManager TQDedicatedManager;
15typedef struct TQDedicatedManager_WeakRef TQDedicatedManager_WeakRef;
19typedef struct TQDedicatedManager_ClassIf {
24 bool (*start)(_In_
void* self, _In_ TaskQueue* tq);
25 bool (*stop)(_In_
void* self);
26 void (*notify)(_In_
void* self,
bool wakeup);
28 void (*pretask)(_In_
void* self);
29 int64 (*tick)(_In_
void* self);
30 void (*updatePoolSize)(_In_
void* self);
31} TQDedicatedManager_ClassIf;
32extern TQDedicatedManager_ClassIf TQDedicatedManager_ClassIf_tmpl;
34typedef struct TQDedicatedManager {
36 TQDedicatedManager_ClassIf* _;
37 void* _is_TQDedicatedManager;
38 void* _is_TQThreadPoolManager;
48 TQThreadPoolRunner* runner;
56#define TQDedicatedManager(inst) ((TQDedicatedManager*)(unused_noeval((inst) && &((inst)->_is_TQDedicatedManager)), (inst)))
57#define TQDedicatedManagerNone ((TQDedicatedManager*)NULL)
59typedef struct TQDedicatedManager_WeakRef {
62 void* _is_TQDedicatedManager_WeakRef;
63 void* _is_TQThreadPoolManager_WeakRef;
64 void* _is_TQManager_WeakRef;
65 void* _is_ObjInst_WeakRef;
69} TQDedicatedManager_WeakRef;
70#define TQDedicatedManager_WeakRef(inst) ((TQDedicatedManager_WeakRef*)(unused_noeval((inst) && &((inst)->_is_TQDedicatedManager_WeakRef)), (inst)))
74#define tqdedicatedmanagerCreate() TQDedicatedManager_create()
77#define tqdedicatedmanagerStart(self, tq) (self)->_->start(TQDedicatedManager(self), TaskQueue(tq))
79#define tqdedicatedmanagerStop(self) (self)->_->stop(TQDedicatedManager(self))
81#define tqdedicatedmanagerNotify(self, wakeup) (self)->_->notify(TQDedicatedManager(self), wakeup)
85#define tqdedicatedmanagerPretask(self) (self)->_->pretask(TQDedicatedManager(self))
87#define tqdedicatedmanagerTick(self) (self)->_->tick(TQDedicatedManager(self))
89#define tqdedicatedmanagerUpdatePoolSize(self) (self)->_->updatePoolSize(TQDedicatedManager(self))
#define saDeclarePtr(name)
#define _objfactory_guaranteed
CX Object System - Object-oriented programming in C.