LeviLamina
Loading...
Searching...
No Matches
ImmersiveReaderScreenController.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/GameEventNotification.h"
8#include "mc/client/gui/SceneType.h"
9#include "mc/client/gui/screens/controllers/ClientInstanceScreenController.h"
10#include "mc/deps/core/threading/TaskGroup.h"
11
12// auto generated forward declare list
13// clang-format off
17namespace Bedrock::Http { class Response; }
18// clang-format on
19
21public:
22 // ImmersiveReaderScreenController inner types define
23 enum class ImmersiveReaderErrorType : schar {
24 WebviewFailure = 0,
25 IdentityFailure = 1,
26 };
27
28 enum class ImmersiveReaderStatusCodes : schar {
29 StatusError = -1,
30 LaunchFailure = 0,
31 RetryFailure = 1,
32 Launched = 2,
33 Loaded = 3,
34 };
35
36 enum class ImmersiveReaderStage : schar {
37 SendUrl = 0,
38 AddListener = 1,
39 LaunchReader = 2,
40 RefreshScreen = 3,
41 Running = 4,
42 Error = 5,
43 };
44
45public:
46 // member variables
47 // NOLINTBEGIN
48 ::ll::TypedStorage<8, 32, ::std::string> mReaderText;
49 ::ll::TypedStorage<1, 1, ::ImmersiveReaderScreenController::ImmersiveReaderErrorType> mErrorType;
50 ::ll::TypedStorage<1, 1, bool> mErrorCausedRefresh;
51 ::ll::TypedStorage<8, 336, ::TaskGroup> mTaskGroup;
52 ::ll::TypedStorage<1, 1, ::ImmersiveReaderScreenController::ImmersiveReaderStage> mImmersiveReaderStage;
53 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ImmersiveReaderObserver>> mObserver;
54 // NOLINTEND
55
56public:
57 // prevent constructor by default
58 ImmersiveReaderScreenController();
59
60public:
61 // virtual functions
62 // NOLINTBEGIN
63 virtual ~ImmersiveReaderScreenController() /*override*/;
64
65 virtual ::ui::DirtyFlag handleGameEventNotification(::ui::GameEventNotification notification) /*override*/;
66
67 virtual ::ui::DirtyFlag tick() /*override*/;
68
69 virtual ::ui::SceneType getSceneType() const /*override*/;
70 // NOLINTEND
71
72public:
73 // member functions
74 // NOLINTBEGIN
75 MCAPI
76 ImmersiveReaderScreenController(::std::shared_ptr<::ClientInstanceScreenModel> model, ::std::string readerText);
77
78 MCAPI void _handleTokenResponse(::Bedrock::Http::Response& response);
79
80 MCAPI void _launchReader();
81
82 MCAPI void _registerBindings();
83
84 MCAPI void _requestToken();
85
86 MCAPI bool _tokenNeedsRefresh();
87
88 MCAPI void _triggerError(::ImmersiveReaderScreenController::ImmersiveReaderErrorType errorType);
89 // NOLINTEND
90
91public:
92 // static variables
93 // NOLINTBEGIN
94 MCAPI static ::std::unique_ptr<::ImmersiveReaderToken>& mReaderToken();
95 // NOLINTEND
96
97public:
98 // constructor thunks
99 // NOLINTBEGIN
100 MCAPI void* $ctor(::std::shared_ptr<::ClientInstanceScreenModel> model, ::std::string readerText);
101 // NOLINTEND
102
103public:
104 // destructor thunk
105 // NOLINTBEGIN
106 MCAPI void $dtor();
107 // NOLINTEND
108
109public:
110 // virtual function thunks
111 // NOLINTBEGIN
112 MCAPI ::ui::DirtyFlag $handleGameEventNotification(::ui::GameEventNotification notification);
113
114 MCAPI ::ui::DirtyFlag $tick();
115
116 MCFOLD ::ui::SceneType $getSceneType() const;
117 // NOLINTEND
118
119public:
120 // vftables
121 // NOLINTBEGIN
123
124 MCNAPI static void** $vftableForScreenController();
125 // NOLINTEND
126};
Definition Response.h:7
Definition ClientInstanceScreenController.h:5
Definition ClientInstanceScreenModel.h:5
Definition ImmersiveReaderObserver.h:5
Definition ImmersiveReaderScreenController.h:5
static MCAPI void ** $vftableForEnableNonOwnerReferences()
static MCAPI void ** $vftableForScreenController()
Definition ImmersiveReaderToken.h:5