3#include "mc/_HeaderOutputPredefine.h"
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"
16namespace Json {
class Value; }
27 enum class UriResourceValidationStatus :
int {
33 enum class ScreenState :
int {
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;
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;
68 EduShareLinkScreenController();
73 virtual void addStaticScreenVars(::Json::Value& globalVars) ;
75 virtual ~EduShareLinkScreenController() ;
81 MCAPI EduShareLinkScreenController(
82 ::std::shared_ptr<::MainMenuScreenModel> model,
83 ::LibraryItem
const& item,
84 ::std::optional<::EduSharedUriResource> resource
87 MCAPI ::std::string _appendAdditionalResources(::std::string
const& url);
89 MCAPI
void _clearAdditionalUriResource();
91 MCAPI
void _closeActiveScreen();
93 MCAPI ::std::string _getResourceAddedText()
const;
95 MCAPI ::std::string _getShareButtonText()
const;
97 MCAPI ::std::string _getTeamsAdvancedShareTitle()
const;
99 MCAPI ::std::string _getTeamsBodyText()
const;
101 MCAPI
void _openScreen(::EduShareLinkScreenController::ScreenState state);
103 MCAPI
void _registerAddResourcesHandlers();
105 MCAPI
void _registerShareDialogHandlers(::std::string
const& copyUri);
107 MCAPI
void _registerShareTeamsHandlers();
109 MCAPI
void _registerSimpleShareMenuHandlers();
111 MCAPI
void _screenTTS(::std::string
const& title, ::std::string
const& contents, ::std::string
const& extra);
114 _sendNotification(::EduShareUriType shareType, ::EduShareMethodType methodType, ::std::string
const& toastMessage);
121 ::std::shared_ptr<::MainMenuScreenModel> model,
122 ::LibraryItem
const& item,
123 ::std::optional<::EduSharedUriResource> resource
136 MCAPI
void $addStaticScreenVars(::Json::Value& globalVars);
Definition EduShareLinkScreenController.h:5
static MCAPI void ** $vftableForEnableNonOwnerReferences()
static MCAPI void ** $vftableForScreenController()
Definition LibraryItem.h:5
Definition MainMenuScreenController.h:5
Definition MainMenuScreenModel.h:5
Definition EduShareLinkScreenController.h:17