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, ::ITaskQueuePortContext**) = 0;
23
24 virtual HRESULT
25 RegisterWaitHandle(::XTaskQueuePort, void*, void*, void (*)(void*, bool), ::XTaskQueueRegistrationToken*) = 0;
26
27 virtual void UnregisterWaitHandle(::XTaskQueueRegistrationToken) = 0;
28
29 virtual HRESULT RegisterSubmitCallback(
30 void*,
31 void (*)(void*, ::XTaskQueueObject*, ::XTaskQueuePort),
33 ) = 0;
34
35 virtual void UnregisterSubmitCallback(::XTaskQueueRegistrationToken) = 0;
36
37 virtual bool CanTerminate() = 0;
38
39 virtual bool CanClose() = 0;
40
41 virtual HRESULT Terminate(bool, void*, void (*)(void*)) = 0;
42 // NOLINTEND
43
44public:
45 // virtual function thunks
46 // NOLINTBEGIN
47
48 // NOLINTEND
49};
Definition IApi.h:8
Definition ITaskQueuePortContext.h:16
Definition ITaskQueue.h:16
Definition XTaskQueueObject.h:5
Definition XTaskQueueRegistrationToken.h:5