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 {};
29 enum class ScreenState :
int {};
36 ::ll::TypedStorage<1, 4, ::EduShareLinkScreenController::EduShareLinkCapabilities> mCapabilities;
37 ::ll::TypedStorage<8, 32, ::std::string> mSourceScreen;
38 ::ll::TypedStorage<8, 32, ::std::string> mSourcePrefix;
39 ::ll::TypedStorage<4, 4, ::EduShareLinkScreenController::ScreenState> mScreenState;
40 ::ll::TypedStorage<8, 104, ::EduShareLinkItem> mItem;
41 ::ll::TypedStorage<8, 72, ::std::optional<::EduSharedUriResource>> mOriginalAdditionalUriResource;
42 ::ll::TypedStorage<8, 72, ::std::optional<::EduSharedUriResource>> mAdditionalUriResource;
43 ::ll::TypedStorage<8, 64, ::EduSharedUriResource> mEditAdditionalUriResource;
44 ::ll::TypedStorage<4, 4, ::EduShareLinkScreenController::UriResourceValidationStatus> mUriResourceValidationStatus;
45 ::ll::TypedStorage<8, 32, ::std::string> mAdditionalUriResourceUriErrorMessage;
50 EduShareLinkScreenController();
55 virtual void addStaticScreenVars(::Json::Value& globalVars) ;
57 virtual ~EduShareLinkScreenController() ;
63 MCAPI EduShareLinkScreenController(
64 ::std::shared_ptr<::MainMenuScreenModel> model,
65 ::LibraryItem
const& item,
66 ::std::optional<::EduSharedUriResource> resource
69 MCAPI ::std::string _appendAdditionalResources(::std::string
const& url);
71 MCAPI
void _clearAdditionalUriResource();
73 MCAPI
void _closeActiveScreen();
75 MCAPI ::std::string _getResourceAddedText()
const;
77 MCAPI ::std::string _getShareButtonText()
const;
79 MCAPI ::std::string _getTeamsAdvancedShareTitle()
const;
81 MCAPI ::std::string _getTeamsBodyText()
const;
83 MCAPI
void _openScreen(::EduShareLinkScreenController::ScreenState state);
85 MCAPI
void _registerAddResourcesHandlers();
87 MCAPI
void _registerShareDialogHandlers(::std::string
const& copyUri);
89 MCAPI
void _registerShareTeamsHandlers();
91 MCAPI
void _registerSimpleShareMenuHandlers();
93 MCAPI
void _screenTTS(::std::string
const& title, ::std::string
const& contents, ::std::string
const& extra);
96 _sendNotification(::EduShareUriType shareType, ::EduShareMethodType methodType, ::std::string
const& toastMessage);
103 ::std::shared_ptr<::MainMenuScreenModel> model,
104 ::LibraryItem
const& item,
105 ::std::optional<::EduSharedUriResource> resource
118 MCAPI
void $addStaticScreenVars(::Json::Value& globalVars);
Definition EduShareLinkScreenController.h:5
static MCAPI void ** $vftableForEnableNonOwnerReferences()
static MCAPI void ** $vftableForScreenController()
Definition MainMenuScreenController.h:5
Definition MainMenuScreenModel.h:5
Definition EduShareLinkScreenController.h:17
Definition LibraryItem.h:5