LeviLamina
Loading...
Searching...
No Matches
CommonPlatform.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/platform/DisplayOrientation.h"
7#include "mc/deps/core/platform/FileStorageDirectory.h"
8#include "mc/deps/core/utility/NonOwnerPointer.h"
9#include "mc/platform/brstd/move_only_function.h"
10
11// auto generated forward declare list
12// clang-format off
13class ActivationUri;
14class IMinecraftGame;
15class PropertyBag;
17namespace Bedrock { class ActivationArguments; }
18namespace Bedrock { class IIslandCore; }
19namespace Bedrock { class IIslandManager; }
20namespace Bedrock { struct PlatformBuildInfo; }
21namespace Bedrock { struct PlatformRuntimeInfo; }
22// clang-format on
23
24namespace Bedrock {
25
26class CommonPlatform {
27public:
28 // CommonPlatform inner types define
29 using MCGameFactory = ::brstd::move_only_function<::std::unique_ptr<::IMinecraftGame>()>;
30
31public:
32 // member variables
33 // NOLINTBEGIN
34 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Bedrock::PlatformRuntimeInfo>> mPlatformRuntimeInfo;
35 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Bedrock::PlatformBuildInfo>> mPlatformBuildInfo;
36 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Bedrock::IIslandManager>> mIslandMgr;
37 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Bedrock::IIslandCore>> mApp;
38 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::IMinecraftGame>> mMinecraftGame_Shim;
39 ::ll::TypedStorage<8, 64, ::brstd::move_only_function<::std::unique_ptr<::IMinecraftGame>()>> mCreateGame;
40 ::ll::TypedStorage<1, 1, ::std::atomic<bool>> mbQueueRenderParameterSignal;
41 ::ll::TypedStorage<1, 1, ::std::atomic<bool>> mHasInitialized;
42 // NOLINTEND
43
44public:
45 // prevent constructor by default
46 CommonPlatform();
47
48public:
49 // virtual functions
50 // NOLINTBEGIN
51 virtual ~CommonPlatform();
52
53 virtual bool updatePlatformInfo() = 0;
54
55 virtual bool updatePlatformGraphicsInfo() = 0;
56
57 virtual void issueShutdown();
58
59 virtual void issueSuspend();
60
61 virtual void issueResume();
62
63 virtual void issueBack();
64
65 virtual void issueLowMemory();
66
67 virtual void issueFocusLost();
68
69 virtual void issueFocusGained();
70
71 virtual void issueInputPaneVisible();
72
73 virtual void issueInputPaneHidden();
74
75 virtual void issueSuspendWarning();
76
77 virtual void issueVisibilityChange(bool visible);
78
79 virtual void issueWindowSizeChange(int width, int height);
80
81 virtual void issueDPIChange(float dpi);
82
83 virtual void issueOrientationChange(::DisplayOrientation const& orientation);
84
85 virtual void feedButtonPress(int const& button);
86
87 virtual void feedKeyPress(char const key);
88
89 virtual void setTextboxText(::std::string const&);
90
91 virtual void setStorageDirectory(::FileStorageDirectory, bool, ::PropertyBag const&, ::std::function<void(bool)>);
92
93 virtual ::FileStorageDirectory setInitialStorageDirectory(::FileStorageDirectory);
94
95 virtual ::FileStorageDirectory getStorageDirectory() const;
96
97 virtual bool _preAppCreation(::Bedrock::ActivationArguments const&) = 0;
98
99 virtual bool _postAppCreation(::Bedrock::ActivationArguments const& actArgs) = 0;
100
101 virtual void _processActivationArguments(::Bedrock::ActivationArguments const& args) = 0;
102
103 virtual bool _update(bool canRender) = 0;
104
105 virtual bool _isShuttingDown() = 0;
106
107 virtual bool _isShutdown() = 0;
108
109 virtual void pushNotificationReceived_Shim(::PushNotificationMessage const& msg) = 0;
110
111 virtual void notifyUriListeners_Shim(::ActivationUri const& uri) = 0;
112
113 virtual ::std::string getDeviceId_Shim() const = 0;
114 // NOLINTEND
115
116public:
117 // member functions
118 // NOLINTBEGIN
119 MCAPI explicit CommonPlatform(::brstd::move_only_function<::std::unique_ptr<::IMinecraftGame>()> createGame);
120
121 MCAPI bool _createApp();
122
123 MCAPI void activate(::Bedrock::ActivationArguments const& actArgs);
124
125 MCAPI bool hasInitialized() const;
126
127 MCAPI bool init(::Bedrock::ActivationArguments const& actArgs);
128
129 MCAPI bool startApp(::Bedrock::ActivationArguments const& actArgs);
130
131 MCAPI int update(bool canRender);
132 // NOLINTEND
133
134public:
135 // constructor thunks
136 // NOLINTBEGIN
137 MCAPI void* $ctor(::brstd::move_only_function<::std::unique_ptr<::IMinecraftGame>()> createGame);
138 // NOLINTEND
139
140public:
141 // destructor thunk
142 // NOLINTBEGIN
143 MCAPI void $dtor();
144 // NOLINTEND
145
146public:
147 // virtual function thunks
148 // NOLINTBEGIN
149 MCFOLD void $issueShutdown();
150
151 MCFOLD void $issueSuspend();
152
153 MCFOLD void $issueResume();
154
155 MCFOLD void $issueBack();
156
157 MCFOLD void $issueLowMemory();
158
159 MCFOLD void $issueFocusLost();
160
161 MCFOLD void $issueFocusGained();
162
163 MCFOLD void $issueInputPaneVisible();
164
165 MCFOLD void $issueInputPaneHidden();
166
167 MCFOLD void $issueSuspendWarning();
168
169 MCFOLD void $issueVisibilityChange(bool visible);
170
171 MCFOLD void $issueWindowSizeChange(int width, int height);
172
173 MCFOLD void $issueDPIChange(float dpi);
174
175 MCFOLD void $issueOrientationChange(::DisplayOrientation const& orientation);
176
177 MCAPI void $feedButtonPress(int const& button);
178
179 MCAPI void $feedKeyPress(char const key);
180
181 MCFOLD void $setTextboxText(::std::string const&);
182
183 MCFOLD void $setStorageDirectory(::FileStorageDirectory, bool, ::PropertyBag const&, ::std::function<void(bool)>);
184
185 MCFOLD ::FileStorageDirectory $setInitialStorageDirectory(::FileStorageDirectory);
186
187 MCFOLD ::FileStorageDirectory $getStorageDirectory() const;
188 // NOLINTEND
189
190public:
191 // vftables
192 // NOLINTBEGIN
193 MCNAPI static void** $vftable();
194 // NOLINTEND
195};
196
197} // namespace Bedrock
Definition ActivationUri.h:5
Definition ActivationArguments.h:7
Definition CommonPlatform.h:7
static MCAPI void ** $vftable()
Definition IIslandCore.h:12
Definition IIslandManager.h:13
Definition IMinecraftGame.h:5
Definition PropertyBag.h:9
Definition PushNotificationMessage.h:5
Definition PlatformBuildInfo.h:7
Definition PlatformRuntimeInfo.h:7