3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/gui/oreui/binding/interface/IInvocationStateTracker.h"
7#include "mc/client/gui/oreui/binding/interface/InvocationResult.h"
8#include "mc/client/gui/oreui/binding/interface/InvocationState.h"
13namespace OreUI::Detail {
class ICallable; }
14namespace OreUI::Detail {
class IdType; }
15namespace cohtml {
class Binder; }
18namespace OreUI::Detail {
23 using NameType =
char const*
const;
26 void(::OreUI::Detail::IdType
const&, ::OreUI::Detail::IInvocationStateTracker::InvocationInformation
const&);
28 using OnRemoved = void(::OreUI::Detail::IdType
const&);
33 virtual ~ICommandGroup() =
default;
35 virtual char const*
const name()
const = 0;
37 virtual void addCallable(::OreUI::Detail::ICallable* callable) = 0;
39 virtual void removeCallable(::OreUI::Detail::ICallable* callable) = 0;
41 virtual void setState(
42 ::OreUI::Detail::IdType
const&
id,
43 ::OreUI::InvocationState
const state,
44 ::OreUI::InvocationResult
const result,
46 ::std::optional<int>
const error
49 virtual ::Bedrock::PubSub::Subscription onChange(
51 ::OreUI::Detail::IdType
const&,
52 ::OreUI::Detail::IInvocationStateTracker::InvocationInformation
const&
56 virtual ::Bedrock::PubSub::Subscription
57 onRemove(::std::function<
void(::OreUI::Detail::IdType
const&)>
const& observer) = 0;
59 virtual void expose(::cohtml::Binder* binder,
void*
object) = 0;
Definition Subscription.h:10
Definition ICommandGroup.h:7