3#include "mc/_HeaderOutputPredefine.h"
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"
18namespace OreUI::Detail {
32 ::ll::TypedStorage<4, 12, ::OreUI::Detail::IInvocationStateTracker::InvocationInformation> mInformation;
33 ::ll::TypedStorage<1, 1, bool> mHasState;
37 ::Bedrock::PubSub::Publisher<
39 ::OreUI::Detail::IdType
const&,
40 ::OreUI::Detail::IInvocationStateTracker::InvocationInformation
const&
42 ::Bedrock::PubSub::ThreadModel::SingleThreaded,
49 Publisher<void(::OreUI::Detail::IdType
const&), ::Bedrock::PubSub::ThreadModel::SingleThreaded, 0>>
60 ::std::unordered_map<::OreUI::Detail::IdType, ::OreUI::Detail::InvocationStateTracker::InvocationData>>
67 virtual ~InvocationStateTracker() =
default;
69 virtual ::Bedrock::PubSub::Subscription onChange(
70 ::OreUI::Detail::IdType
const&
id,
72 ::OreUI::Detail::IdType
const&,
73 ::OreUI::Detail::IInvocationStateTracker::InvocationInformation
const&
77 virtual ::Bedrock::PubSub::Subscription onRemove(
78 ::OreUI::Detail::IdType
const&
id,
79 ::std::function<
void(::OreUI::Detail::IdType
const&)> observer
82 virtual void setState(
83 ::OreUI::Detail::IdType
const&
id,
84 ::OreUI::Detail::IInvocationStateTracker::InvocationInformation
const& information
87 virtual void setState(
88 ::OreUI::Detail::IdType
const&
id,
89 ::OreUI::InvocationState state,
90 ::OreUI::InvocationResult result,
92 ::std::optional<int> error
95 virtual void remove(::OreUI::Detail::IdType
const&
id) ;
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&
109 MCAPI ::Bedrock::PubSub::Subscription
110 $onRemove(::OreUI::Detail::IdType
const&
id, ::std::function<
void(::OreUI::Detail::IdType
const&)> observer);
112 MCAPI
void $setState(
113 ::OreUI::Detail::IdType
const&
id,
114 ::OreUI::Detail::IInvocationStateTracker::InvocationInformation
const& information
117 MCAPI
void $setState(
118 ::OreUI::Detail::IdType
const&
id,
119 ::OreUI::InvocationState state,
120 ::OreUI::InvocationResult result,
122 ::std::optional<int> error
125 MCAPI
void $remove(::OreUI::Detail::IdType
const&
id);
Definition Subscription.h:10
Definition InvocationStateTracker.h:7
static MCAPI void ** $vftable()
Definition SingleThreaded.h:7
Definition InvocationStateTracker.h:15