LeviLamina
Loading...
Searching...
No Matches
ITaskQueue.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/comprehensive/IApi.h"
7#include "mc/deps/core/threading/XTaskQueuePort.h"
8
9// auto generated forward declare list
10// clang-format off
12struct XTaskQueueObject;
14// clang-format on
15
16struct ITaskQueue : public ::IApi {
17public:
18 // virtual functions
19 // NOLINTBEGIN
20 virtual ::XTaskQueueObject* GetHandle() = 0;
21
22 virtual HRESULT GetPortContext(::XTaskQueuePort port, ::ITaskQueuePortContext** portContext) = 0;
23
24 virtual HRESULT RegisterWaitHandle(
25 ::XTaskQueuePort port,
26 void* waitHandle,
27 void* callbackContext,
28 void (*callback)(void*, bool),
30 ) = 0;
31
32 virtual void UnregisterWaitHandle(::XTaskQueueRegistrationToken token) = 0;
33
34 virtual HRESULT RegisterSubmitCallback(
35 void* context,
36 void (*callback)(void*, ::XTaskQueueObject*, ::XTaskQueuePort),
38 ) = 0;
39
40 virtual void UnregisterSubmitCallback(::XTaskQueueRegistrationToken token) = 0;
41
42 virtual bool CanTerminate() = 0;
43
44 virtual bool CanClose() = 0;
45
46 virtual HRESULT Terminate(bool wait, void* callbackContext, void (*callback)(void*)) = 0;
47 // NOLINTEND
48
49public:
50 // virtual function thunks
51 // NOLINTBEGIN
52
53 // NOLINTEND
54};
Definition IApi.h:8
Definition ITaskQueuePortContext.h:16
Definition ITaskQueue.h:16
Definition XTaskQueueObject.h:5
Definition XTaskQueueRegistrationToken.h:5
Definition context.h:5