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;
36 ::Bedrock::PubSub::Publisher<
38 ::OreUI::Detail::IdType
const&,
39 ::OreUI::Detail::IInvocationStateTracker::InvocationInformation
const&
41 ::Bedrock::PubSub::ThreadModel::SingleThreaded,
48 Publisher<void(::OreUI::Detail::IdType
const&), ::Bedrock::PubSub::ThreadModel::SingleThreaded, 0>>
59 ::std::unordered_map<::OreUI::Detail::IdType, ::OreUI::Detail::InvocationStateTracker::InvocationData>>
66 virtual ~InvocationStateTracker() =
default;
68 virtual ::Bedrock::PubSub::Subscription onChange(
69 ::OreUI::Detail::IdType
const&
id,
71 ::OreUI::Detail::IdType
const&,
72 ::OreUI::Detail::IInvocationStateTracker::InvocationInformation
const&
76 virtual ::Bedrock::PubSub::Subscription onRemove(
77 ::OreUI::Detail::IdType
const&
id,
78 ::std::function<
void(::OreUI::Detail::IdType
const&)> observer
81 virtual void setState(
82 ::OreUI::Detail::IdType
const&
id,
83 ::OreUI::Detail::IInvocationStateTracker::InvocationInformation
const& information
86 virtual void setState(
87 ::OreUI::Detail::IdType
const&
id,
88 ::OreUI::InvocationState state,
89 ::OreUI::InvocationResult result,
91 ::std::optional<int> error
94 virtual void remove(::OreUI::Detail::IdType
const&
id) ;
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&
108 MCAPI ::Bedrock::PubSub::Subscription
109 $onRemove(::OreUI::Detail::IdType
const&
id, ::std::function<
void(::OreUI::Detail::IdType
const&)> observer);
111 MCAPI
void $setState(
112 ::OreUI::Detail::IdType
const&
id,
113 ::OreUI::Detail::IInvocationStateTracker::InvocationInformation
const& information
116 MCAPI
void $setState(
117 ::OreUI::Detail::IdType
const&
id,
118 ::OreUI::InvocationState state,
119 ::OreUI::InvocationResult result,
121 ::std::optional<int> error
124 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