LeviLamina
Loading...
Searching...
No Matches
PermissionsHandler.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/pub_sub/Publisher.h"
7#include "mc/server/commands/CommandPermissionLevel.h"
8#include "mc/server/commands/PlayerPermissionLevel.h"
9
10// auto generated forward declare list
11// clang-format off
12class CompoundTag;
13namespace Bedrock::PubSub::ThreadModel { struct SingleThreaded; }
14// clang-format on
15
16class PermissionsHandler {
17public:
18 // PermissionsHandler inner types define
19 using PermissionsPublisher =
21
22 using PermissionsPublisherRefWrapper = ::std::reference_wrapper<
24
25public:
26 // member variables
27 // NOLINTBEGIN
28 ::ll::TypedStorage<1, 1, ::CommandPermissionLevel> mCommandPermissions;
29 ::ll::TypedStorage<1, 1, ::PlayerPermissionLevel> mPlayerPermissions;
30 ::ll::TypedStorage<
31 8,
32 16,
34 mClientPlayerPermissionsPublisher;
35 // NOLINTEND
36
37public:
38 // prevent constructor by default
39 PermissionsHandler(PermissionsHandler const&);
40
41public:
42 // member functions
43 // NOLINTBEGIN
44 MCAPI PermissionsHandler();
45
46 MCAPI void addSaveData(::CompoundTag& tag) const;
47
48 MCAPI bool loadSaveData(::CompoundTag const& tag);
49
50 MCAPI ::PermissionsHandler& operator=(::PermissionsHandler const&);
51
52 MCAPI ~PermissionsHandler();
53 // NOLINTEND
54
55public:
56 // static functions
57 // NOLINTBEGIN
58#ifdef LL_PLAT_C
59 MCAPI static ::std::optional<::std::string>
60 getDiff(::PermissionsHandler const& lhs, ::PermissionsHandler const& rhs);
61#endif
62
63 MCAPI static ::PlayerPermissionLevel playerPermissionLevelFromString(::std::string const& s);
64
65 MCAPI static ::std::string playerPermissionLevelToString(::PlayerPermissionLevel const& permission);
66 // NOLINTEND
67
68public:
69 // static variables
70 // NOLINTBEGIN
71 MCAPI static ::std::string const& DIFF_COMMAND_PERMISSION();
72
73 MCAPI static ::std::string const& DIFF_PLAYER_PERMISSION();
74 // NOLINTEND
75
76public:
77 // constructor thunks
78 // NOLINTBEGIN
79 MCAPI void* $ctor();
80 // NOLINTEND
81
82public:
83 // destructor thunk
84 // NOLINTBEGIN
85 MCFOLD void $dtor();
86 // NOLINTEND
87};
Definition Publisher.h:8
Definition CompoundTag.h:23