LeviLamina
Loading...
Searching...
No Matches
AllowList.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/server/AllowListEntry.h"
7#include "mc/server/IJsonSerializable.h"
8
9// auto generated forward declare list
10// clang-format off
11class AllowListEntry;
12namespace Json { class Value; }
13namespace mce { class UUID; }
14// clang-format on
15
16class AllowList : public ::IJsonSerializable {
17public:
18 // member variables
19 // NOLINTBEGIN
20 ::ll::TypedStorage<8, 24, ::std::vector<::AllowListEntry>> mEntries;
21 ::ll::TypedStorage<8, 64, ::std::function<void()>> mSyncCallback;
22 ::ll::TypedStorage<1, 1, bool> mIsEnabled;
23 // NOLINTEND
24
25#ifdef LL_PLAT_S
26#else // LL_PLAT_C
27public:
28 // prevent constructor by default
29 AllowList();
30
31#endif
32public:
33 // virtual functions
34 // NOLINTBEGIN
35 virtual ::Json::Value serialize() const /*override*/;
36
37 virtual void deserialize(::Json::Value const& root) /*override*/;
38 // NOLINTEND
39
40public:
41 // member functions
42 // NOLINTBEGIN
43#ifdef LL_PLAT_C
44 MCAPI explicit AllowList(::std::function<void()> syncCallback);
45#endif
46
47 MCAPI bool isAllowed(
48 ::mce::UUID const& uuid,
49 ::std::string_view xuid,
50 ::std::string_view psnId,
51 ::std::string_view nsaId
52 ) const;
53
54#ifdef LL_PLAT_S
55 MCAPI bool removeByName(::std::string_view name);
56
57 MCAPI bool removeEntry(
58 ::std::string_view name,
59 ::std::string_view xuid,
60 ::std::string_view psnId,
61 ::std::string_view nintendoId
62 );
63#endif
64
65 MCAPI bool tryUpdateEntries(
66 ::std::string_view name,
67 ::std::string_view xuid,
68 ::std::string_view psnId,
69 ::std::string_view nsaId,
70 bool ignorePlayerLimit
71 );
72 // NOLINTEND
73
74public:
75 // constructor thunks
76 // NOLINTBEGIN
77#ifdef LL_PLAT_C
78 MCAPI void* $ctor(::std::function<void()> syncCallback);
79#endif
80 // NOLINTEND
81
82public:
83 // virtual function thunks
84 // NOLINTBEGIN
85 MCAPI ::Json::Value $serialize() const;
86
87 MCAPI void $deserialize(::Json::Value const& root);
88
89
90 // NOLINTEND
91
92public:
93 // vftables
94 // NOLINTBEGIN
95 MCNAPI static void** $vftable();
96 // NOLINTEND
97};
Definition AllowListEntry.h:14
static MCAPI void ** $vftable()
Definition IJsonSerializable.h:10
Definition Value.h:16
Definition UUID.h:8