3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/gui/oreui/binding/interface/InvocationResult.h"
7#include "mc/client/gui/oreui/binding/interface/InvocationState.h"
12namespace OreUI::Detail {
class IdType; }
15namespace OreUI::Detail {
29 ::ll::TypedStorage<1, 1, ::OreUI::InvocationState> mState;
30 ::ll::TypedStorage<1, 1, ::OreUI::InvocationResult> mResult;
31 ::ll::TypedStorage<1, 1, uchar> mProgress;
32 ::ll::TypedStorage<4, 8, ::std::optional<int>> mError;
37 void(::OreUI::Detail::IdType
const&, ::OreUI::Detail::IInvocationStateTracker::InvocationInformation
const&);
39 using OnRemoved = void(::OreUI::Detail::IdType
const&);
44 virtual ~IInvocationStateTracker() =
default;
46 virtual ::Bedrock::PubSub::Subscription onChange(
47 ::OreUI::Detail::IdType
const&
id,
49 ::OreUI::Detail::IdType
const&,
50 ::OreUI::Detail::IInvocationStateTracker::InvocationInformation
const&
54 virtual ::Bedrock::PubSub::Subscription
55 onRemove(::OreUI::Detail::IdType
const&
id, ::std::function<
void(::OreUI::Detail::IdType
const&)> observer) = 0;
57 virtual void setState(
58 ::OreUI::Detail::IdType
const&
id,
59 ::OreUI::Detail::IInvocationStateTracker::InvocationInformation
const& information
62 virtual void setState(
63 ::OreUI::Detail::IdType
const&
id,
64 ::OreUI::InvocationState state,
65 ::OreUI::InvocationResult result,
67 ::std::optional<int> error
70 virtual void remove(::OreUI::Detail::IdType
const&
id) = 0;
Definition Subscription.h:10
Definition IInvocationStateTracker.h:7