LeviLamina
Loading...
Searching...
No Matches
IQuery.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated forward declare list
6// clang-format off
7namespace Bedrock::PubSub { class Subscription; }
8namespace OreUI::Detail { class Binder; }
9namespace OreUI::Detail { class IdType; }
10// clang-format on
11
12namespace OreUI::Detail {
13
14class IQuery {
15public:
16 // IQuery inner types define
17 using NameType = char const*;
18
19 using ListenerSignature = ::std::function<void()>;
20
21public:
22 // virtual functions
23 // NOLINTBEGIN
24 virtual ~IQuery() = default;
25
26 virtual void update(double time) = 0;
27
28 virtual bool isValid() const = 0;
29
30 virtual char const* name() const = 0;
31
32 virtual void triggerCreated(::OreUI::Detail::IdType const& id, ::OreUI::Detail::Binder const& binder) const = 0;
33
34 virtual void triggerUpdated(::OreUI::Detail::IdType const& id, ::OreUI::Detail::Binder const& binder) const = 0;
35
36 virtual void destroy(::OreUI::Detail::Binder const& binder) = 0;
37
38 virtual ::Bedrock::PubSub::Subscription setObserver(::std::function<void()> const& observer) = 0;
39 // NOLINTEND
40
41public:
42 // virtual function thunks
43 // NOLINTBEGIN
44
45 // NOLINTEND
46
47public:
48 // vftables
49 // NOLINTBEGIN
50 MCNAPI static void** $vftable();
51 // NOLINTEND
52};
53
54} // namespace OreUI::Detail
Definition Subscription.h:10
Definition Binder.h:7
Definition IQuery.h:7
static MCAPI void ** $vftable()
Definition IdType.h:7