LeviLamina
Loading...
Searching...
No Matches
EduShareLinkScreenController.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/screens/controllers/EduShareLinkItem.h"
7#include "mc/client/gui/screens/controllers/EduShareMethodType.h"
8#include "mc/client/gui/screens/controllers/EduShareUriType.h"
9#include "mc/client/gui/screens/controllers/MainMenuScreenController.h"
10#include "mc/options/EduSharedUriResource.h"
11
12// auto generated forward declare list
13// clang-format off
14class LibraryItem;
16namespace Json { class Value; }
17// clang-format on
18
20public:
21 // EduShareLinkScreenController inner types declare
22 // clang-format off
24 // clang-format on
25
26 // EduShareLinkScreenController inner types define
27 enum class UriResourceValidationStatus : int {
28 Empty = 0,
29 Invalid = 1,
30 Valid = 2,
31 };
32
33 enum class ScreenState : int {
34 None = 0,
35 Simple = 1,
36 Teams = 2,
37 AddResource = 3,
38 };
39
41 public:
42 // member variables
43 // NOLINTBEGIN
44 ::ll::TypedStorage<1, 1, bool> mShareLinkIgnored;
45 ::ll::TypedStorage<1, 1, bool> mShareToTeams;
46 ::ll::TypedStorage<1, 1, bool> mCanAssignResources;
47 ::ll::TypedStorage<1, 1, bool> mIsEducator;
48 // NOLINTEND
49 };
50
51public:
52 // member variables
53 // NOLINTBEGIN
54 ::ll::TypedStorage<1, 4, ::EduShareLinkScreenController::EduShareLinkCapabilities> mCapabilities;
55 ::ll::TypedStorage<8, 32, ::std::string> mSourceScreen;
56 ::ll::TypedStorage<8, 32, ::std::string> mSourcePrefix;
57 ::ll::TypedStorage<4, 4, ::EduShareLinkScreenController::ScreenState> mScreenState;
58 ::ll::TypedStorage<8, 104, ::EduShareLinkItem> mItem;
59 ::ll::TypedStorage<8, 72, ::std::optional<::EduSharedUriResource>> mOriginalAdditionalUriResource;
60 ::ll::TypedStorage<8, 72, ::std::optional<::EduSharedUriResource>> mAdditionalUriResource;
61 ::ll::TypedStorage<8, 64, ::EduSharedUriResource> mEditAdditionalUriResource;
62 ::ll::TypedStorage<4, 4, ::EduShareLinkScreenController::UriResourceValidationStatus> mUriResourceValidationStatus;
63 ::ll::TypedStorage<8, 32, ::std::string> mAdditionalUriResourceUriErrorMessage;
64 // NOLINTEND
65
66public:
67 // prevent constructor by default
68 EduShareLinkScreenController();
69
70public:
71 // virtual functions
72 // NOLINTBEGIN
73 virtual void addStaticScreenVars(::Json::Value& globalVars) /*override*/;
74
75 virtual ~EduShareLinkScreenController() /*override*/;
76 // NOLINTEND
77
78public:
79 // member functions
80 // NOLINTBEGIN
81 MCAPI EduShareLinkScreenController(
82 ::std::shared_ptr<::MainMenuScreenModel> model,
83 ::LibraryItem const& item,
84 ::std::optional<::EduSharedUriResource> resource
85 );
86
87 MCAPI ::std::string _appendAdditionalResources(::std::string const& url);
88
89 MCAPI void _clearAdditionalUriResource();
90
91 MCAPI void _closeActiveScreen();
92
93 MCAPI ::std::string _getResourceAddedText() const;
94
95 MCAPI ::std::string _getShareButtonText() const;
96
97 MCAPI ::std::string _getTeamsAdvancedShareTitle() const;
98
99 MCAPI ::std::string _getTeamsBodyText() const;
100
101 MCAPI void _openScreen(::EduShareLinkScreenController::ScreenState state);
102
103 MCAPI void _registerAddResourcesHandlers();
104
105 MCAPI void _registerShareDialogHandlers(::std::string const& copyUri);
106
107 MCAPI void _registerShareTeamsHandlers();
108
109 MCAPI void _registerSimpleShareMenuHandlers();
110
111 MCAPI void _screenTTS(::std::string const& title, ::std::string const& contents, ::std::string const& extra);
112
113 MCAPI void
114 _sendNotification(::EduShareUriType shareType, ::EduShareMethodType methodType, ::std::string const& toastMessage);
115 // NOLINTEND
116
117public:
118 // constructor thunks
119 // NOLINTBEGIN
120 MCAPI void* $ctor(
121 ::std::shared_ptr<::MainMenuScreenModel> model,
122 ::LibraryItem const& item,
123 ::std::optional<::EduSharedUriResource> resource
124 );
125 // NOLINTEND
126
127public:
128 // destructor thunk
129 // NOLINTBEGIN
130 MCAPI void $dtor();
131 // NOLINTEND
132
133public:
134 // virtual function thunks
135 // NOLINTBEGIN
136 MCAPI void $addStaticScreenVars(::Json::Value& globalVars);
137 // NOLINTEND
138
139public:
140 // vftables
141 // NOLINTBEGIN
143
144 MCNAPI static void** $vftableForScreenController();
145 // NOLINTEND
146};
Definition EduShareLinkScreenController.h:5
static MCAPI void ** $vftableForEnableNonOwnerReferences()
static MCAPI void ** $vftableForScreenController()
Definition Value.h:16
Definition LibraryItem.h:5
Definition MainMenuScreenController.h:5
Definition MainMenuScreenModel.h:5
Definition EduShareLinkScreenController.h:17