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 // NOLINTEND
75
76public:
77 // member functions
78 // NOLINTBEGIN
79 MCAPI EduShareLinkScreenController(
80 ::std::shared_ptr<::MainMenuScreenModel> model,
81 ::LibraryItem const& item,
82 ::std::optional<::EduSharedUriResource> resource
83 );
84
85 MCAPI ::std::string _appendAdditionalResources(::std::string const& url);
86
87 MCAPI void _clearAdditionalUriResource();
88
89 MCAPI void _closeActiveScreen();
90
91 MCAPI ::std::string _getResourceAddedText() const;
92
93 MCAPI ::std::string _getTeamsAdvancedShareTitle() const;
94
95 MCAPI ::std::string _getTeamsBodyText() const;
96
97 MCAPI void _openScreen(::EduShareLinkScreenController::ScreenState state);
98
99 MCAPI void _registerShareDialogHandlers(::std::string const& copyUri);
100
101 MCAPI void _screenTTS(::std::string const& title, ::std::string const& contents, ::std::string const& extra);
102
103 MCAPI void
104 _sendNotification(::EduShareUriType shareType, ::EduShareMethodType methodType, ::std::string const& toastMessage);
105 // NOLINTEND
106
107public:
108 // constructor thunks
109 // NOLINTBEGIN
110 MCAPI void* $ctor(
111 ::std::shared_ptr<::MainMenuScreenModel> model,
112 ::LibraryItem const& item,
113 ::std::optional<::EduSharedUriResource> resource
114 );
115 // NOLINTEND
116
117public:
118 // virtual function thunks
119 // NOLINTBEGIN
120 MCAPI void $addStaticScreenVars(::Json::Value& globalVars);
121 // NOLINTEND
122};
Definition EduShareLinkScreenController.h:5
Definition Value.h:16
Definition LibraryItem.h:5
Definition MainMenuScreenController.h:5
Definition MainMenuScreenModel.h:5
Definition EduShareLinkScreenController.h:17