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 _registerControllerCallbacks();
81
82 MCAPI void _registerEventHandlers();
83
84 MCAPI void _updateInviteLink(::Realms::InviteLink tempLink);
85 // NOLINTEND
86
87public:
88 // constructor thunks
89 // NOLINTBEGIN
90 MCAPI void* $ctor(
91 ::std::shared_ptr<::MainMenuScreenModel> model,
92 ::Realms::World const& world,
93 ::Realms::InviteLink const& link
94 );
95 // NOLINTEND
96
97public:
98 // virtual function thunks
99 // NOLINTBEGIN
100 MCAPI ::ui::DirtyFlag $tick();
101
102 MCFOLD bool $_doesScreenHaveExitBehavior() const;
103 // NOLINTEND
104
105public:
106 // vftables
107 // NOLINTBEGIN
108 MCNAPI static void** $vftableForScreenController();
109
111 // NOLINTEND
112};
Definition MainMenuScreenModel.h:5
Definition RealmsInviteLinkSettingsScreenController.h:5
static MCAPI void ** $vftableForScreenController()
static MCAPI void ** $vftableForEnableNonOwnerReferences()
Definition SettingsScreenControllerBase.h:5