LeviLamina
Loading...
Searching...
No Matches
InvocationStateTracker.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/oreui/binding/IdType.h"
7#include "mc/client/gui/oreui/binding/interface/IInvocationStateTracker.h"
8#include "mc/client/gui/oreui/binding/interface/InvocationResult.h"
9#include "mc/client/gui/oreui/binding/interface/InvocationState.h"
10#include "mc/deps/core/utility/pub_sub/Publisher.h"
11
12// auto generated forward declare list
13// clang-format off
14namespace Bedrock::PubSub { class Subscription; }
15namespace Bedrock::PubSub::ThreadModel { struct SingleThreaded; }
16// clang-format on
17
18namespace OreUI::Detail {
19
20class InvocationStateTracker : public ::OreUI::Detail::IInvocationStateTracker {
21public:
22 // InvocationStateTracker inner types declare
23 // clang-format off
24 struct InvocationData;
25 // clang-format on
26
27 // InvocationStateTracker inner types define
28 struct InvocationData {
29 public:
30 // member variables
31 // NOLINTBEGIN
32 ::ll::TypedStorage<4, 12, ::OreUI::Detail::IInvocationStateTracker::InvocationInformation> mInformation;
33 ::ll::TypedStorage<
34 8,
35 48,
36 ::Bedrock::PubSub::Publisher<
37 void(
38 ::OreUI::Detail::IdType const&,
39 ::OreUI::Detail::IInvocationStateTracker::InvocationInformation const&
40 ),
41 ::Bedrock::PubSub::ThreadModel::SingleThreaded,
42 0>>
43 mOnChangePublisher;
44 ::ll::TypedStorage<
45 8,
46 48,
47 ::Bedrock::PubSub::
48 Publisher<void(::OreUI::Detail::IdType const&), ::Bedrock::PubSub::ThreadModel::SingleThreaded, 0>>
49 mOnRemovedPublisher;
50 // NOLINTEND
51 };
52
53public:
54 // member variables
55 // NOLINTBEGIN
56 ::ll::TypedStorage<
57 8,
58 64,
59 ::std::unordered_map<::OreUI::Detail::IdType, ::OreUI::Detail::InvocationStateTracker::InvocationData>>
60 mStates;
61 // NOLINTEND
62
63public:
64 // virtual functions
65 // NOLINTBEGIN
66 virtual ~InvocationStateTracker() /*override*/ = default;
67
68 virtual ::Bedrock::PubSub::Subscription onChange(
69 ::OreUI::Detail::IdType const& id,
70 ::std::function<void(
71 ::OreUI::Detail::IdType const&,
72 ::OreUI::Detail::IInvocationStateTracker::InvocationInformation const&
73 )> observer
74 ) /*override*/;
75
76 virtual ::Bedrock::PubSub::Subscription onRemove(
77 ::OreUI::Detail::IdType const& id,
78 ::std::function<void(::OreUI::Detail::IdType const&)> observer
79 ) /*override*/;
80
81 virtual void setState(
82 ::OreUI::Detail::IdType const& id,
83 ::OreUI::Detail::IInvocationStateTracker::InvocationInformation const& information
84 ) /*override*/;
85
86 virtual void setState(
87 ::OreUI::Detail::IdType const& id,
88 ::OreUI::InvocationState state,
89 ::OreUI::InvocationResult result,
90 uchar progress,
91 ::std::optional<int> error
92 ) /*override*/;
93
94 virtual void remove(::OreUI::Detail::IdType const& id) /*override*/;
95 // NOLINTEND
96
97public:
98 // virtual function thunks
99 // NOLINTBEGIN
100 MCAPI ::Bedrock::PubSub::Subscription $onChange(
101 ::OreUI::Detail::IdType const& id,
102 ::std::function<void(
103 ::OreUI::Detail::IdType const&,
104 ::OreUI::Detail::IInvocationStateTracker::InvocationInformation const&
105 )> observer
106 );
107
108 MCAPI ::Bedrock::PubSub::Subscription
109 $onRemove(::OreUI::Detail::IdType const& id, ::std::function<void(::OreUI::Detail::IdType const&)> observer);
110
111 MCAPI void $setState(
112 ::OreUI::Detail::IdType const& id,
113 ::OreUI::Detail::IInvocationStateTracker::InvocationInformation const& information
114 );
115
116 MCAPI void $setState(
117 ::OreUI::Detail::IdType const& id,
118 ::OreUI::InvocationState state,
119 ::OreUI::InvocationResult result,
120 uchar progress,
121 ::std::optional<int> error
122 );
123
124 MCAPI void $remove(::OreUI::Detail::IdType const& id);
125 // NOLINTEND
126
127public:
128 // vftables
129 // NOLINTBEGIN
130 MCNAPI static void** $vftable();
131 // NOLINTEND
132};
133
134} // namespace OreUI::Detail
Definition Subscription.h:10
Definition InvocationStateTracker.h:7
Definition InvocationStateTracker.h:15