LeviLamina
Loading...
Searching...
No Matches
ICommandGroup.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
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"
9
10// auto generated forward declare list
11// clang-format off
12namespace Bedrock::PubSub { class Subscription; }
13namespace OreUI::Detail { class ICallable; }
14namespace OreUI::Detail { class IdType; }
15namespace cohtml { class Binder; }
16// clang-format on
17
18namespace OreUI::Detail {
19
20class ICommandGroup {
21public:
22 // ICommandGroup inner types define
23 using NameType = char const* const;
24
25 using OnChange =
26 void(::OreUI::Detail::IdType const&, ::OreUI::Detail::IInvocationStateTracker::InvocationInformation const&);
27
28 using OnRemoved = void(::OreUI::Detail::IdType const&);
29
30public:
31 // virtual functions
32 // NOLINTBEGIN
33 virtual ~ICommandGroup() = default;
34
35 virtual char const* const name() const = 0;
36
37 virtual void addCallable(::OreUI::Detail::ICallable* callable) = 0;
38
39 virtual void removeCallable(::OreUI::Detail::ICallable* callable) = 0;
40
41 virtual void setState(
42 ::OreUI::Detail::IdType const& id,
43 ::OreUI::InvocationState const state,
44 ::OreUI::InvocationResult const result,
45 uchar const progress,
46 ::std::optional<int> const error
47 ) = 0;
48
49 virtual ::Bedrock::PubSub::Subscription onChange(
50 ::std::function<void(
51 ::OreUI::Detail::IdType const&,
52 ::OreUI::Detail::IInvocationStateTracker::InvocationInformation const&
53 )> const& observer
54 ) = 0;
55
56 virtual ::Bedrock::PubSub::Subscription
57 onRemove(::std::function<void(::OreUI::Detail::IdType const&)> const& observer) = 0;
58
59 virtual void expose(::cohtml::Binder* binder, void* object) = 0;
60 // NOLINTEND
61
62public:
63 // virtual function thunks
64 // NOLINTBEGIN
65
66 // NOLINTEND
67};
68
69} // namespace OreUI::Detail
Definition Subscription.h:10
Definition ICallable.h:7
Definition ICommandGroup.h:7
Definition IdType.h:7
Definition Binder.h:7