LeviLamina
Loading...
Searching...
No Matches
RealmsInviteLinkSettingsScreenController.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/DirtyFlag.h"
7#include "mc/client/gui/ViewRequest.h"
8#include "mc/client/gui/screens/controllers/ModalScreenButtonId.h"
9#include "mc/client/gui/screens/controllers/SettingsScreenControllerBase.h"
10#include "mc/client/network/realms/InviteLink.h"
11#include "mc/client/network/realms/World.h"
12
13// auto generated forward declare list
14// clang-format off
16// clang-format on
17
19public:
20 // RealmsInviteLinkSettingsScreenController inner types define
21 enum class ExpirationDuration : int {
22 Unset = 0,
23 Never = 1,
24 HalfHour = 2,
25 Hour = 3,
26 QuarterDay = 4,
27 HalfDay = 5,
28 Day = 6,
29 Week = 7,
30 };
31
32public:
33 // member variables
34 // NOLINTBEGIN
35 ::ll::TypedStorage<8, 656, ::Realms::World> mWorld;
36 ::ll::TypedStorage<8, 152, ::Realms::InviteLink> mInviteLink;
37 ::ll::TypedStorage<4, 4, ::RealmsInviteLinkSettingsScreenController::ExpirationDuration> mPendingExpirationDuration;
38 ::ll::TypedStorage<4, 4, ::RealmsInviteLinkSettingsScreenController::ExpirationDuration> mExpirationDuration;
39 ::ll::TypedStorage<1, 1, bool> mReadyForCopy;
40 ::ll::TypedStorage<1, 1, bool> mRefreshScreen;
41 // NOLINTEND
42
43public:
44 // prevent constructor by default
45 RealmsInviteLinkSettingsScreenController();
46
47public:
48 // virtual functions
49 // NOLINTBEGIN
50 virtual ~RealmsInviteLinkSettingsScreenController() /*override*/ = default;
51
52 virtual ::ui::DirtyFlag tick() /*override*/;
53
54 virtual bool _doesScreenHaveExitBehavior() const /*override*/;
55 // NOLINTEND
56
57public:
58 // member functions
59 // NOLINTBEGIN
60 MCAPI RealmsInviteLinkSettingsScreenController(
61 ::std::shared_ptr<::MainMenuScreenModel> model,
62 ::Realms::World const& world,
63 ::Realms::InviteLink const& link
64 );
65
66 MCAPI void _confirmationRemoveLinkDialog(::std::function<void(::ModalScreenButtonId)> callback);
67
68 MCAPI void _deleteInviteLink();
69
70 MCAPI void _displayLinkErrorModal(::std::string const& title, ::std::string const& body);
71
72 MCAPI void _handleChangeLinkExpiry(::RealmsInviteLinkSettingsScreenController::ExpirationDuration expiry);
73
74 MCAPI ::ui::ViewRequest _handleCopyClick();
75
76 MCAPI void _handleToggleLinkActive(bool optionValue);
77
78 MCAPI void _handleToggleLinkInfinite(bool optionValue);
79
80 MCAPI void _registerBindings();
81
82 MCAPI void _registerControllerCallbacks();
83
84 MCAPI void _registerEventHandlers();
85
86 MCAPI void _updateInviteLink(::Realms::InviteLink tempLink);
87 // NOLINTEND
88
89public:
90 // constructor thunks
91 // NOLINTBEGIN
92 MCAPI void* $ctor(
93 ::std::shared_ptr<::MainMenuScreenModel> model,
94 ::Realms::World const& world,
95 ::Realms::InviteLink const& link
96 );
97 // NOLINTEND
98
99public:
100 // virtual function thunks
101 // NOLINTBEGIN
102 MCAPI ::ui::DirtyFlag $tick();
103
104 MCFOLD bool $_doesScreenHaveExitBehavior() const;
105 // NOLINTEND
106
107public:
108 // vftables
109 // NOLINTBEGIN
110 MCNAPI static void** $vftableForScreenController();
111
113 // NOLINTEND
114};
Definition MainMenuScreenModel.h:5
Definition RealmsInviteLinkSettingsScreenController.h:5
static MCAPI void ** $vftableForScreenController()
static MCAPI void ** $vftableForEnableNonOwnerReferences()
Definition SettingsScreenControllerBase.h:5