LeviLamina
Loading...
Searching...
No Matches
IDataProvider.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/pub_sub/Subscription.h"
7
8namespace Settings {
9
10class IDataProvider {
11public:
12 // IDataProvider inner types define
13 using ChangeCallback = ::std::function<void()>;
14
15public:
16 // member variables
17 // NOLINTBEGIN
18 ::ll::TypedStorage<8, 64, ::std::function<void()>> mListener;
19 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mSubscription;
20 // NOLINTEND
21
22public:
23 // virtual functions
24 // NOLINTBEGIN
25 virtual ~IDataProvider();
26
27 virtual void setChangeListener(::std::function<void()> callback);
28
29 virtual bool canModify() const = 0;
30 // NOLINTEND
31
32public:
33 // member functions
34 // NOLINTBEGIN
35 MCFOLD void notifyListener();
36 // NOLINTEND
37
38public:
39 // destructor thunk
40 // NOLINTBEGIN
41 MCAPI void $dtor();
42 // NOLINTEND
43
44public:
45 // virtual function thunks
46 // NOLINTBEGIN
47 MCAPI void $setChangeListener(::std::function<void()> callback);
48 // NOLINTEND
49
50public:
51 // vftables
52 // NOLINTBEGIN
53 MCNAPI static void** $vftable();
54 // NOLINTEND
55};
56
57} // namespace Settings
Definition IDataProvider.h:7
static MCAPI void ** $vftable()