3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/comprehensive/Api.h"
7#include "mc/deps/core/threading/ITaskQueue.h"
8#include "mc/deps/core/threading/XTaskQueueDispatchMode.h"
9#include "mc/deps/core/threading/XTaskQueuePort.h"
28 enum class TerminationLevel :
int {
93 virtual ::XTaskQueueObject* GetHandle() ;
99 virtual HRESULT RegisterWaitHandle(
100 ::XTaskQueuePort port,
102 void* callbackContext,
103 void (*callback)(
void*,
bool),
111 virtual HRESULT RegisterSubmitCallback(
121 virtual bool CanTerminate() ;
124 virtual bool CanClose() ;
127 virtual HRESULT Terminate(
bool wait,
void* callbackContext,
void (*callback)(
void*)) ;
130 virtual void RundownObject() ;
139 ::XTaskQueueDispatchMode workMode,
140 ::XTaskQueueDispatchMode completionMode,
141 bool allowTermination,
168 ::XTaskQueuePort port,
170 void* callbackContext,
171 void (*callback)(
void*,
bool),
189 MCNAPI HRESULT
$Terminate(
bool wait,
void* callbackContext,
void (*callback)(
void*));
Definition TaskQueueImpl.h:19
static MCAPI void OnTerminationCallback(void *context)
static MCAPI void ** $vftable()
MCAPI HRESULT $Terminate(bool wait, void *callbackContext, void(*callback)(void *))
MCAPI long Initialize(::XTaskQueueDispatchMode workMode, ::XTaskQueueDispatchMode completionMode, bool allowTermination, bool allowClose)
MCAPI::XTaskQueueObject * $GetHandle()
MCAPI void $UnregisterSubmitCallback(::XTaskQueueRegistrationToken token)
MCAPI HRESULT $GetPortContext(::XTaskQueuePort port, ::ITaskQueuePortContext **portContext)
MCAPI HRESULT $RegisterWaitHandle(::XTaskQueuePort port, void *waitHandle, void *callbackContext, void(*callback)(void *, bool), ::XTaskQueueRegistrationToken *token)
MCAPI void $UnregisterWaitHandle(::XTaskQueueRegistrationToken token)
MCAPI HRESULT $RegisterSubmitCallback(void *context, void(*callback)(void *, ::XTaskQueueObject *, ::XTaskQueuePort), ::XTaskQueueRegistrationToken *token)
MCAPI long Initialize(::XTaskQueuePortObject *workPort, ::XTaskQueuePortObject *completionPort)
MCAPI bool $CanTerminate()
MCAPI void $RundownObject()
Definition ITaskQueuePortContext.h:16
Definition TaskQueueImpl.h:52
Definition TaskQueueImpl.h:34
Definition XTaskQueueObject.h:5
Definition XTaskQueuePortObject.h:5
Definition XTaskQueueRegistrationToken.h:5