LeviLamina
Loading...
Searching...
No Matches
AppPlatform.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/social/MultiplayerServiceIdentifier.h"
7#include "mc/deps/application/DeviceSunsetTier.h"
8#include "mc/deps/application/IAppPlatform.h"
9#include "mc/deps/application/OsVersion.h"
10#include "mc/deps/core/NetworkConnectionType.h"
11#include "mc/deps/core/debug/AssertDialogResponse.h"
12#include "mc/deps/core/file/FileAccessType.h"
13#include "mc/deps/core/file/PathBuffer.h"
14#include "mc/deps/core/platform/ARVRPlatform.h"
15#include "mc/deps/core/platform/AppFocusState.h"
16#include "mc/deps/core/platform/BuildPlatform.h"
17#include "mc/deps/core/platform/FullscreenMode.h"
18#include "mc/deps/core/platform/OperationMode.h"
19#include "mc/deps/core/platform/PlatformType.h"
20#include "mc/deps/core/platform/UIScalingRules.h"
21#include "mc/deps/core/resource/ResourceFileSystem.h"
22#include "mc/deps/core/secure_storage/ISecureStorageKeySystem.h"
23#include "mc/deps/core/string/BasicStackString.h"
24#include "mc/deps/core/threading/IAsyncResult.h"
25#include "mc/deps/core/threading/MPMCQueue.h"
26#include "mc/deps/core/utility/NonOwnerPointer.h"
27#include "mc/deps/core/utility/pub_sub/Connector.h"
28#include "mc/deps/input/InputMode.h"
29#include "mc/deps/input/VRControllerType.h"
30
31// auto generated forward declare list
32// clang-format off
35class IFileAccess;
36class SecureStorage;
41namespace Core { class FileStorageArea; }
42namespace Core { class Path; }
43namespace Social { class MultiplayerService; }
44namespace Social { struct UserCreationData; }
45namespace Webview { class PlatformArguments; }
46namespace mce { class UUID; }
47// clang-format on
48
50public:
51 // member variables
52 // NOLINTBEGIN
109 // NOLINTEND
110
111public:
112 // prevent constructor by default
113 AppPlatform& operator=(AppPlatform const&);
114 AppPlatform(AppPlatform const&);
115 AppPlatform();
116
117public:
118 // virtual functions
119 // NOLINTBEGIN
120 // vIndex: 0
121 virtual ~AppPlatform() /*override*/;
122
123 // vIndex: 21
124 virtual void initialize();
125
126 // vIndex: 22
127 virtual void teardown();
128
129 // vIndex: 6
130 virtual void initAppPlatformNetworkSettings() /*override*/;
131
132 // vIndex: 23
133 virtual void initializeScreenDependentResources();
134
135 // vIndex: 24
136 virtual uint64 getHighPerformanceThreadsCount() const;
137
138 // vIndex: 25
139 virtual uint64 getTotalHardwareThreadsCount() const;
140
141 // vIndex: 26
142 virtual void initializeGraphicsDeviceTier();
143
144 // vIndex: 27
145 virtual uchar getGraphicsDeviceTier() const;
146
147 // vIndex: 28
148 virtual void addListener(::AppPlatformListener* l, float priority);
149
150 // vIndex: 29
151 virtual void removeListener(::AppPlatformListener* l);
152
153 // vIndex: 30
154 virtual void restartApp(bool restart);
155
156 // vIndex: 1
157 virtual bool restartRequested() /*override*/;
158
159 // vIndex: 31
160 virtual ::Core::PathBuffer<::std::string> getPackagePath() const = 0;
161
162 // vIndex: 7
163 virtual int const numberOfThrottledTreatmentPacksToImportPerMinute() const /*override*/;
164
165 // vIndex: 8
166 virtual bool const areTreatmentPacksThrottled() const /*override*/;
167
168 // vIndex: 32
169 virtual bool hasFastAlphaTest() const;
170
171 // vIndex: 33
172 virtual ::std::shared_ptr<::Bedrock::Threading::IAsyncResult<::IntegrityTokenResult>>
173 requestIntegrityToken(::std::string const& nonceToken);
174
175 // vIndex: 34
176 virtual void setIntegrityToken(::std::string const& integrityToken);
177
178 // vIndex: 35
179 virtual void setIntegrityTokenErrorMessage(::std::string const& errorMessage);
180
181 // vIndex: 36
182 virtual bool supportsInPackageRecursion() const;
183
184 // vIndex: 37
185 virtual bool supportsXboxLiveAchievements() const;
186
187 // vIndex: 38
188 virtual void hideSplashScreen();
189
190 // vIndex: 39
191 virtual ::std::string getFeedbackBugsLink() const;
192
193 // vIndex: 40
194 virtual ::std::string getFeedbackHelpLink() const;
195
196 // vIndex: 41
197 virtual auto getModalErrorMessageProc() -> ::AssertDialogResponse (*)(::std::string const&, ::std::string const&);
198
199 // vIndex: 42
200 virtual void updateLocalization(::std::string const& loc);
201
202 // vIndex: 43
203 virtual void setSleepEnabled(bool enabled);
204
205 // vIndex: 44
206 virtual ::Core::PathBuffer<::std::string> getScratchPath();
207
208 // vIndex: 45
209 virtual ::Core::PathBuffer<::std::string> getInternalPackStoragePath() const;
210
211 // vIndex: 46
212 virtual ::Core::PathBuffer<::std::string> getSettingsPath();
213
214 // vIndex: 2
215 virtual ::Core::PathBuffer<::std::string> getLoggingPath() const /*override*/;
216
217 // vIndex: 47
218 virtual ::Core::PathBuffer<::std::string> getPackagedShaderCachePath();
219
220 // vIndex: 48
221 virtual ::Core::PathBuffer<::std::string> getShaderCachePath();
222
223 // vIndex: 49
224 virtual ::Core::PathBuffer<::std::string> getUserdataPathForLevels() const;
225
226 // vIndex: 50
227 virtual ::Core::PathBuffer<::std::string> getCacheStoragePath();
228
229 // vIndex: 51
230 virtual ::Core::PathBuffer<::std::string> getOnDiskScratchPath();
231
232 // vIndex: 52
233 virtual ::Core::PathBuffer<::std::string> getOnDiskPackScratchPath();
234
235 // vIndex: 53
236 virtual ::Core::PathBuffer<::std::string> getLevelInfoCachePath() const;
237
238 // vIndex: 54
239 virtual ::Core::PathBuffer<::std::string> getCatalogSearchScratchPath();
240
241 // vIndex: 55
242 virtual ::Core::PathBuffer<::std::string> getUserStorageRootPath() const;
243
244 // vIndex: 56
245 virtual ::std::shared_ptr<::Core::FileStorageArea> getOrCreateStorageAreaForUser(::Social::UserCreationData const&);
246
247 // vIndex: 57
248 virtual bool hasSeparatedStorageAreasForContentAcquisition() const;
249
250 // vIndex: 58
251 virtual uint64 getOptimalLDBSize();
252
253 // vIndex: 59
254 virtual int getMaxLDBFilesOpen() const;
255
256 // vIndex: 60
257 virtual bool getDisableLDBSeekCompactions() const;
258
259 // vIndex: 61
260 virtual void showDialog(int dialogId);
261
262 // vIndex: 63
263 virtual void createUserInput();
264
265 // vIndex: 62
266 virtual void createUserInput(int dialogId);
267
268 // vIndex: 64
269 virtual int getUserInputStatus();
270
271 // vIndex: 65
272 virtual ::std::vector<::std::string> getUserInput();
273
274 // vIndex: 66
275 virtual ::Bedrock::NotNullNonOwnerPtr<::IFileAccess> getFileAccess(::ResourceFileSystem fileSystem);
276
277 // vIndex: 67
278 virtual ::Core::PathBuffer<::std::string> copyImportFileToTempFolder(::Core::Path const& filePath);
279
280 // vIndex: 68
281 virtual void registerFileForCollectionWithCrashDump(::Core::Path const& fileName);
282
283 // vIndex: 69
284 virtual void registerExperimentsActiveCrashDump(::std::vector<::std::string> const& activeExperiments) const;
285
286 // vIndex: 70
287 virtual int getScreenWidth() const;
288
289 // vIndex: 71
290 virtual int getScreenHeight() const;
291
292 // vIndex: 72
293 virtual int getDisplayWidth();
294
295 // vIndex: 73
296 virtual int getDisplayHeight();
297
298 // vIndex: 74
299 virtual void setScreenSize(int width, int height);
300
301 // vIndex: 75
302 virtual void setWindowSize(int width, int height);
303
304 // vIndex: 76
305 virtual void setWindowText(::std::string const& title);
306
307 // vIndex: 77
308 virtual ::std::optional<::OperationMode> getOperationMode() const;
309
310 // vIndex: 78
311 virtual bool allowContentLogWriteToDisk();
312
313 // vIndex: 79
314 virtual uint getMaxClubsRequests() const;
315
316 // vIndex: 80
317 virtual void queueForMainThread_DEPRECATED(::std::function<void()>) = 0;
318
319 // vIndex: 81
320 virtual ::MPMCQueue<::std::function<void()>>& getMainThreadQueue() = 0;
321
322 // vIndex: 82
323 virtual bool supportsLaunchingLegacyVersion() const;
324
325 // vIndex: 83
326 virtual void launchLegacyVersion();
327
328 // vIndex: 84
329 virtual bool canManageLegacyData() const;
330
331 // vIndex: 85
332 virtual bool supportsDayOneExperience() const;
333
334 // vIndex: 86
335 virtual bool canMigrateWorldData() const;
336
337 // vIndex: 87
338 virtual bool isContentAutoUpdateAllowed() const;
339
340 // vIndex: 88
341 virtual int getMaxSimultaneousDownloads() const;
342
343 // vIndex: 89
344 virtual uint getMaxSimultaneousServiceRequests() const;
345
346 // vIndex: 90
347 virtual bool isDownloadAndImportBlocking() const;
348
349 // vIndex: 91
350 virtual bool isDownloadBuffered() const;
351
352 // vIndex: 92
353 virtual bool supportsAutoSaveOnDBCompaction() const;
354
355 // vIndex: 93
356 virtual ::std::string getTextBoxBackend() const = 0;
357
358 // vIndex: 94
359 virtual void setTextBoxBackend(::std::string const&) = 0;
360
361 // vIndex: 95
362 virtual int getCaretPosition() const = 0;
363
364 // vIndex: 96
365 virtual void setCaretPosition(int) = 0;
366
367 // vIndex: 97
368 virtual bool supportsVibration() const;
369
370 // vIndex: 98
371 virtual void vibrate(int milliSeconds);
372
373 // vIndex: 99
374 virtual ::Core::PathBuffer<::std::string> getAssetFileFullPath(::Core::Path const& filename);
375
376 // vIndex: 100
377 virtual ::std::string readAssetFile(::Core::Path const& filename);
378
379 // vIndex: 101
380 virtual bool hasAssetFile(::Core::Path const& filename);
381
382 // vIndex: 102
383 virtual bool copyAssetFile(::Core::Path const& filename, ::Core::Path const& destination);
384
385 // vIndex: 103
386 virtual ::std::set<::Core::PathBuffer<::std::string>>
387 listAssetFilesIn(::Core::Path const& path, ::std::string const& extension) const;
388
389 // vIndex: 104
390 virtual bool supportsClientUpdate() const;
391
392 // vIndex: 105
393 virtual ::std::string getClientUpdateUrl() const;
394
395 // vIndex: 106
396 virtual int checkLicense();
397
398 // vIndex: 107
399 virtual bool hasBuyButtonWhenInvalidLicense();
400
401 // vIndex: 10
402 virtual bool isNetworkAvailable() const /*override*/;
403
404 // vIndex: 11
405 virtual bool isLANAvailable() const /*override*/;
406
407 // vIndex: 9
408 virtual bool isNetworkEnabled(bool onlyWifiAllowed) const /*override*/;
409
410 // vIndex: 108
411 virtual void setNetworkAllowed(bool allowed);
412
413 // vIndex: 109
414 virtual bool isNetworkAllowed() const;
415
416 // vIndex: 13
417 virtual bool isInternetAvailable() const /*override*/;
418
419 // vIndex: 110
420 virtual ::std::optional<bool> isOnWifiConnectionTelemetryValue();
421
422 // vIndex: 111
423 virtual ::NetworkConnectionType getNetworkConnectionType();
424
425 // vIndex: 112
426 virtual void setNetworkConnectionType(::NetworkConnectionType connectionType);
427
428 // vIndex: 113
429 virtual int getDefaultNetworkMaxPlayers() const;
430
431 // vIndex: 14
432 virtual bool multiplayerRequiresPremiumAccess() const /*override*/;
433
434 // vIndex: 15
435 virtual bool multiplayerRequiresUGCEnabled() const /*override*/;
436
437 // vIndex: 114
438 virtual bool isCrossPlatformToggleVisible() const;
439
440 // vIndex: 115
441 virtual bool isTelemetryAllowed();
442
443 // vIndex: 116
444 virtual bool isTrialWorldsTransferToFullGameAllowed() const;
445
446 // vIndex: 117
447 virtual void buyGame();
448
449 // vIndex: 118
450 virtual void finish();
451
452 // vIndex: 119
453 virtual bool canLaunchUri(::std::string const& uri);
454
455 // vIndex: 120
456 virtual void launchUri(::std::string const& uri);
457
458 // vIndex: 121
459 virtual void launchSettings();
460
461 // vIndex: 122
462 virtual bool useXboxControlHelpers() const;
463
464 // vIndex: 123
465 virtual ::PlatformType getPlatformType() const;
466
467 // vIndex: 124
468 virtual bool isCentennial() const;
469
470 // vIndex: 125
471 virtual ::std::string getPackageFamilyName() const;
472
473 // vIndex: 16
474 virtual ::BuildPlatform getBuildPlatform() const /*override*/;
475
476 // vIndex: 126
477 virtual ::std::string getPlatformString() const = 0;
478
479 // vIndex: 127
480 virtual ::std::string getSubPlatformString() const = 0;
481
482 // vIndex: 128
483 virtual void setARVRPlatform(::ARVRPlatform platform);
484
485 // vIndex: 17
486 virtual ::ARVRPlatform getARVRPlatform() const /*override*/;
487
488 // vIndex: 129
489 virtual int getNumberOfParticleFramesToInterpolate() const;
490
491 // vIndex: 130
492 virtual int getDpi() const;
493
494 // vIndex: 131
495 virtual void setDpi(int dpi);
496
497 // vIndex: 132
498 virtual ::UIScalingRules getUIScalingRules() const;
499
500 // vIndex: 133
501 virtual void setUIScalingRules(::UIScalingRules UIScalingRules);
502
503 // vIndex: 134
504 virtual void setVRControllerType(::VRControllerType controllerType);
505
506 // vIndex: 135
507 virtual ::VRControllerType getVRControllerType() const;
508
509 // vIndex: 136
510 virtual bool hasIDEProfiler();
511
512 // vIndex: 137
513 virtual ::std::string getPlatformStringVar(int stringId);
514
515 // vIndex: 138
516 virtual ::std::string getApplicationId() const = 0;
517
518 // vIndex: 139
519 virtual uint64 getFreeMemory() const = 0;
520
521 // vIndex: 140
522 virtual uint64 getMemoryLimit() const = 0;
523
524 // vIndex: 141
525 virtual uint64 getUsedMemory() = 0;
526
527 // vIndex: 20
528 virtual uint64 getTotalPhysicalMemory() const = 0;
529
530 // vIndex: 142
531 virtual uint64 getMaximumUsedMemory();
532
533 // vIndex: 143
534 virtual uint64 getLowMemoryEventThreshold() const;
535
536 // vIndex: 144
537 virtual uint64 getLowMemoryEventRecoveryThreshold() const;
538
539 // vIndex: 19
540 virtual uint64 getLowPhysicalMemoryThreshold() const /*override*/;
541
542 // vIndex: 145
543 virtual void calculateIfLowMemoryDevice();
544
545 // vIndex: 3
546 virtual bool isLowMemoryDevice() const /*override*/;
547
548 // vIndex: 4
549 virtual bool isLowPhysicalMemoryDevice() const /*override*/;
550
551 // vIndex: 146
552 virtual uint64 getTextureMemoryBudget() const;
553
554 // vIndex: 147
555 virtual uint64 getSingleMipDefaultMemoryBudget() const;
556
557 // vIndex: 148
558 virtual ::DeviceSunsetTier getDeviceSunsetTier() const;
559
560 // vIndex: 149
561 virtual int getMaxSimRadiusInChunks() const;
562
563 // vIndex: 150
564 virtual ::std::vector<::std::string> getBroadcastAddresses();
565
566 // vIndex: 151
567 virtual ::std::vector<::std::string> getIPAddresses();
568
569 // vIndex: 152
570 virtual bool useAppPlatformForTelemetryIPAddress();
571
572 // vIndex: 153
573 virtual ::std::string getModelName();
574
575 // vIndex: 154
576 virtual bool usesHDRBrightness() const;
577
578 // vIndex: 155
579 virtual void updateBootstrapSettingsFromTreatmentsAsync();
580
581 // vIndex: 156
582 virtual void setFullscreenMode(::FullscreenMode const fullscreenMode);
583
584 // vIndex: 157
585 virtual bool isNetworkThrottled() const;
586
587 // vIndex: 12
588 virtual bool isLANAllowed() const /*override*/;
589
590 // vIndex: 158
591 virtual bool doesLANRequireMultiplayerRestrictions() const;
592
593 // vIndex: 159
594 virtual void collectGraphicsHardwareDetails();
595
596 // vIndex: 160
597 virtual ::std::string getEdition() const;
598
599 // vIndex: 161
600 virtual ::OsVersion getOSVersion() const;
601
602 // vIndex: 162
603 virtual bool isFireTV() const;
604
605 // vIndex: 163
606 virtual bool isWin10Arm() const;
607
608 // vIndex: 164
609 virtual void setThreadsFrozen(bool frozen);
610
611 // vIndex: 165
612 virtual bool areThreadsFrozen() const;
613
614 // vIndex: 166
615 virtual float getDefaultSafeZoneScaleX() const;
616
617 // vIndex: 167
618 virtual float getDefaultSafeZoneScaleY() const;
619
620 // vIndex: 168
621 virtual float getDefaultSafeZoneScaleAll() const;
622
623 // vIndex: 169
624 virtual float getDefaultScreenPositionX() const;
625
626 // vIndex: 170
627 virtual float getDefaultScreenPositionY() const;
628
629 // vIndex: 171
630 virtual bool isQuitCapable() const;
631
632 // vIndex: 172
633 virtual bool requireControllerAtStartup() const;
634
635 // vIndex: 173
636 virtual bool notifyControllerConnectionStateChange() const;
637
638 // vIndex: 174
639 virtual bool platformRequiresControllerApplet() const;
640
641 // vIndex: 175
642 virtual ::InputMode getDefaultInputMode() const;
643
644 // vIndex: 176
645 virtual ::AppFocusState getFocusState();
646
647 // vIndex: 177
648 virtual ::AppLifecycleContext& getAppLifecycleContext();
649
650 // vIndex: 178
651 virtual uint64 calculateAvailableDiskFreeSpace(::Core::Path const&) = 0;
652
653 // vIndex: 179
654 virtual bool supportsFliteTTS() const;
655
656 // vIndex: 180
657 virtual ::std::unique_ptr<::SecureStorage> getSecureStorage();
658
659 // vIndex: 1
660 virtual ::SecureStorageKey getSecureStorageKey(::std::string const& key) /*override*/;
661
662 // vIndex: 2
663 virtual void setSecureStorageKey(::std::string const& key, ::SecureStorageKey const& value) /*override*/;
664
665 // vIndex: 181
666 virtual bool devHotReloadRenderResources() const;
667
668 // vIndex: 182
669 virtual bool shouldPauseDownloadsWhenEnterGame() const;
670
671 // vIndex: 183
672 virtual bool compareAppReceiptToLocalReceipt(::std::string const& otherReceipt);
673
674 // vIndex: 184
675 virtual ::mce::UUID const& getThirdPartyPackUUID() const;
676
677 // vIndex: 185
678 virtual bool saveTreatmentPacksAsZips() const;
679
680 // vIndex: 186
681 virtual bool saveEncryptedPacksAsZips() const;
682
683 // vIndex: 187
684 virtual bool saveEncryptedWorldTemplatePacksAsZips() const;
685
686 // vIndex: 188
687 virtual bool allowsResourcePackDevelopment() const;
688
689 // vIndex: 189
690 virtual bool supportsLegacySinglePremiumCacheDirectory() const;
691
692 // vIndex: 190
693 virtual bool supportsWorldShare() const;
694
695 // vIndex: 191
696 virtual bool hasJournalingFilesystem() const;
697
698 // vIndex: 192
699 virtual bool isAutoCompactionEnabled() const;
700
701 // vIndex: 193
702 virtual ::std::chrono::nanoseconds getLevelSaveInterval() const;
703
704 // vIndex: 194
705 virtual ::std::chrono::nanoseconds getOptionsSaveInterval() const;
706
707 // vIndex: 195
708 virtual bool hasPlatformSpecificInvites() const;
709
710 // vIndex: 196
711 virtual bool usePlatformProfilePicturesOnly() const;
712
713 // vIndex: 197
714 virtual bool allowBetaXblSignIn() const;
715
716 // vIndex: 198
717 virtual bool requiresXboxLiveSigninToPlay() const;
718
719 // vIndex: 199
720 virtual bool requiresLiveGoldForMultiplayer() const;
721
722 // vIndex: 200
723 virtual bool shouldRegisterForXboxLiveNotifications() const;
724
725 // vIndex: 5
726 virtual bool isRealmsEnabled() const /*override*/;
727
728 // vIndex: 201
729 virtual bool minimizeBackgroundDownloads() const;
730
731 // vIndex: 202
732 virtual bool requiresAutoSaveIconExplanationPopup() const;
733
734 // vIndex: 203
735 virtual ::std::optional<::ScreenshotOptions> getExtraLevelSaveDataIconParams(::std::string const& levelId) const;
736
737 // vIndex: 204
738 virtual ::std::vector<::std::shared_ptr<::Social::MultiplayerService>> getMultiplayerServiceListToRegister() const;
739
740 // vIndex: 18
741 virtual ::std::vector<::Social::MultiplayerServiceIdentifier>
742 getBroadcastingMultiplayerServiceIds(bool xblBroadcast, bool platformBroadcast) const /*override*/;
743
744 // vIndex: 205
745 virtual uint maxFileDataRequestConcurrency() const;
746
747 // vIndex: 206
748 virtual void goToExternalConsumablesStoreListing() const;
749
750 // vIndex: 207
751 virtual float getStoreNetworkFailureTimeout() const;
752
753 // vIndex: 208
754 virtual ::std::shared_ptr<::Core::FileStorageArea>
755 createLoggingStorageArea(::Core::FileAccessType fileAccessType, ::Core::Path const& loggingPath);
756
757 // vIndex: 209
758 virtual void handlePlatformSpecificCommerceError(uint error);
759
760 // vIndex: 210
761 virtual bool isEduMode() const;
762
763 // vIndex: 211
764 virtual bool importAsFlatFile() const;
765
766 // vIndex: 212
767 virtual bool isWebviewSupported() const;
768
769 // vIndex: 213
770 virtual ::std::shared_ptr<::WebviewInterface> createWebview(::Webview::PlatformArguments&&) const;
771
772 // vIndex: 214
773 virtual bool canAppSelfTerminate() const = 0;
774
775 // vIndex: 215
776 virtual bool getPlatformTTSExists() const;
777
778 // vIndex: 216
779 virtual bool getPlatformTTSEnabled() const;
780
781 // vIndex: 217
782 virtual ::std::variant<::HWND__*, ::std::monostate> getRenderSurfaceParameters() const;
783
784 // vIndex: 218
785 virtual bool shouldRemoveGraphicsDeviceOnAppTermination() const;
786
787 // vIndex: 219
788 virtual bool isJoinableViaExternalServers() const;
789
790 // vIndex: 220
791 virtual void onPrimaryUserNetworkReady();
792
793 // vIndex: 221
794 virtual bool isDisplayInitialized() const;
795
796 // vIndex: 222
797 virtual bool usesAsyncOptionSaving() const;
798
799 // vIndex: 223
800 virtual void showPlatformStoreIcon(bool shouldShow);
801
802 // vIndex: 224
803 virtual void showPlatformEmptyStoreDialog(::std::function<void(bool)>&& callback);
804
805 // vIndex: 225
806 virtual bool supportsVRModeSwap() const;
807
808 // vIndex: 226
809 virtual bool canSwapVRMode(bool const inVRMode) const;
810
811 // vIndex: 227
812 virtual void tryEnterVRMode(bool duringStartup, ::std::function<void(bool)> callback);
813
814 // vIndex: 228
815 virtual void exitVRMode(::std::function<void()> callback);
816
817 // vIndex: 229
818 virtual void initializeGameStreaming();
819
820 // vIndex: 230
821 virtual void notifyNetworkConfigurationChanged();
822
823 // vIndex: 231
824 virtual void setKeepScreenOnFlag(bool);
825
826 // vIndex: 232
827 virtual void initializeMulticast() const;
828
829 // vIndex: 233
830 virtual void requestMulticastReceivePermission();
831
832 // vIndex: 234
833 virtual bool hasMulticastReceivePermission() const;
834
835 // vIndex: 235
836 virtual void releaseMulticastReceivePermission() const;
837
838 // vIndex: 236
839 virtual void onMinecraftGameInitComplete();
840
841 // vIndex: 237
842 virtual void onFullGameUnlock();
843
844 // vIndex: 238
845 virtual bool is24HourTimeFormat() const;
846
847 // vIndex: 239
848 virtual ::std::shared_ptr<::Bedrock::Threading::IAsyncResult<bool>>
849 showOSUserDialog(::std::string, ::std::string, ::std::string);
850
851 // vIndex: 240
852 virtual ::Core::PathBuffer<::std::string> _getCurrentStoragePath() const = 0;
853
854 // vIndex: 241
855 virtual ::Core::PathBuffer<::std::string> _getExternalStoragePath() const = 0;
856
857 // vIndex: 242
858 virtual ::Core::PathBuffer<::std::string> _getInternalStoragePath() const = 0;
859
860 // vIndex: 243
861 virtual ::Core::PathBuffer<::std::string> _getUserdataPath() const = 0;
862
863 // vIndex: 244
864 virtual bool _tryEnableCPUBoost();
865
866 // vIndex: 245
867 virtual void _disableCPUBoost();
868
869 // vIndex: 246
870 virtual void _initializeFileStorageAreas();
871
872 // vIndex: 247
873 virtual void _teardownFileStorageAreas();
874
875 // vIndex: 248
876 virtual int getPlatformDpi() const;
877
878 // vIndex: 249
879 virtual ::UIScalingRules getPlatformUIScalingRules() const;
880
881 // vIndex: 250
882 virtual ::Core::PathBuffer<::std::string> getPlatformTempPath() const = 0;
883
884 // vIndex: 251
885 virtual void _onInitialize();
886
887 // vIndex: 252
888 virtual void _onTeardown();
889 // NOLINTEND
890
891public:
892 // member functions
893 // NOLINTBEGIN
894 MCAPI explicit AppPlatform(bool registerService);
895
896 MCAPI void _fireAppTerminated();
897
898 MCAPI void _initializeLoadProfiler();
899
900 MCFOLD ::Core::PathBuffer<::std::string> getInternalStoragePath() const;
901
902 MCAPI ::gsl::not_null<::Bedrock::PubSub::Connector<void()>*> getOnLowMemoryConnector();
903 // NOLINTEND
904
905public:
906 // static variables
907 // NOLINTBEGIN
908 MCAPI static ::Core::PathBuffer<::Core::BasicStackString<char, 1024>> const& HOME_PATH();
909
910 MCAPI static ::Core::PathBuffer<::Core::BasicStackString<char, 1024>> const& LOG_PATH();
911
912 MCAPI static ::Core::PathBuffer<::Core::BasicStackString<char, 1024>> const& SETTINGS_PATH();
913
914 MCAPI static ::Core::PathBuffer<::Core::BasicStackString<char, 1024>> const& SHADERCACHE_PATH();
915 // NOLINTEND
916
917public:
918 // constructor thunks
919 // NOLINTBEGIN
920 MCAPI void* $ctor(bool registerService);
921 // NOLINTEND
922
923public:
924 // destructor thunk
925 // NOLINTBEGIN
926 MCAPI void $dtor();
927 // NOLINTEND
928
929public:
930 // virtual function thunks
931 // NOLINTBEGIN
932 MCAPI void $initialize();
933
934 MCAPI void $teardown();
935
936 MCAPI void $initAppPlatformNetworkSettings();
937
938 MCFOLD void $initializeScreenDependentResources();
939
940 MCAPI uint64 $getHighPerformanceThreadsCount() const;
941
942 MCAPI uint64 $getTotalHardwareThreadsCount() const;
943
944 MCFOLD void $initializeGraphicsDeviceTier();
945
946 MCFOLD uchar $getGraphicsDeviceTier() const;
947
948 MCAPI void $addListener(::AppPlatformListener* l, float priority);
949
950 MCAPI void $removeListener(::AppPlatformListener* l);
951
952 MCFOLD void $restartApp(bool restart);
953
954 MCFOLD bool $restartRequested();
955
956 MCFOLD int const $numberOfThrottledTreatmentPacksToImportPerMinute() const;
957
958 MCFOLD bool const $areTreatmentPacksThrottled() const;
959
960 MCFOLD bool $hasFastAlphaTest() const;
961
962 MCAPI ::std::shared_ptr<::Bedrock::Threading::IAsyncResult<::IntegrityTokenResult>>
963 $requestIntegrityToken(::std::string const& nonceToken);
964
965 MCFOLD void $setIntegrityToken(::std::string const& integrityToken);
966
967 MCFOLD void $setIntegrityTokenErrorMessage(::std::string const& errorMessage);
968
969 MCFOLD bool $supportsInPackageRecursion() const;
970
971 MCFOLD bool $supportsXboxLiveAchievements() const;
972
973 MCFOLD void $hideSplashScreen();
974
975 MCAPI ::std::string $getFeedbackBugsLink() const;
976
977 MCAPI ::std::string $getFeedbackHelpLink() const;
978
979 MCAPI auto $getModalErrorMessageProc() -> ::AssertDialogResponse (*)(::std::string const&, ::std::string const&);
980
981 MCFOLD void $updateLocalization(::std::string const& loc);
982
983 MCFOLD void $setSleepEnabled(bool enabled);
984
985 MCAPI ::Core::PathBuffer<::std::string> $getScratchPath();
986
987 MCFOLD ::Core::PathBuffer<::std::string> $getInternalPackStoragePath() const;
988
989 MCAPI ::Core::PathBuffer<::std::string> $getSettingsPath();
990
991 MCFOLD ::Core::PathBuffer<::std::string> $getLoggingPath() const;
992
993 MCFOLD ::Core::PathBuffer<::std::string> $getPackagedShaderCachePath();
994
995 MCAPI ::Core::PathBuffer<::std::string> $getShaderCachePath();
996
997 MCFOLD ::Core::PathBuffer<::std::string> $getUserdataPathForLevels() const;
998
999 MCFOLD ::Core::PathBuffer<::std::string> $getCacheStoragePath();
1000
1001 MCFOLD ::Core::PathBuffer<::std::string> $getOnDiskScratchPath();
1002
1003 MCAPI ::Core::PathBuffer<::std::string> $getOnDiskPackScratchPath();
1004
1005 MCFOLD ::Core::PathBuffer<::std::string> $getLevelInfoCachePath() const;
1006
1007 MCFOLD ::Core::PathBuffer<::std::string> $getCatalogSearchScratchPath();
1008
1009 MCAPI ::Core::PathBuffer<::std::string> $getUserStorageRootPath() const;
1010
1011 MCFOLD ::std::shared_ptr<::Core::FileStorageArea> $getOrCreateStorageAreaForUser(::Social::UserCreationData const&);
1012
1013 MCFOLD bool $hasSeparatedStorageAreasForContentAcquisition() const;
1014
1015 MCFOLD uint64 $getOptimalLDBSize();
1016
1017 MCAPI int $getMaxLDBFilesOpen() const;
1018
1019 MCFOLD bool $getDisableLDBSeekCompactions() const;
1020
1021 MCFOLD void $showDialog(int dialogId);
1022
1023 MCFOLD void $createUserInput();
1024
1025 MCAPI void $createUserInput(int dialogId);
1026
1027 MCFOLD int $getUserInputStatus();
1028
1029 MCFOLD ::std::vector<::std::string> $getUserInput();
1030
1031 MCAPI ::Bedrock::NotNullNonOwnerPtr<::IFileAccess> $getFileAccess(::ResourceFileSystem fileSystem);
1032
1033 MCAPI ::Core::PathBuffer<::std::string> $copyImportFileToTempFolder(::Core::Path const& filePath);
1034
1035 MCFOLD void $registerFileForCollectionWithCrashDump(::Core::Path const& fileName);
1036
1037 MCFOLD void $registerExperimentsActiveCrashDump(::std::vector<::std::string> const& activeExperiments) const;
1038
1039 MCAPI int $getScreenWidth() const;
1040
1041 MCAPI int $getScreenHeight() const;
1042
1043 MCAPI int $getDisplayWidth();
1044
1045 MCAPI int $getDisplayHeight();
1046
1047 MCFOLD void $setScreenSize(int width, int height);
1048
1049 MCFOLD void $setWindowSize(int width, int height);
1050
1051 MCFOLD void $setWindowText(::std::string const& title);
1052
1053 MCFOLD ::std::optional<::OperationMode> $getOperationMode() const;
1054
1055 MCFOLD bool $allowContentLogWriteToDisk();
1056
1057 MCFOLD uint $getMaxClubsRequests() const;
1058
1059 MCFOLD bool $supportsLaunchingLegacyVersion() const;
1060
1061 MCFOLD void $launchLegacyVersion();
1062
1063 MCFOLD bool $canManageLegacyData() const;
1064
1065 MCFOLD bool $supportsDayOneExperience() const;
1066
1067 MCFOLD bool $canMigrateWorldData() const;
1068
1069 MCFOLD bool $isContentAutoUpdateAllowed() const;
1070
1071 MCAPI int $getMaxSimultaneousDownloads() const;
1072
1073 MCFOLD uint $getMaxSimultaneousServiceRequests() const;
1074
1075 MCFOLD bool $isDownloadAndImportBlocking() const;
1076
1077 MCFOLD bool $isDownloadBuffered() const;
1078
1079 MCFOLD bool $supportsAutoSaveOnDBCompaction() const;
1080
1081 MCFOLD bool $supportsVibration() const;
1082
1083 MCFOLD void $vibrate(int milliSeconds);
1084
1085 MCAPI ::Core::PathBuffer<::std::string> $getAssetFileFullPath(::Core::Path const& filename);
1086
1087 MCAPI ::std::string $readAssetFile(::Core::Path const& filename);
1088
1089 MCAPI bool $hasAssetFile(::Core::Path const& filename);
1090
1091 MCAPI bool $copyAssetFile(::Core::Path const& filename, ::Core::Path const& destination);
1092
1093 MCAPI ::std::set<::Core::PathBuffer<::std::string>>
1094 $listAssetFilesIn(::Core::Path const& path, ::std::string const& extension) const;
1095
1096 MCFOLD bool $supportsClientUpdate() const;
1097
1098 MCAPI ::std::string $getClientUpdateUrl() const;
1099
1100 MCFOLD int $checkLicense();
1101
1102 MCFOLD bool $hasBuyButtonWhenInvalidLicense();
1103
1104 MCAPI bool $isNetworkAvailable() const;
1105
1106 MCFOLD bool $isLANAvailable() const;
1107
1108 MCFOLD bool $isNetworkEnabled(bool onlyWifiAllowed) const;
1109
1110 MCFOLD void $setNetworkAllowed(bool allowed);
1111
1112 MCFOLD bool $isNetworkAllowed() const;
1113
1114 MCFOLD bool $isInternetAvailable() const;
1115
1116 MCFOLD ::std::optional<bool> $isOnWifiConnectionTelemetryValue();
1117
1118 MCAPI ::NetworkConnectionType $getNetworkConnectionType();
1119
1120 MCAPI void $setNetworkConnectionType(::NetworkConnectionType connectionType);
1121
1122 MCAPI int $getDefaultNetworkMaxPlayers() const;
1123
1124 MCFOLD bool $multiplayerRequiresPremiumAccess() const;
1125
1126 MCFOLD bool $multiplayerRequiresUGCEnabled() const;
1127
1128 MCFOLD bool $isCrossPlatformToggleVisible() const;
1129
1130 MCFOLD bool $isTelemetryAllowed();
1131
1132 MCFOLD bool $isTrialWorldsTransferToFullGameAllowed() const;
1133
1134 MCFOLD void $buyGame();
1135
1136 MCFOLD void $finish();
1137
1138 MCFOLD bool $canLaunchUri(::std::string const& uri);
1139
1140 MCFOLD void $launchUri(::std::string const& uri);
1141
1142 MCFOLD void $launchSettings();
1143
1144 MCFOLD bool $useXboxControlHelpers() const;
1145
1146 MCFOLD ::PlatformType $getPlatformType() const;
1147
1148 MCFOLD bool $isCentennial() const;
1149
1150 MCFOLD ::std::string $getPackageFamilyName() const;
1151
1152 MCFOLD ::BuildPlatform $getBuildPlatform() const;
1153
1154 MCAPI void $setARVRPlatform(::ARVRPlatform platform);
1155
1156 MCAPI ::ARVRPlatform $getARVRPlatform() const;
1157
1158 MCFOLD int $getNumberOfParticleFramesToInterpolate() const;
1159
1160 MCAPI int $getDpi() const;
1161
1162 MCAPI void $setDpi(int dpi);
1163
1164 MCAPI ::UIScalingRules $getUIScalingRules() const;
1165
1166 MCAPI void $setUIScalingRules(::UIScalingRules UIScalingRules);
1167
1168 MCAPI void $setVRControllerType(::VRControllerType controllerType);
1169
1170 MCAPI ::VRControllerType $getVRControllerType() const;
1171
1172 MCFOLD bool $hasIDEProfiler();
1173
1174 MCAPI ::std::string $getPlatformStringVar(int stringId);
1175
1176 MCAPI uint64 $getMaximumUsedMemory();
1177
1178 MCFOLD uint64 $getLowMemoryEventThreshold() const;
1179
1180 MCAPI uint64 $getLowMemoryEventRecoveryThreshold() const;
1181
1182 MCAPI uint64 $getLowPhysicalMemoryThreshold() const;
1183
1184 MCAPI void $calculateIfLowMemoryDevice();
1185
1186 MCAPI bool $isLowMemoryDevice() const;
1187
1188 MCAPI bool $isLowPhysicalMemoryDevice() const;
1189
1190 MCFOLD uint64 $getTextureMemoryBudget() const;
1191
1192 MCFOLD uint64 $getSingleMipDefaultMemoryBudget() const;
1193
1194 MCFOLD ::DeviceSunsetTier $getDeviceSunsetTier() const;
1195
1196 MCAPI int $getMaxSimRadiusInChunks() const;
1197
1198 MCFOLD ::std::vector<::std::string> $getBroadcastAddresses();
1199
1200 MCFOLD ::std::vector<::std::string> $getIPAddresses();
1201
1202 MCFOLD bool $useAppPlatformForTelemetryIPAddress();
1203
1204 MCAPI ::std::string $getModelName();
1205
1206 MCFOLD bool $usesHDRBrightness() const;
1207
1208 MCFOLD void $updateBootstrapSettingsFromTreatmentsAsync();
1209
1210 MCFOLD void $setFullscreenMode(::FullscreenMode const fullscreenMode);
1211
1212 MCAPI bool $isNetworkThrottled() const;
1213
1214 MCFOLD bool $isLANAllowed() const;
1215
1216 MCFOLD bool $doesLANRequireMultiplayerRestrictions() const;
1217
1218 MCAPI void $collectGraphicsHardwareDetails();
1219
1220 MCAPI ::std::string $getEdition() const;
1221
1222 MCFOLD ::OsVersion $getOSVersion() const;
1223
1224 MCFOLD bool $isFireTV() const;
1225
1226 MCFOLD bool $isWin10Arm() const;
1227
1228 MCAPI void $setThreadsFrozen(bool frozen);
1229
1230 MCAPI bool $areThreadsFrozen() const;
1231
1232 MCFOLD float $getDefaultSafeZoneScaleX() const;
1233
1234 MCFOLD float $getDefaultSafeZoneScaleY() const;
1235
1236 MCFOLD float $getDefaultSafeZoneScaleAll() const;
1237
1238 MCFOLD float $getDefaultScreenPositionX() const;
1239
1240 MCFOLD float $getDefaultScreenPositionY() const;
1241
1242 MCAPI bool $isQuitCapable() const;
1243
1244 MCFOLD bool $requireControllerAtStartup() const;
1245
1246 MCFOLD bool $notifyControllerConnectionStateChange() const;
1247
1248 MCFOLD bool $platformRequiresControllerApplet() const;
1249
1250 MCAPI ::InputMode $getDefaultInputMode() const;
1251
1252 MCAPI ::AppFocusState $getFocusState();
1253
1254 MCFOLD ::AppLifecycleContext& $getAppLifecycleContext();
1255
1256 MCFOLD bool $supportsFliteTTS() const;
1257
1258 MCAPI ::std::unique_ptr<::SecureStorage> $getSecureStorage();
1259
1260 MCAPI ::SecureStorageKey $getSecureStorageKey(::std::string const& key);
1261
1262 MCFOLD void $setSecureStorageKey(::std::string const& key, ::SecureStorageKey const& value);
1263
1264 MCFOLD bool $devHotReloadRenderResources() const;
1265
1266 MCFOLD bool $shouldPauseDownloadsWhenEnterGame() const;
1267
1268 MCFOLD bool $compareAppReceiptToLocalReceipt(::std::string const& otherReceipt);
1269
1270 MCAPI ::mce::UUID const& $getThirdPartyPackUUID() const;
1271
1272 MCFOLD bool $saveTreatmentPacksAsZips() const;
1273
1274 MCFOLD bool $saveEncryptedPacksAsZips() const;
1275
1276 MCFOLD bool $saveEncryptedWorldTemplatePacksAsZips() const;
1277
1278 MCFOLD bool $allowsResourcePackDevelopment() const;
1279
1280 MCFOLD bool $supportsLegacySinglePremiumCacheDirectory() const;
1281
1282 MCFOLD bool $supportsWorldShare() const;
1283
1284 MCFOLD bool $hasJournalingFilesystem() const;
1285
1286 MCFOLD bool $isAutoCompactionEnabled() const;
1287
1288 MCAPI ::std::chrono::nanoseconds $getLevelSaveInterval() const;
1289
1290 MCAPI ::std::chrono::nanoseconds $getOptionsSaveInterval() const;
1291
1292 MCFOLD bool $hasPlatformSpecificInvites() const;
1293
1294 MCFOLD bool $usePlatformProfilePicturesOnly() const;
1295
1296 MCFOLD bool $allowBetaXblSignIn() const;
1297
1298 MCFOLD bool $requiresXboxLiveSigninToPlay() const;
1299
1300 MCFOLD bool $requiresLiveGoldForMultiplayer() const;
1301
1302 MCFOLD bool $shouldRegisterForXboxLiveNotifications() const;
1303
1304 MCAPI bool $isRealmsEnabled() const;
1305
1306 MCFOLD bool $minimizeBackgroundDownloads() const;
1307
1308 MCFOLD bool $requiresAutoSaveIconExplanationPopup() const;
1309
1310 MCAPI ::std::optional<::ScreenshotOptions> $getExtraLevelSaveDataIconParams(::std::string const& levelId) const;
1311
1312 MCFOLD ::std::vector<::std::shared_ptr<::Social::MultiplayerService>> $getMultiplayerServiceListToRegister() const;
1313
1314 MCFOLD ::std::vector<::Social::MultiplayerServiceIdentifier>
1315 $getBroadcastingMultiplayerServiceIds(bool xblBroadcast, bool platformBroadcast) const;
1316
1317 MCFOLD uint $maxFileDataRequestConcurrency() const;
1318
1319 MCFOLD void $goToExternalConsumablesStoreListing() const;
1320
1321 MCAPI float $getStoreNetworkFailureTimeout() const;
1322
1323 MCAPI ::std::shared_ptr<::Core::FileStorageArea>
1324 $createLoggingStorageArea(::Core::FileAccessType fileAccessType, ::Core::Path const& loggingPath);
1325
1326 MCFOLD void $handlePlatformSpecificCommerceError(uint error);
1327
1328 MCFOLD bool $isEduMode() const;
1329
1330 MCFOLD bool $importAsFlatFile() const;
1331
1332 MCFOLD bool $isWebviewSupported() const;
1333
1334 MCFOLD ::std::shared_ptr<::WebviewInterface> $createWebview(::Webview::PlatformArguments&&) const;
1335
1336 MCFOLD bool $getPlatformTTSExists() const;
1337
1338 MCFOLD bool $getPlatformTTSEnabled() const;
1339
1340 MCAPI ::std::variant<::HWND__*, ::std::monostate> $getRenderSurfaceParameters() const;
1341
1342 MCFOLD bool $shouldRemoveGraphicsDeviceOnAppTermination() const;
1343
1344 MCFOLD bool $isJoinableViaExternalServers() const;
1345
1346 MCFOLD void $onPrimaryUserNetworkReady();
1347
1348 MCFOLD bool $isDisplayInitialized() const;
1349
1350 MCFOLD bool $usesAsyncOptionSaving() const;
1351
1352 MCFOLD void $showPlatformStoreIcon(bool shouldShow);
1353
1354 MCAPI void $showPlatformEmptyStoreDialog(::std::function<void(bool)>&& callback);
1355
1356 MCFOLD bool $supportsVRModeSwap() const;
1357
1358 MCFOLD bool $canSwapVRMode(bool const inVRMode) const;
1359
1360 MCFOLD void $tryEnterVRMode(bool duringStartup, ::std::function<void(bool)> callback);
1361
1362 MCFOLD void $exitVRMode(::std::function<void()> callback);
1363
1364 MCFOLD void $initializeGameStreaming();
1365
1366 MCAPI void $notifyNetworkConfigurationChanged();
1367
1368 MCFOLD void $setKeepScreenOnFlag(bool);
1369
1370 MCFOLD void $initializeMulticast() const;
1371
1372 MCFOLD void $requestMulticastReceivePermission();
1373
1374 MCFOLD bool $hasMulticastReceivePermission() const;
1375
1376 MCFOLD void $releaseMulticastReceivePermission() const;
1377
1378 MCFOLD void $onMinecraftGameInitComplete();
1379
1380 MCFOLD void $onFullGameUnlock();
1381
1382 MCFOLD bool $is24HourTimeFormat() const;
1383
1384 MCAPI ::std::shared_ptr<::Bedrock::Threading::IAsyncResult<bool>>
1385 $showOSUserDialog(::std::string, ::std::string, ::std::string);
1386
1387 MCFOLD bool $_tryEnableCPUBoost();
1388
1389 MCFOLD void $_disableCPUBoost();
1390
1391 MCFOLD void $_initializeFileStorageAreas();
1392
1393 MCAPI void $_teardownFileStorageAreas();
1394
1395 MCFOLD int $getPlatformDpi() const;
1396
1397 MCAPI ::UIScalingRules $getPlatformUIScalingRules() const;
1398
1399 MCFOLD void $_onInitialize();
1400
1401 MCFOLD void $_onTeardown();
1402 // NOLINTEND
1403
1404public:
1405 // vftables
1406 // NOLINTBEGIN
1407 MCAPI static void** $vftableForIAppPlatform();
1408
1409 MCAPI static void** $vftableForISecureStorageKeySystem();
1410 // NOLINTEND
1411};
Definition AppLifecycleContext.h:5
Definition AppPlatformListener.h:14
Definition AppPlatform.h:49
Definition Connector.h:8
Definition Path.h:15
Definition IAppPlatform.h:12
Definition IFileAccess.h:15
Definition ISecureStorageKeySystem.h:10
Definition Path.h:16
Definition SecureStorageKey.h:5
Definition SecureStorage.h:5
Definition WebviewInterface.h:5
Definition PlatformArguments.h:7
Definition IntegrityTokenResult.h:5
Definition ScreenshotOptions.h:5
Definition UserCreationData.h:7
Definition Alias.h:14