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<1, 1, bool> mHasState;
34 ::ll::TypedStorage<
35 8,
36 48,
37 ::Bedrock::PubSub::Publisher<
38 void(
39 ::OreUI::Detail::IdType const&,
40 ::OreUI::Detail::IInvocationStateTracker::InvocationInformation const&
41 ),
42 ::Bedrock::PubSub::ThreadModel::SingleThreaded,
43 0>>
44 mOnChangePublisher;
45 ::ll::TypedStorage<
46 8,
47 48,
48 ::Bedrock::PubSub::
49 Publisher<void(::OreUI::Detail::IdType const&), ::Bedrock::PubSub::ThreadModel::SingleThreaded, 0>>
50 mOnRemovedPublisher;
51 // NOLINTEND
52 };
53
54public:
55 // member variables
56 // NOLINTBEGIN
57 ::ll::TypedStorage<
58 8,
59 64,
60 ::std::unordered_map<::OreUI::Detail::IdType, ::OreUI::Detail::InvocationStateTracker::InvocationData>>
61 mStates;
62 // NOLINTEND
63
64public:
65 // virtual functions
66 // NOLINTBEGIN
67 virtual ~InvocationStateTracker() /*override*/ = default;
68
69 virtual ::Bedrock::PubSub::Subscription onChange(
70 ::OreUI::Detail::IdType const& id,
71 ::std::function<void(
72 ::OreUI::Detail::IdType const&,
73 ::OreUI::Detail::IInvocationStateTracker::InvocationInformation const&
74 )> observer
75 ) /*override*/;
76
77 virtual ::Bedrock::PubSub::Subscription onRemove(
78 ::OreUI::Detail::IdType const& id,
79 ::std::function<void(::OreUI::Detail::IdType const&)> observer
80 ) /*override*/;
81
82 virtual void setState(
83 ::OreUI::Detail::IdType const& id,
84 ::OreUI::Detail::IInvocationStateTracker::InvocationInformation const& information
85 ) /*override*/;
86
87 virtual void setState(
88 ::OreUI::Detail::IdType const& id,
89 ::OreUI::InvocationState state,
90 ::OreUI::InvocationResult result,
91 uchar progress,
92 ::std::optional<int> error
93 ) /*override*/;
94
95 virtual void remove(::OreUI::Detail::IdType const& id) /*override*/;
96 // NOLINTEND
97
98public:
99 // virtual function thunks
100 // NOLINTBEGIN
101 MCAPI ::Bedrock::PubSub::Subscription $onChange(
102 ::OreUI::Detail::IdType const& id,
103 ::std::function<void(
104 ::OreUI::Detail::IdType const&,
105 ::OreUI::Detail::IInvocationStateTracker::InvocationInformation const&
106 )> observer
107 );
108
109 MCAPI ::Bedrock::PubSub::Subscription
110 $onRemove(::OreUI::Detail::IdType const& id, ::std::function<void(::OreUI::Detail::IdType const&)> observer);
111
112 MCAPI void $setState(
113 ::OreUI::Detail::IdType const& id,
114 ::OreUI::Detail::IInvocationStateTracker::InvocationInformation const& information
115 );
116
117 MCAPI void $setState(
118 ::OreUI::Detail::IdType const& id,
119 ::OreUI::InvocationState state,
120 ::OreUI::InvocationResult result,
121 uchar progress,
122 ::std::optional<int> error
123 );
124
125 MCAPI void $remove(::OreUI::Detail::IdType const& id);
126 // NOLINTEND
127
128public:
129 // vftables
130 // NOLINTBEGIN
131 MCNAPI static void** $vftable();
132 // NOLINTEND
133};
134
135} // namespace OreUI::Detail
Definition Subscription.h:10
Definition InvocationStateTracker.h:7
Definition InvocationStateTracker.h:15