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/gui/oreui/binding/queries/core/PlatformType.h"
7#include "mc/deps/application/AppAction.h"
8#include "mc/deps/application/ClipboardFeatureFlags.h"
9#include "mc/deps/application/DeviceSunsetTier.h"
10#include "mc/deps/application/IAppPlatform.h"
11#include "mc/deps/application/LowMemorySeverity.h"
12#include "mc/deps/application/OsVersion.h"
13#include "mc/deps/application/ProcessExecutionState.h"
14#include "mc/deps/application/StoragePermissionResult.h"
15#include "mc/deps/core/NetworkConnectionType.h"
16#include "mc/deps/core/debug/AssertDialogResponse.h"
17#include "mc/deps/core/file/FileAccessType.h"
18#include "mc/deps/core/file/PathBuffer.h"
19#include "mc/deps/core/platform/AppFocusState.h"
20#include "mc/deps/core/platform/BuildPlatform.h"
21#include "mc/deps/core/platform/FileStorageDirectory.h"
22#include "mc/deps/core/platform/FullscreenMode.h"
23#include "mc/deps/core/platform/OperationMode.h"
24#include "mc/deps/core/platform/PermissionRequestReason.h"
25#include "mc/deps/core/platform/UIScalingRules.h"
26#include "mc/deps/core/platform_info/RefreshRate.h"
27#include "mc/deps/core/resource/ResourceFileSystem.h"
28#include "mc/deps/core/secure_storage/ISecureStorageKeySystem.h"
29#include "mc/deps/core/string/BasicStackString.h"
30#include "mc/deps/core/threading/Async.h"
31#include "mc/deps/core/threading/MPMCQueue.h"
32#include "mc/deps/core/utility/NonOwnerPointer.h"
33#include "mc/deps/input/InputMode.h"
34#include "mc/deps/input/PointerType.h"
35#include "mc/platform/Result.h"
36
37// auto generated forward declare list
38// clang-format off
45class IFileAccess;
46class PDFWriter;
47class PropertyBag;
48class SecureStorage;
51class UriListener;
53struct TextBoxSelection;
54namespace Bedrock::PubSub { class Subscription; }
55namespace Core { class FileHandlePool; }
56namespace Core { class FileStorageArea; }
57namespace Core { class Path; }
58namespace Core { class PathView; }
59namespace dragon::platform { struct SurfaceParameters; }
60namespace mce { class UUID; }
61namespace mce { struct Image; }
62class ActivationUri;
66class RectangleArea;
69namespace ApplicationSignal { class ClipboardCopy; }
70namespace ApplicationSignal { class ClipboardPaste; }
71namespace ApplicationSignal { class ClipboardPasteRequest; }
72namespace Bedrock { class CommonPlatform; }
73namespace MarketplaceErrorUtils { struct StoreErrorResult; }
74namespace Social { struct UserCreationData; }
75namespace Webview { class PlatformArguments; }
76// clang-format on
77
78class AppPlatform : public ::IAppPlatform, public ::ISecureStorageKeySystem {
79public:
80 // AppPlatform inner types declare
81 // clang-format off
82 struct Members;
83 struct ReadMode;
84 // clang-format on
85
86 // AppPlatform inner types define
87 struct Members {
88 public:
89 // member variables
90 // NOLINTBEGIN
98#ifdef LL_PLAT_C
100#endif
144#ifdef LL_PLAT_C
146#endif
150 // NOLINTEND
151
152 public:
153 // prevent constructor by default
154 Members& operator=(Members const&);
155 Members(Members const&);
156 Members();
157
158 public:
159 // member functions
160 // NOLINTBEGIN
161 MCNAPI ~Members();
162 // NOLINTEND
163
164 public:
165 // static variables
166 // NOLINTBEGIN
167#ifdef LL_PLAT_C
168 MCNAPI static bool& mIsInitialized();
169
170 MCNAPI static ::ActivationUri& mPendingProtocolActivation();
171
172 MCNAPI static ::std::mutex& mProtocolMutex();
173#endif
174 // NOLINTEND
175
176 public:
177 // destructor thunk
178 // NOLINTBEGIN
179 MCNAPI void $dtor();
180 // NOLINTEND
181 };
182
183 struct ReadMode {
184 public:
185 // member variables
186 // NOLINTBEGIN
188 // NOLINTEND
189
190 public:
191 // prevent constructor by default
192 ReadMode& operator=(ReadMode const&);
193 ReadMode(ReadMode const&);
194 ReadMode();
195 };
196
197 using Listener = ::AppPlatformListener;
198
199public:
200 // member variables
201 // NOLINTBEGIN
202 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::AppPlatform::Members>>> mMembers;
203 // NOLINTEND
204
205public:
206 // prevent constructor by default
207 AppPlatform();
208
209public:
210 // virtual functions
211 // NOLINTBEGIN
212 virtual ~AppPlatform() /*override*/;
213
214 virtual void initialize();
215
216 virtual void teardown();
217
218 virtual void initAppPlatformNetworkSettings() /*override*/;
219
220 virtual uint64 getHighPerformanceThreadsCount() const;
221
222 virtual uint64 getTotalHardwareThreadsCount() const;
223
224 virtual void initializeGraphicsDeviceTier();
225
226 virtual void addListener(::AppPlatformListener* l, float priority);
227
228 virtual void removeListener(::AppPlatformListener* l);
229
230 virtual ::ProcessExecutionState getProcessExecutionState() const;
231
232 virtual void restartApp(bool restart);
233
234 virtual bool restartRequested() /*override*/;
235
236 virtual ::Core::PathBuffer<::std::string> getPackagePath() const = 0;
237
238 virtual int const numberOfThrottledTreatmentPacksToImportPerMinute() const /*override*/;
239
240 virtual bool const areTreatmentPacksThrottled() const /*override*/;
241
242 virtual ::HardwareMemoryTierUtil const& getHardwareMemoryTierUtil() const /*override*/;
243
244#ifdef LL_PLAT_C
245 virtual ::Core::PathBuffer<::std::string> getDataUrl() const = 0;
246
247 virtual void loadPNG(::mce::Image& out, ::Core::Path const& filename);
248
249 virtual void loadTGA(::mce::Image& out, ::Core::Path const& filename);
250
251 virtual void loadJPEG(::mce::Image& out, ::Core::Path const& filename);
252
253 virtual int getKeyFromKeyCode(int, int, int);
254
255 virtual void textEditComponentGainedFocus(
256 ::std::string const& currentText,
257 int maxLength,
258 bool limitInput,
259 bool numbersOnly,
260 bool isMultiline
261 );
262
263 virtual void textEditComponentLostFocus();
264
265 virtual void showKeyboard(
266 ::std::string const& currentText,
267 int maxLength,
268 bool limitInput,
269 bool numbersOnly,
270 bool isMultiline,
271 int const controllerId,
272 ::glm::vec2 const& position,
273 float controlHeight,
274 ::InputMode inputMode
275 );
276
277 virtual void hideKeyboard();
278
279 virtual bool blankLineDismissesChat() const;
280
281 virtual bool signWrapsTextEntry() const;
282
283 virtual bool isFullScreenKeyboard() const;
284
285 virtual bool actionSuspendsApp(::AppAction) const;
286
287 virtual float getKeyboardHeight() const;
288
289 virtual bool refocusMouse(bool lostMouse, bool oldMouseGrabbed);
290
291 virtual void setMousePointerType(::Bedrock::Input::PointerType pointerType);
292
293 virtual void hideMousePointer();
294
295 virtual void showMousePointer();
296
297 virtual void postInteractiveSignIn();
298
299 virtual bool useHardwareMouse();
300
301 virtual void provideHardwareMouseImageData(::mce::Image const&);
302
303 virtual bool hasCustomSoftwareCursor() const;
304
305 virtual ::Core::PathBuffer<::std::string> getCustomSoftwareCursorAsset() const;
306
307 virtual bool getPointerFocus();
308
309 virtual void setPointerFocus(bool lostFocus);
310
311 virtual bool isInvertScrollEnabled() const;
312
313 virtual void toggleSimulateTouchWithMouse();
314
315 virtual void _fireAppSuspended();
316
317 virtual void _fireAppResumed();
318
319 virtual void _fireAppFocusLost();
320
321 virtual void _fireAppFocusGained();
322
323 virtual void _fireResizeBegin();
324
325 virtual void _fireResizeEnd();
326
327 virtual void _fireDeviceLost();
328
329 virtual void _fireSurfaceCreated();
330
331 virtual void _fireSurfaceDestroyed();
332
333 virtual void _fireAppConfigurationChanged();
334
335 virtual void _fireAppPaused();
336
337 virtual void _fireAppUnpaused();
338
339 virtual void swapBuffers() = 0;
340
341 virtual void discardBackbuffer();
342
343 virtual ::std::string getSystemLocale() const = 0;
344
345 virtual ::std::string getTermsOfUseHyperlink() const;
346
347 virtual void pickImage(::std::shared_ptr<::ImagePickingCallback> callback) = 0;
348
349 virtual void pickFile(::std::shared_ptr<::FilePickerSettings> settings);
350
351 virtual bool supportsAlbumExport() const;
352
353 virtual bool supportsPDFExport() const;
354
355 virtual ::std::shared_ptr<::PDFWriter> createPlatformPDFWriter();
356
357 virtual void shareFile(::Core::Path const&, ::std::function<void(bool)>);
358
359 virtual bool hasHardwareBackButton();
360
361 virtual bool supportsMSAA() const;
362
363 virtual bool supports3rdPartyServers() const;
364
365 virtual bool supportsManualAddedServers() const;
366
367 virtual bool supportsFilePicking() const;
368
369 virtual bool supportsTouch() const;
370
371 virtual bool supportsKeyboardMouse() const;
372
373 virtual bool supportsGamepad() const;
374
375 virtual ::ClipboardFeatureFlags getClipboardFeatures() const;
376
377 virtual bool supportsClipboardSet() const;
378
379 virtual bool supportsClipboardGet() const;
380
381 virtual bool supportsClipboardAsyncGet() const;
382
383 virtual void setClipboard(::std::string const& value) const;
384
385 virtual ::std::wstring getClipboardText() const;
386
387 virtual void getClipboardTextAsync(::std::function<void(::std::string const&)>) const;
388
389 virtual bool supportsShare() const;
390
391 virtual void share() const;
392
393 virtual bool allowSplitScreen();
394
395 virtual float splitScreenRenderDistScalar(uint numPlayers);
396
397 virtual float uiOpenRenderDistScalar();
398
399 virtual void pushNotificationReceived(::PushNotificationMessage const& msg);
400
401 virtual void openStoragePermissionRequest(
402 ::PermissionRequestReason,
403 ::std::function<void(::StoragePermissionResult)> resultCallback
404 );
405
406 virtual void setStorageDirectory(
407 ::FileStorageDirectory dir,
408 bool isCallback,
409 ::PropertyBag const& extraData,
410 ::std::function<void(bool)> onComplete
411 );
412
413 virtual ::FileStorageDirectory setInitialStorageDirectory(::FileStorageDirectory);
414
415 virtual ::FileStorageDirectory getStorageDirectory() const;
416
417 virtual void setStorageDirectoryChangeDenied(::std::function<void(::FileStorageDirectory)>);
418
419 virtual ::Bedrock::PubSub::Subscription
420 addStorageDirectoryChangedSubscriber(::std::function<void(::Core::Path const&)> callback);
421
422 virtual void runStoragePermissionResultCallback(::StoragePermissionResult result);
423
424 virtual bool hasExternalStoragePermission();
425
426 virtual bool delayOptionSaveUntilCloudSync() const;
427
428 virtual void updateTextEditBoxPosition(::RectangleArea const&, ::RectangleArea const&, float const);
429
430 virtual ::BatteryMonitorInterface const& getBatteryMonitorInterface() const;
431
432 virtual ::ThermalMonitorInterface const& getThermalMonitorInterface() const;
433
434 virtual void trialCorrelationStart();
435
436 virtual void setAllowLostFocusToasts(bool allowLostFocusToasts);
437
438 virtual void setShowLostFocusToasts(bool showLostFocusToasts);
439
440 virtual bool getShowLostFocusToasts();
441
442 virtual double getTimeSFromProcessStart() const = 0;
443
444 virtual ::Bedrock::Threading::Async<::IntegrityTokenResult> requestIntegrityToken(::std::string const& nonceToken);
445
446#endif
447 virtual void setIntegrityToken(::std::string const&);
448
449 virtual void setIntegrityTokenErrorMessage(::std::string const&);
450
451 virtual bool supportsInPackageRecursion() const;
452
453 virtual bool supportsXboxLiveAchievements() const;
454
455 virtual void hideSplashScreen();
456
457 virtual ::std::string getFeedbackBugsLink() const;
458
459 virtual ::std::string getFeedbackHelpLink() const;
460
461 virtual auto getModalErrorMessageProc() -> ::AssertDialogResponse (*)(::std::string const&, ::std::string const&);
462
463 virtual void updateLocalization(::std::string const&);
464
465 virtual void setSleepEnabled(bool);
466
467 virtual ::Core::PathBuffer<::std::string> getScratchPath();
468
469 virtual ::Core::PathBuffer<::std::string> getInternalPackStoragePath() const;
470
471 virtual ::Core::PathBuffer<::std::string> getSettingsPath();
472
473 virtual ::Core::PathBuffer<::std::string> getSharedSettingsPath();
474
475 virtual ::Core::PathBuffer<::std::string> getLoggingPath() const /*override*/;
476
477 virtual ::Core::PathBuffer<::std::string> getPackagedShaderCachePath();
478
479 virtual ::Core::PathBuffer<::std::string> getShaderCachePath();
480
481 virtual ::Core::PathBuffer<::std::string> getUserdataPathForLevels() const;
482
483 virtual ::Core::PathBuffer<::std::string> getCacheStoragePath();
484
485 virtual ::Core::PathBuffer<::std::string> getTextureCacheStoragePath();
486
487 virtual ::Core::PathBuffer<::std::string> getOnDiskScratchPath();
488
489 virtual ::Core::PathBuffer<::std::string> getOnDiskPackScratchPath();
490
491 virtual ::Core::PathBuffer<::std::string> getLevelInfoCachePath() const;
492
493 virtual ::Core::PathBuffer<::std::string> getCatalogSearchScratchPath();
494
495 virtual ::Core::PathBuffer<::std::string> getUserStorageRootPath() const;
496
497 virtual ::std::shared_ptr<::Core::FileStorageArea> getOrCreateStorageAreaForUser(::Social::UserCreationData const&);
498
499 virtual bool hasSeparatedStorageAreasForContentAcquisition() const;
500
501 virtual uint64 getOptimalLDBSize();
502
503 virtual int getMaxLDBFilesOpen() const;
504
505 virtual bool getDisableLDBSeekCompactions() const;
506
507 virtual void showDialog(int);
508
509 virtual void createUserInput();
510
511 virtual void createUserInput(int dialogId);
512
513 virtual int getUserInputStatus();
514
515 virtual ::std::vector<::std::string> getUserInput();
516
517 virtual ::Bedrock::NotNullNonOwnerPtr<::IFileAccess> getFileAccess(::ResourceFileSystem fileSystem);
518
519 virtual ::Core::PathBuffer<::std::string> copyImportFileToTempFolder(::Core::Path const& filePath);
520
521 virtual void registerFileForCollectionWithCrashDump(::Core::Path const&);
522
523 virtual void registerExperimentsActiveCrashDump(::std::vector<::std::string> const& activeExperiments) const;
524
525 virtual int getScreenWidth() const;
526
527 virtual int getScreenHeight() const;
528
529 virtual int getDisplayWidth();
530
531 virtual int getDisplayHeight();
532
533#ifdef LL_PLAT_S
534 virtual void setScreenSize(int, int);
535#else // LL_PLAT_C
536 virtual void setScreenSize(int width, int height);
537#endif
538
539 virtual void setWindowSize(int width, int height);
540
541#ifdef LL_PLAT_S
542 virtual void setWindowText(::std::string const& title);
543#else // LL_PLAT_C
544 virtual void setWindowText(::std::string const&);
545#endif
546
547 virtual ::std::optional<::OperationMode> getOperationMode() const;
548
549 virtual bool allowContentLogWriteToDisk();
550
551 virtual uint getMaxClubsRequests() const;
552
553 virtual void queueForMainThread_DEPRECATED(::std::function<void()> callback) = 0;
554
555 virtual ::MPMCQueue<::std::function<void()>>& getMainThreadQueue() = 0;
556
557 virtual bool supportsLaunchingLegacyVersion() const;
558
559 virtual void launchLegacyVersion();
560
561 virtual bool canManageLegacyData() const;
562
563 virtual bool supportsDayOneExperience() const;
564
565 virtual bool canMigrateWorldData() const;
566
567 virtual bool isContentAutoUpdateAllowed() const;
568
569 virtual int getMaxSimultaneousDownloads() const;
570
571 virtual uint getMaxSimultaneousServiceRequests() const;
572
573 virtual bool isDownloadAndImportBlocking() const;
574
575 virtual bool isDownloadBuffered() const;
576
577 virtual bool supportsAutoSaveOnDBCompaction() const;
578
579 virtual ::std::string getTextBoxBackend() const = 0;
580
581 virtual void setTextBoxBackend(::std::string const& newText) = 0;
582
583 virtual int getCaretPosition() const = 0;
584
585 virtual void setCaretPosition(int position) = 0;
586
587 virtual void setTextBoxSelection(::TextBoxSelection selection);
588
589 virtual bool supportsVibration() const;
590
591 virtual void vibrate(int);
592
593 virtual ::Core::PathBuffer<::std::string> getAssetFileFullPath(::Core::Path const& filename);
594
595 virtual ::Bedrock::Result<::std::string> _readAssetFileInternal(::Core::PathView filename);
596
597 virtual bool hasAssetFile(::Core::Path const& filename);
598
599 virtual bool copyAssetFile(::Core::Path const& filename, ::Core::Path const& destination);
600
601 virtual ::std::set<::Core::PathBuffer<::std::string>>
602 listAssetFilesIn(::Core::Path const& path, ::std::string const& extension) const;
603
604 virtual bool supportsClientUpdate() const;
605
606 virtual ::std::string getClientUpdateUrl() const;
607
608 virtual int checkLicense();
609
610 virtual bool hasBuyButtonWhenInvalidLicense();
611
612 virtual bool isNetworkAvailable() const /*override*/;
613
614 virtual bool isLANAvailable() const /*override*/;
615
616 virtual bool isNetworkEnabled(bool) const /*override*/;
617
618 virtual void setNetworkAllowed(bool);
619
620 virtual bool isNetworkAllowed() const;
621
622 virtual bool isInternetAvailable() const /*override*/;
623
624 virtual ::std::optional<bool> isOnWifiConnectionTelemetryValue();
625
626 virtual ::NetworkConnectionType getNetworkConnectionType();
627
628 virtual void setNetworkConnectionType(::NetworkConnectionType connectionType);
629
630 virtual int getDefaultNetworkMaxPlayers() const /*override*/;
631
632 virtual bool multiplayerRequiresPremiumAccess() const /*override*/;
633
634 virtual bool multiplayerRequiresUGCEnabled() const /*override*/;
635
636 virtual bool isCrossPlatformToggleVisible() const;
637
638 virtual bool isTelemetryAllowed();
639
640 virtual bool isTrialWorldsTransferToFullGameAllowed() const;
641
642 virtual void buyGame();
643
644 virtual void finish();
645
646 virtual bool canLaunchUri(::std::string const& uri);
647
648 virtual void launchUri(::std::string const& uri);
649
650 virtual void launchSettings();
651
652 virtual bool useXboxControlHelpers() const;
653
654 virtual ::PlatformType getPlatformType() const;
655
656 virtual bool isCentennial() const;
657
658 virtual ::std::string getPackageFamilyName() const;
659
660 virtual ::BuildPlatform getBuildPlatform() const /*override*/;
661
662 virtual ::std::string getSubPlatformString() const = 0;
663
664 virtual int getNumberOfParticleFramesToInterpolate() const;
665
666 virtual int getDpi() const;
667
668 virtual void setDpi(int dpi);
669
670 virtual ::UIScalingRules getUIScalingRules() const;
671
672 virtual void setUIScalingRules(::UIScalingRules UIScalingRules);
673
674 virtual bool hasIDEProfiler();
675
676 virtual ::std::string getPlatformStringVar(int);
677
678 virtual ::std::string getApplicationId() const = 0;
679
680 virtual uint64 getFreeMemory() const = 0;
681
682 virtual uint64 getMemoryLimit() const = 0;
683
684 virtual uint64 getUsedMemory() = 0;
685
686 virtual uint64 getTotalPhysicalMemory() const = 0;
687
688 virtual uint64 getMaximumUsedMemory();
689
690 virtual uint64 getLowMemoryEventThreshold(::LowMemorySeverity) const;
691
692 virtual uint64 getLowMemoryEventRecoveryThreshold(::LowMemorySeverity severity) const;
693
694 virtual uint64 getLowPhysicalMemoryThreshold() const /*override*/;
695
696 virtual void calculateIfLowMemoryDevice();
697
698 virtual bool isLowMemoryDevice() const /*override*/;
699
700 virtual bool isLowPhysicalMemoryDevice() const /*override*/;
701
702 virtual uint64 getTextureMemoryBudget() const;
703
704 virtual uint64 getSingleMipDefaultMemoryBudget() const;
705
706 virtual void readyForApplicationExitInfo() const;
707
708 virtual ::DeviceSunsetTier getDeviceSunsetTier() const;
709
710 virtual int getMaxSimRadiusInChunks() const;
711
712 virtual ::std::vector<::std::string> getBroadcastAddresses();
713
714 virtual ::std::vector<::std::string> getIPAddresses();
715
716 virtual bool useAppPlatformForTelemetryIPAddress();
717
718 virtual ::std::string getModelName();
719
720 virtual ::std::string getModelNameForUI();
721
722 virtual void updateBootstrapSettingsFromTreatmentsAsync();
723
724#ifdef LL_PLAT_C
725 virtual ::std::string getDeviceId() const /*override*/;
726
727 virtual ::std::string createUUID() = 0;
728
729 virtual bool isTablet() const = 0;
730
731 virtual void registerUriListener(::UriListener& listener);
732
733 virtual void registerUriListener(::std::string const& verb, ::UriListener& listener);
734
735 virtual void unregisterUriListener(::UriListener const& listener);
736
737 virtual void notifyUriListeners(::ActivationUri const& uri);
738
739 virtual void notifyUriListenerRegistrationDone();
740
741 virtual ::IPlatformScreenshots& getPlatformScreenshots();
742
743 virtual bool isRealmsEnabled() const /*override*/;
744
745#endif
746 virtual void setFullscreenMode(::FullscreenMode const fullscreenMode);
747
748 virtual bool isNetworkThrottled() const;
749
750 virtual bool isLANAllowed() const /*override*/;
751
752 virtual bool doesLANRequireMultiplayerRestrictions() const;
753
754 virtual void collectGraphicsHardwareDetails();
755
756 virtual ::std::string getEdition() const;
757
758 virtual ::OsVersion getOSVersion() const;
759
760 virtual void setThreadsFrozen(bool frozen);
761
762 virtual bool areThreadsFrozen() const;
763
764 virtual float getDefaultSafeZoneScaleX() const;
765
766 virtual float getDefaultSafeZoneScaleY() const;
767
768 virtual float getDefaultSafeZoneScaleAll() const;
769
770 virtual float getDefaultScreenPositionX() const;
771
772 virtual float getDefaultScreenPositionY() const;
773
774 virtual bool isQuitCapable() const;
775
776 virtual bool requireControllerAtStartup() const;
777
778 virtual bool notifyControllerConnectionStateChange() const;
779
780 virtual bool platformRequiresControllerApplet() const;
781
782 virtual ::InputMode getDefaultInputMode() const;
783
784 virtual ::AppFocusState getFocusState();
785
786 virtual ::AppLifecycleContext& getAppLifecycleContext();
787
788 virtual uint64 calculateAvailableDiskFreeSpace(::Core::Path const& rootPath) = 0;
789
790 virtual bool supportsFliteTTS() const;
791
792 virtual ::std::unique_ptr<::SecureStorage> getSecureStorage();
793
794 virtual ::std::unique_ptr<::SecureStorage> getSharedSecureStorage();
795
796 virtual ::SecureStorageKey getSecureStorageKey(::std::string const&) /*override*/;
797
798 virtual void setSecureStorageKey(::std::string const&, ::SecureStorageKey const&) /*override*/;
799
800 virtual bool devHotReloadRenderResources() const;
801
802 virtual bool shouldPauseDownloadsWhenEnterGame() const;
803
804 virtual bool compareAppReceiptToLocalReceipt(::std::string const&);
805
806 virtual ::mce::UUID const& getThirdPartyPackUUID() const;
807
808 virtual ::mce::UUID const& getPlatformBetaPackUUID() const;
809
810 virtual bool saveTreatmentPacksAsZips() const;
811
812 virtual bool saveEncryptedPacksAsZips() const;
813
814 virtual bool saveEncryptedWorldTemplatePacksAsZips() const;
815
816 virtual bool saveEncryptedPersonaPacksAsZips() const;
817
818 virtual bool allowsResourcePackDevelopment() const;
819
820 virtual bool supportsLegacySinglePremiumCacheDirectory() const;
821
822 virtual bool supportsWorldShare() const;
823
824 virtual bool hasJournalingFilesystem() const;
825
826 virtual bool isAutoCompactionEnabled() const;
827
828 virtual ::std::chrono::nanoseconds getLevelSaveInterval() const;
829
830 virtual ::std::chrono::nanoseconds getOptionsSaveInterval() const;
831
832 virtual bool hasPlatformSpecificInvites() const /*override*/;
833
834 virtual bool usePlatformProfilePicturesOnly() const;
835
836 virtual bool allowBetaXblSignIn() const;
837
838 virtual bool requiresXboxLiveSigninToPlay() const;
839
840 virtual bool requiresLiveGoldForMultiplayer() const;
841
842 virtual bool shouldRegisterForXboxLiveNotifications() const;
843
844 virtual bool minimizeBackgroundDownloads() const;
845
846 virtual bool requiresAutoSaveIconExplanationPopup() const;
847
848 virtual uint maxFileDataRequestConcurrency() const;
849
850 virtual void goToExternalConsumablesStoreListing() const /*override*/;
851
852 virtual float getStoreNetworkFailureTimeout() const;
853
854 virtual ::std::shared_ptr<::Core::FileStorageArea>
855 createLoggingStorageArea(::Core::FileAccessType fileAccessType, ::Core::PathView loggingPath);
856
857 virtual uint getPlatformErrorCodeForStoreError(::MarketplaceErrorUtils::StoreErrorResult const&);
858
859 virtual void handlePlatformSpecificCommerceError(uint, ::std::string const&);
860
861 virtual bool isEduMode() const;
862
863 virtual bool importAsFlatFile() const;
864
865 virtual bool isWebviewSupported() const;
866
867#ifdef LL_PLAT_S
868 virtual ::std::shared_ptr<::WebviewInterface> createWebview(::Webview::PlatformArguments&& args) const;
869#else // LL_PLAT_C
870 virtual ::std::shared_ptr<::WebviewInterface> createWebview(::Webview::PlatformArguments&&) const;
871#endif
872
873 virtual bool canAppSelfTerminate() const = 0;
874
875 virtual bool getPlatformTTSExists() const;
876
877 virtual bool getPlatformTTSEnabled() const;
878
879 virtual ::dragon::platform::SurfaceParameters getRenderSurfaceParameters() const;
880
881 virtual bool shouldRemoveGraphicsDeviceOnAppTermination() const;
882
883 virtual bool isJoinableViaExternalServers() const;
884
885 virtual void onPrimaryUserNetworkReady();
886
887 virtual bool isDisplayInitialized() const;
888
889 virtual bool usesAsyncOptionSaving() const;
890
891 virtual void showPlatformStoreIcon(bool);
892
893 virtual void showPlatformEmptyStoreDialog(::std::function<void(bool)>&& callback) /*override*/;
894
895#ifdef LL_PLAT_C
896 virtual void showXboxLiveUserSettings();
897
898#endif
899 virtual void initializeGameStreaming();
900
901 virtual void notifyNetworkConfigurationChanged();
902
903 virtual void setKeepScreenOnFlag(bool);
904
905 virtual void initializeMulticast() const;
906
907 virtual void requestMulticastReceivePermission();
908
909 virtual bool hasMulticastReceivePermission() const;
910
911 virtual void releaseMulticastReceivePermission() const;
912
913 virtual void onMinecraftGameInitComplete();
914
915 virtual void onFullGameUnlock();
916
917 virtual bool is24HourTimeFormat() const;
918
919 virtual ::Bedrock::Threading::Async<bool> showOSUserDialog(::std::string, ::std::string, ::std::string);
920
921#ifdef LL_PLAT_C
922 virtual ::Bedrock::NotNullNonOwnerPtr<::ThrottledFileWriteManager> getThrottledFileWriteManager() const;
923
924#endif
925 virtual ::std::optional<::RefreshRate> getRefreshRate() const;
926
927 virtual ::Core::PathBuffer<::std::string> _getCurrentStoragePath() const = 0;
928
929 virtual ::Core::PathBuffer<::std::string> _getExternalStoragePath() const = 0;
930
931 virtual ::Core::PathBuffer<::std::string> _getInternalStoragePath() const = 0;
932
933 virtual ::Core::PathBuffer<::std::string> _getUserdataPath() const = 0;
934
935 virtual ::Core::PathBuffer<::std::string> _getSharedDataPath() const = 0;
936
937 virtual ::std::chrono::milliseconds getWatchdogTimerDurationForAppSuspend() const;
938
939#ifdef LL_PLAT_C
940 virtual void _notifyUriListeners(::ActivationUri const& uri, bool ignoreVerb);
941
942#endif
943 virtual bool _tryEnableCPUBoost();
944
945 virtual void _disableCPUBoost();
946
947 virtual ::Bedrock::CommonPlatform* getPlatformShim() const;
948
949 virtual void _initializeFileStorageAreas();
950
951 virtual void _teardownFileStorageAreas();
952
953 virtual int getPlatformDpi() const;
954
955 virtual ::UIScalingRules getPlatformUIScalingRules() const;
956
957 virtual ::Core::PathBuffer<::std::string> getPlatformTempPath() const = 0;
958
959 virtual void _onInitialize();
960
961 virtual void _onTeardown();
962 // NOLINTEND
963
964public:
965 // member functions
966 // NOLINTBEGIN
967 MCAPI AppPlatform(::std::unique_ptr<::IAppPlatformImpl> impl, bool registerService);
968
969#ifdef LL_PLAT_C
970 MCAPI void _clipboardCopyHandler(::ApplicationSignal::ClipboardCopy const& signal);
971
972 MCAPI void _clipboardPasteHandler(::ApplicationSignal::ClipboardPaste const& signal);
973
974 MCAPI void _clipboardPasteRequestHandler(::ApplicationSignal::ClipboardPasteRequest const& signal);
975#endif
976
977 MCAPI void _setDeviceTier(::std::string tier);
978
979#ifdef LL_PLAT_C
980 MCAPI void _setLocale(::std::string locale);
981#endif
982
983#ifdef LL_PLAT_S
984 MCAPI void _terminateListeners();
985#endif
986
987#ifdef LL_PLAT_C
988 MCAPI void checkAndTriggerOnLowMemory();
989#endif
990
991 MCAPI ::std::shared_ptr<::Core::FileHandlePool> getArchiveHandlePool() const;
992
993#ifdef LL_PLAT_C
994 MCAPI ::std::string getDeviceIdWarning() const;
995#endif
996
997 MCAPI ::std::string getGraphicsDeviceTier() const;
998
999 MCAPI ::std::optional<::std::locale> getLocaleForDateTimeFormatting() const;
1000
1001#ifdef LL_PLAT_C
1002 MCAPI ::std::string getShareText() const;
1003
1004 MCAPI ::std::string getShareTitle() const;
1005
1006 MCAPI ::std::string getShareUri() const;
1007
1008 MCAPI double getTotalActiveSeconds();
1009
1010 MCAPI void loadImage(::mce::Image& out, ::Core::Path const& filename);
1011#endif
1012
1013 MCAPI ::Bedrock::Result<::std::string>
1014 readAssetFile(::Core::PathView filename, ::AppPlatform::ReadMode const& readMode);
1015
1016#ifdef LL_PLAT_C
1017 MCAPI bool requiresNetworkOutageMessaging() const;
1018
1019 MCAPI void setShareData(::std::string shareTitle, ::std::string shareText, ::std::string shareUri);
1020
1021 MCAPI void setShareMetaData(::std::string const& shareTitle, ::std::string const& shareText);
1022#endif
1023 // NOLINTEND
1024
1025public:
1026 // static functions
1027 // NOLINTBEGIN
1028#ifdef LL_PLAT_S
1029 MCAPI static ::Bedrock::Result<::std::string> _readAssetFileGeneric(::Core::PathView filename);
1030#endif
1031
1032#ifdef LL_PLAT_C
1033 MCAPI static void imGuiAddInputChar(ushort c);
1034
1035 MCAPI static bool mouseInputHandledByImGui();
1036
1037 MCAPI static bool updateImGuiKeyboard(uchar param, bool isDown);
1038
1039 MCAPI static void updateImGuiMouseButton(uchar button, bool isDown);
1040
1041 MCAPI static void updateImGuiMousePosition(float x, float y);
1042
1043 MCAPI static void updateImGuiMouseScrollBar(float value);
1044#endif
1045 // NOLINTEND
1046
1047public:
1048 // static variables
1049 // NOLINTBEGIN
1050 MCAPI static ::Core::PathBuffer<::Core::BasicStackString<char, 1024>> const& HOME_PATH();
1051
1052 MCAPI static ::Core::PathBuffer<::Core::BasicStackString<char, 1024>> const& LOG_PATH();
1053
1054 MCAPI static ::Core::PathBuffer<::Core::BasicStackString<char, 1024>> const& SETTINGS_PATH();
1055
1056 MCAPI static ::Core::PathBuffer<::Core::BasicStackString<char, 1024>> const& SHADERCACHE_PATH();
1057 // NOLINTEND
1058
1059public:
1060 // constructor thunks
1061 // NOLINTBEGIN
1062 MCAPI void* $ctor(::std::unique_ptr<::IAppPlatformImpl> impl, bool registerService);
1063 // NOLINTEND
1064
1065public:
1066 // destructor thunk
1067 // NOLINTBEGIN
1068 MCAPI void $dtor();
1069 // NOLINTEND
1070
1071public:
1072 // virtual function thunks
1073 // NOLINTBEGIN
1074 MCAPI void $initialize();
1075
1076 MCAPI void $teardown();
1077
1078 MCAPI void $initAppPlatformNetworkSettings();
1079
1080 MCAPI uint64 $getHighPerformanceThreadsCount() const;
1081
1082 MCAPI uint64 $getTotalHardwareThreadsCount() const;
1083
1084 MCFOLD void $initializeGraphicsDeviceTier();
1085
1086 MCAPI void $addListener(::AppPlatformListener* l, float priority);
1087
1088 MCAPI void $removeListener(::AppPlatformListener* l);
1089
1090 MCAPI ::ProcessExecutionState $getProcessExecutionState() const;
1091
1092 MCAPI void $restartApp(bool restart);
1093
1094 MCAPI bool $restartRequested();
1095
1096 MCFOLD int const $numberOfThrottledTreatmentPacksToImportPerMinute() const;
1097
1098 MCFOLD bool const $areTreatmentPacksThrottled() const;
1099
1100 MCAPI ::HardwareMemoryTierUtil const& $getHardwareMemoryTierUtil() const;
1101
1102 MCFOLD void $setIntegrityToken(::std::string const&);
1103
1104 MCFOLD void $setIntegrityTokenErrorMessage(::std::string const&);
1105
1106 MCFOLD bool $supportsInPackageRecursion() const;
1107
1108 MCFOLD bool $supportsXboxLiveAchievements() const;
1109
1110 MCFOLD void $hideSplashScreen();
1111
1112 MCAPI ::std::string $getFeedbackBugsLink() const;
1113
1114 MCAPI ::std::string $getFeedbackHelpLink() const;
1115
1116 MCAPI auto $getModalErrorMessageProc() -> ::AssertDialogResponse (*)(::std::string const&, ::std::string const&);
1117
1118 MCFOLD void $updateLocalization(::std::string const&);
1119
1120 MCFOLD void $setSleepEnabled(bool);
1121
1122 MCAPI ::Core::PathBuffer<::std::string> $getScratchPath();
1123
1124 MCAPI ::Core::PathBuffer<::std::string> $getInternalPackStoragePath() const;
1125
1126 MCAPI ::Core::PathBuffer<::std::string> $getSettingsPath();
1127
1128 MCAPI ::Core::PathBuffer<::std::string> $getSharedSettingsPath();
1129
1130 MCFOLD ::Core::PathBuffer<::std::string> $getLoggingPath() const;
1131
1132 MCFOLD ::Core::PathBuffer<::std::string> $getPackagedShaderCachePath();
1133
1134 MCAPI ::Core::PathBuffer<::std::string> $getShaderCachePath();
1135
1136 MCFOLD ::Core::PathBuffer<::std::string> $getUserdataPathForLevels() const;
1137
1138 MCFOLD ::Core::PathBuffer<::std::string> $getCacheStoragePath();
1139
1140 MCAPI ::Core::PathBuffer<::std::string> $getTextureCacheStoragePath();
1141
1142 MCFOLD ::Core::PathBuffer<::std::string> $getOnDiskScratchPath();
1143
1144 MCAPI ::Core::PathBuffer<::std::string> $getOnDiskPackScratchPath();
1145
1146 MCFOLD ::Core::PathBuffer<::std::string> $getLevelInfoCachePath() const;
1147
1148 MCFOLD ::Core::PathBuffer<::std::string> $getCatalogSearchScratchPath();
1149
1150 MCAPI ::Core::PathBuffer<::std::string> $getUserStorageRootPath() const;
1151
1152 MCFOLD ::std::shared_ptr<::Core::FileStorageArea> $getOrCreateStorageAreaForUser(::Social::UserCreationData const&);
1153
1154 MCFOLD bool $hasSeparatedStorageAreasForContentAcquisition() const;
1155
1156 MCFOLD uint64 $getOptimalLDBSize();
1157
1158 MCAPI int $getMaxLDBFilesOpen() const;
1159
1160 MCFOLD bool $getDisableLDBSeekCompactions() const;
1161
1162 MCFOLD void $showDialog(int);
1163
1164 MCFOLD void $createUserInput();
1165
1166 MCAPI void $createUserInput(int dialogId);
1167
1168 MCFOLD int $getUserInputStatus();
1169
1170 MCFOLD ::std::vector<::std::string> $getUserInput();
1171
1172 MCAPI ::Bedrock::NotNullNonOwnerPtr<::IFileAccess> $getFileAccess(::ResourceFileSystem fileSystem);
1173
1174 MCAPI ::Core::PathBuffer<::std::string> $copyImportFileToTempFolder(::Core::Path const& filePath);
1175
1176 MCFOLD void $registerFileForCollectionWithCrashDump(::Core::Path const&);
1177
1178 MCFOLD void $registerExperimentsActiveCrashDump(::std::vector<::std::string> const& activeExperiments) const;
1179
1180 MCAPI int $getScreenWidth() const;
1181
1182 MCAPI int $getScreenHeight() const;
1183
1184 MCAPI int $getDisplayWidth();
1185
1186 MCAPI int $getDisplayHeight();
1187
1188#ifdef LL_PLAT_S
1189 MCFOLD void $setScreenSize(int, int);
1190#else // LL_PLAT_C
1191 MCFOLD void $setScreenSize(int width, int height);
1192#endif
1193
1194 MCFOLD void $setWindowSize(int width, int height);
1195
1196#ifdef LL_PLAT_S
1197 MCFOLD void $setWindowText(::std::string const& title);
1198#else // LL_PLAT_C
1199 MCFOLD void $setWindowText(::std::string const&);
1200#endif
1201
1202 MCFOLD ::std::optional<::OperationMode> $getOperationMode() const;
1203
1204 MCFOLD bool $allowContentLogWriteToDisk();
1205
1206 MCFOLD uint $getMaxClubsRequests() const;
1207
1208 MCFOLD bool $supportsLaunchingLegacyVersion() const;
1209
1210 MCFOLD void $launchLegacyVersion();
1211
1212 MCFOLD bool $canManageLegacyData() const;
1213
1214 MCFOLD bool $supportsDayOneExperience() const;
1215
1216 MCFOLD bool $canMigrateWorldData() const;
1217
1218 MCFOLD bool $isContentAutoUpdateAllowed() const;
1219
1220 MCAPI int $getMaxSimultaneousDownloads() const;
1221
1222 MCFOLD uint $getMaxSimultaneousServiceRequests() const;
1223
1224 MCFOLD bool $isDownloadAndImportBlocking() const;
1225
1226 MCFOLD bool $isDownloadBuffered() const;
1227
1228 MCFOLD bool $supportsAutoSaveOnDBCompaction() const;
1229
1230 MCAPI void $setTextBoxSelection(::TextBoxSelection selection);
1231
1232 MCFOLD bool $supportsVibration() const;
1233
1234 MCFOLD void $vibrate(int);
1235
1236 MCAPI ::Core::PathBuffer<::std::string> $getAssetFileFullPath(::Core::Path const& filename);
1237
1238 MCAPI ::Bedrock::Result<::std::string> $_readAssetFileInternal(::Core::PathView filename);
1239
1240 MCAPI bool $hasAssetFile(::Core::Path const& filename);
1241
1242 MCAPI bool $copyAssetFile(::Core::Path const& filename, ::Core::Path const& destination);
1243
1244 MCAPI ::std::set<::Core::PathBuffer<::std::string>>
1245 $listAssetFilesIn(::Core::Path const& path, ::std::string const& extension) const;
1246
1247 MCFOLD bool $supportsClientUpdate() const;
1248
1249 MCAPI ::std::string $getClientUpdateUrl() const;
1250
1251 MCFOLD int $checkLicense();
1252
1253 MCFOLD bool $hasBuyButtonWhenInvalidLicense();
1254
1255 MCAPI bool $isNetworkAvailable() const;
1256
1257 MCFOLD bool $isLANAvailable() const;
1258
1259 MCFOLD bool $isNetworkEnabled(bool) const;
1260
1261 MCFOLD void $setNetworkAllowed(bool);
1262
1263 MCFOLD bool $isNetworkAllowed() const;
1264
1265 MCFOLD bool $isInternetAvailable() const;
1266
1267 MCFOLD ::std::optional<bool> $isOnWifiConnectionTelemetryValue();
1268
1269 MCAPI ::NetworkConnectionType $getNetworkConnectionType();
1270
1271 MCAPI void $setNetworkConnectionType(::NetworkConnectionType connectionType);
1272
1273 MCAPI int $getDefaultNetworkMaxPlayers() const;
1274
1275 MCFOLD bool $multiplayerRequiresPremiumAccess() const;
1276
1277 MCFOLD bool $multiplayerRequiresUGCEnabled() const;
1278
1279 MCFOLD bool $isCrossPlatformToggleVisible() const;
1280
1281 MCFOLD bool $isTelemetryAllowed();
1282
1283 MCFOLD void $buyGame();
1284
1285 MCFOLD void $finish();
1286
1287 MCFOLD bool $canLaunchUri(::std::string const& uri);
1288
1289 MCFOLD void $launchUri(::std::string const& uri);
1290
1291 MCFOLD void $launchSettings();
1292
1293 MCFOLD bool $useXboxControlHelpers() const;
1294
1295 MCFOLD ::PlatformType $getPlatformType() const;
1296
1297 MCFOLD bool $isCentennial() const;
1298
1299 MCFOLD ::std::string $getPackageFamilyName() const;
1300
1301 MCFOLD ::BuildPlatform $getBuildPlatform() const;
1302
1303 MCFOLD int $getNumberOfParticleFramesToInterpolate() const;
1304
1305 MCAPI int $getDpi() const;
1306
1307 MCAPI void $setDpi(int dpi);
1308
1309 MCAPI ::UIScalingRules $getUIScalingRules() const;
1310
1311 MCAPI void $setUIScalingRules(::UIScalingRules UIScalingRules);
1312
1313 MCFOLD bool $hasIDEProfiler();
1314
1315 MCAPI ::std::string $getPlatformStringVar(int);
1316
1317 MCAPI uint64 $getMaximumUsedMemory();
1318
1319 MCFOLD uint64 $getLowMemoryEventThreshold(::LowMemorySeverity) const;
1320
1321 MCAPI uint64 $getLowMemoryEventRecoveryThreshold(::LowMemorySeverity severity) const;
1322
1323 MCAPI uint64 $getLowPhysicalMemoryThreshold() const;
1324
1325 MCAPI void $calculateIfLowMemoryDevice();
1326
1327 MCAPI bool $isLowMemoryDevice() const;
1328
1329 MCAPI bool $isLowPhysicalMemoryDevice() const;
1330
1331 MCFOLD uint64 $getTextureMemoryBudget() const;
1332
1333 MCFOLD uint64 $getSingleMipDefaultMemoryBudget() const;
1334
1335 MCFOLD void $readyForApplicationExitInfo() const;
1336
1337 MCFOLD ::DeviceSunsetTier $getDeviceSunsetTier() const;
1338
1339 MCAPI int $getMaxSimRadiusInChunks() const;
1340
1341 MCFOLD ::std::vector<::std::string> $getBroadcastAddresses();
1342
1343 MCFOLD ::std::vector<::std::string> $getIPAddresses();
1344
1345 MCFOLD bool $useAppPlatformForTelemetryIPAddress();
1346
1347 MCAPI ::std::string $getModelName();
1348
1349 MCAPI ::std::string $getModelNameForUI();
1350
1351 MCFOLD void $updateBootstrapSettingsFromTreatmentsAsync();
1352
1353 MCFOLD void $setFullscreenMode(::FullscreenMode const fullscreenMode);
1354
1355 MCAPI bool $isNetworkThrottled() const;
1356
1357 MCFOLD bool $isLANAllowed() const;
1358
1359 MCFOLD bool $doesLANRequireMultiplayerRestrictions() const;
1360
1361#ifdef LL_PLAT_S
1362 MCAPI void $collectGraphicsHardwareDetails();
1363#else // LL_PLAT_C
1364 MCFOLD void $collectGraphicsHardwareDetails();
1365#endif
1366
1367 MCAPI ::std::string $getEdition() const;
1368
1369 MCFOLD ::OsVersion $getOSVersion() const;
1370
1371 MCAPI void $setThreadsFrozen(bool frozen);
1372
1373 MCAPI bool $areThreadsFrozen() const;
1374
1375 MCFOLD float $getDefaultSafeZoneScaleX() const;
1376
1377 MCFOLD float $getDefaultSafeZoneScaleY() const;
1378
1379 MCFOLD float $getDefaultSafeZoneScaleAll() const;
1380
1381 MCFOLD float $getDefaultScreenPositionX() const;
1382
1383 MCFOLD float $getDefaultScreenPositionY() const;
1384
1385#ifdef LL_PLAT_S
1386 MCAPI bool $isQuitCapable() const;
1387#else // LL_PLAT_C
1388 MCFOLD bool $isQuitCapable() const;
1389#endif
1390
1391 MCFOLD bool $requireControllerAtStartup() const;
1392
1393 MCFOLD bool $notifyControllerConnectionStateChange() const;
1394
1395 MCFOLD bool $platformRequiresControllerApplet() const;
1396
1397 MCAPI ::InputMode $getDefaultInputMode() const;
1398
1399 MCAPI ::AppFocusState $getFocusState();
1400
1401 MCAPI ::AppLifecycleContext& $getAppLifecycleContext();
1402
1403 MCFOLD bool $supportsFliteTTS() const;
1404
1405 MCAPI ::std::unique_ptr<::SecureStorage> $getSecureStorage();
1406
1407 MCAPI ::std::unique_ptr<::SecureStorage> $getSharedSecureStorage();
1408
1409 MCAPI ::SecureStorageKey $getSecureStorageKey(::std::string const&);
1410
1411 MCFOLD void $setSecureStorageKey(::std::string const&, ::SecureStorageKey const&);
1412
1413 MCFOLD bool $devHotReloadRenderResources() const;
1414
1415 MCFOLD bool $shouldPauseDownloadsWhenEnterGame() const;
1416
1417 MCFOLD bool $compareAppReceiptToLocalReceipt(::std::string const&);
1418
1419 MCFOLD ::mce::UUID const& $getThirdPartyPackUUID() const;
1420
1421 MCFOLD ::mce::UUID const& $getPlatformBetaPackUUID() const;
1422
1423 MCFOLD bool $saveTreatmentPacksAsZips() const;
1424
1425 MCFOLD bool $saveEncryptedPacksAsZips() const;
1426
1427 MCFOLD bool $saveEncryptedWorldTemplatePacksAsZips() const;
1428
1429 MCFOLD bool $saveEncryptedPersonaPacksAsZips() const;
1430
1431 MCFOLD bool $allowsResourcePackDevelopment() const;
1432
1433 MCFOLD bool $supportsLegacySinglePremiumCacheDirectory() const;
1434
1435 MCFOLD bool $supportsWorldShare() const;
1436
1437 MCFOLD bool $hasJournalingFilesystem() const;
1438
1439 MCFOLD bool $isAutoCompactionEnabled() const;
1440
1441 MCAPI ::std::chrono::nanoseconds $getLevelSaveInterval() const;
1442
1443 MCAPI ::std::chrono::nanoseconds $getOptionsSaveInterval() const;
1444
1445 MCFOLD bool $hasPlatformSpecificInvites() const;
1446
1447 MCFOLD bool $usePlatformProfilePicturesOnly() const;
1448
1449 MCFOLD bool $allowBetaXblSignIn() const;
1450
1451 MCFOLD bool $requiresXboxLiveSigninToPlay() const;
1452
1453 MCFOLD bool $requiresLiveGoldForMultiplayer() const;
1454
1455 MCFOLD bool $shouldRegisterForXboxLiveNotifications() const;
1456
1457 MCFOLD bool $minimizeBackgroundDownloads() const;
1458
1459 MCFOLD bool $requiresAutoSaveIconExplanationPopup() const;
1460
1461 MCFOLD uint $maxFileDataRequestConcurrency() const;
1462
1463 MCFOLD void $goToExternalConsumablesStoreListing() const;
1464
1465 MCAPI float $getStoreNetworkFailureTimeout() const;
1466
1467 MCAPI ::std::shared_ptr<::Core::FileStorageArea>
1468 $createLoggingStorageArea(::Core::FileAccessType fileAccessType, ::Core::PathView loggingPath);
1469
1470 MCFOLD uint $getPlatformErrorCodeForStoreError(::MarketplaceErrorUtils::StoreErrorResult const&);
1471
1472 MCFOLD void $handlePlatformSpecificCommerceError(uint, ::std::string const&);
1473
1474 MCFOLD bool $isEduMode() const;
1475
1476 MCFOLD bool $importAsFlatFile() const;
1477
1478 MCFOLD bool $isWebviewSupported() const;
1479
1480#ifdef LL_PLAT_S
1481 MCFOLD ::std::shared_ptr<::WebviewInterface> $createWebview(::Webview::PlatformArguments&& args) const;
1482#else // LL_PLAT_C
1483 MCFOLD ::std::shared_ptr<::WebviewInterface> $createWebview(::Webview::PlatformArguments&&) const;
1484#endif
1485
1486 MCFOLD bool $getPlatformTTSExists() const;
1487
1488 MCFOLD bool $getPlatformTTSEnabled() const;
1489
1490 MCFOLD ::dragon::platform::SurfaceParameters $getRenderSurfaceParameters() const;
1491
1492 MCFOLD bool $shouldRemoveGraphicsDeviceOnAppTermination() const;
1493
1494 MCFOLD bool $isJoinableViaExternalServers() const;
1495
1496 MCFOLD void $onPrimaryUserNetworkReady();
1497
1498 MCFOLD bool $isDisplayInitialized() const;
1499
1500 MCFOLD bool $usesAsyncOptionSaving() const;
1501
1502 MCFOLD void $showPlatformStoreIcon(bool);
1503
1504 MCAPI void $showPlatformEmptyStoreDialog(::std::function<void(bool)>&& callback);
1505
1506 MCFOLD void $initializeGameStreaming();
1507
1508 MCAPI void $notifyNetworkConfigurationChanged();
1509
1510 MCFOLD void $setKeepScreenOnFlag(bool);
1511
1512 MCFOLD void $initializeMulticast() const;
1513
1514 MCFOLD void $requestMulticastReceivePermission();
1515
1516 MCFOLD bool $hasMulticastReceivePermission() const;
1517
1518 MCFOLD void $releaseMulticastReceivePermission() const;
1519
1520 MCFOLD void $onMinecraftGameInitComplete();
1521
1522 MCFOLD void $onFullGameUnlock();
1523
1524 MCFOLD bool $is24HourTimeFormat() const;
1525
1526 MCAPI ::Bedrock::Threading::Async<bool> $showOSUserDialog(::std::string, ::std::string, ::std::string);
1527
1528 MCFOLD ::std::optional<::RefreshRate> $getRefreshRate() const;
1529
1530 MCAPI ::std::chrono::milliseconds $getWatchdogTimerDurationForAppSuspend() const;
1531
1532 MCFOLD bool $_tryEnableCPUBoost();
1533
1534 MCFOLD void $_disableCPUBoost();
1535
1536 MCFOLD ::Bedrock::CommonPlatform* $getPlatformShim() const;
1537
1538#ifdef LL_PLAT_S
1539 MCFOLD void $_initializeFileStorageAreas();
1540#else // LL_PLAT_C
1541 MCAPI void $_initializeFileStorageAreas();
1542#endif
1543
1544 MCAPI void $_teardownFileStorageAreas();
1545
1546 MCFOLD int $getPlatformDpi() const;
1547
1548 MCAPI ::UIScalingRules $getPlatformUIScalingRules() const;
1549
1550 MCFOLD void $_onInitialize();
1551
1552 MCFOLD void $_onTeardown();
1553
1554#ifdef LL_PLAT_C
1555 MCFOLD void $loadPNG(::mce::Image& out, ::Core::Path const& filename);
1556
1557 MCFOLD void $loadTGA(::mce::Image& out, ::Core::Path const& filename);
1558
1559 MCFOLD void $loadJPEG(::mce::Image& out, ::Core::Path const& filename);
1560
1561 MCFOLD int $getKeyFromKeyCode(int, int, int);
1562
1563 MCFOLD void $textEditComponentGainedFocus(
1564 ::std::string const& currentText,
1565 int maxLength,
1566 bool limitInput,
1567 bool numbersOnly,
1568 bool isMultiline
1569 );
1570
1571 MCFOLD void $textEditComponentLostFocus();
1572
1573 MCAPI void $showKeyboard(
1574 ::std::string const& currentText,
1575 int maxLength,
1576 bool limitInput,
1577 bool numbersOnly,
1578 bool isMultiline,
1579 int const controllerId,
1580 ::glm::vec2 const& position,
1581 float controlHeight,
1582 ::InputMode inputMode
1583 );
1584
1585 MCAPI void $hideKeyboard();
1586
1587 MCAPI bool $blankLineDismissesChat() const;
1588
1589 MCFOLD bool $signWrapsTextEntry() const;
1590
1591 MCFOLD bool $isFullScreenKeyboard() const;
1592
1593 MCFOLD bool $actionSuspendsApp(::AppAction) const;
1594
1595 MCFOLD float $getKeyboardHeight() const;
1596
1597 MCAPI bool $refocusMouse(bool lostMouse, bool oldMouseGrabbed);
1598
1599 MCFOLD void $setMousePointerType(::Bedrock::Input::PointerType pointerType);
1600
1601 MCFOLD void $hideMousePointer();
1602
1603 MCFOLD void $showMousePointer();
1604
1605 MCFOLD void $postInteractiveSignIn();
1606
1607 MCFOLD bool $useHardwareMouse();
1608
1609 MCFOLD void $provideHardwareMouseImageData(::mce::Image const&);
1610
1611 MCFOLD bool $hasCustomSoftwareCursor() const;
1612
1613 MCFOLD ::Core::PathBuffer<::std::string> $getCustomSoftwareCursorAsset() const;
1614
1615 MCAPI bool $getPointerFocus();
1616
1617 MCAPI void $setPointerFocus(bool lostFocus);
1618
1619 MCFOLD bool $isInvertScrollEnabled() const;
1620
1621 MCFOLD void $toggleSimulateTouchWithMouse();
1622
1623 MCAPI void $_fireAppSuspended();
1624
1625 MCAPI void $_fireAppResumed();
1626
1627 MCAPI void $_fireAppFocusLost();
1628
1629 MCAPI void $_fireAppFocusGained();
1630
1631 MCAPI void $_fireResizeBegin();
1632
1633 MCAPI void $_fireResizeEnd();
1634
1635 MCAPI void $_fireDeviceLost();
1636
1637 MCAPI void $_fireSurfaceCreated();
1638
1639 MCAPI void $_fireSurfaceDestroyed();
1640
1641 MCFOLD void $_fireAppConfigurationChanged();
1642
1643 MCAPI void $_fireAppPaused();
1644
1645 MCAPI void $_fireAppUnpaused();
1646
1647 MCFOLD void $discardBackbuffer();
1648
1649 MCAPI ::std::string $getTermsOfUseHyperlink() const;
1650
1651 MCFOLD void $pickFile(::std::shared_ptr<::FilePickerSettings> settings);
1652
1653 MCFOLD bool $supportsAlbumExport() const;
1654
1655 MCFOLD bool $supportsPDFExport() const;
1656
1657 MCFOLD ::std::shared_ptr<::PDFWriter> $createPlatformPDFWriter();
1658
1659 MCAPI void $shareFile(::Core::Path const&, ::std::function<void(bool)>);
1660
1661 MCFOLD bool $hasHardwareBackButton();
1662
1663 MCFOLD bool $supportsMSAA() const;
1664
1665 MCFOLD bool $supports3rdPartyServers() const;
1666
1667 MCFOLD bool $supportsManualAddedServers() const;
1668
1669 MCFOLD bool $supportsFilePicking() const;
1670
1671 MCFOLD bool $supportsTouch() const;
1672
1673 MCFOLD bool $supportsKeyboardMouse() const;
1674
1675 MCFOLD bool $supportsGamepad() const;
1676
1677 MCFOLD ::ClipboardFeatureFlags $getClipboardFeatures() const;
1678
1679 MCAPI bool $supportsClipboardSet() const;
1680
1681 MCAPI bool $supportsClipboardGet() const;
1682
1683 MCAPI bool $supportsClipboardAsyncGet() const;
1684
1685 MCFOLD void $setClipboard(::std::string const& value) const;
1686
1687 MCAPI ::std::wstring $getClipboardText() const;
1688
1689 MCFOLD void $getClipboardTextAsync(::std::function<void(::std::string const&)>) const;
1690
1691 MCFOLD bool $supportsShare() const;
1692
1693 MCFOLD void $share() const;
1694
1695 MCAPI bool $allowSplitScreen();
1696
1697 MCAPI float $splitScreenRenderDistScalar(uint numPlayers);
1698
1699 MCAPI float $uiOpenRenderDistScalar();
1700
1701 MCAPI void $pushNotificationReceived(::PushNotificationMessage const& msg);
1702
1703 MCAPI void $openStoragePermissionRequest(
1704 ::PermissionRequestReason,
1705 ::std::function<void(::StoragePermissionResult)> resultCallback
1706 );
1707
1708 MCFOLD void $setStorageDirectory(
1709 ::FileStorageDirectory dir,
1710 bool isCallback,
1711 ::PropertyBag const& extraData,
1712 ::std::function<void(bool)> onComplete
1713 );
1714
1715 MCFOLD ::FileStorageDirectory $setInitialStorageDirectory(::FileStorageDirectory);
1716
1717 MCFOLD ::FileStorageDirectory $getStorageDirectory() const;
1718
1719 MCFOLD void $setStorageDirectoryChangeDenied(::std::function<void(::FileStorageDirectory)>);
1720
1721 MCFOLD ::Bedrock::PubSub::Subscription
1722 $addStorageDirectoryChangedSubscriber(::std::function<void(::Core::Path const&)> callback);
1723
1724 MCAPI void $runStoragePermissionResultCallback(::StoragePermissionResult result);
1725
1726 MCFOLD bool $hasExternalStoragePermission();
1727
1728 MCFOLD bool $delayOptionSaveUntilCloudSync() const;
1729
1730 MCFOLD void $updateTextEditBoxPosition(::RectangleArea const&, ::RectangleArea const&, float const);
1731
1732 MCAPI ::BatteryMonitorInterface const& $getBatteryMonitorInterface() const;
1733
1734 MCAPI ::ThermalMonitorInterface const& $getThermalMonitorInterface() const;
1735
1736 MCFOLD void $trialCorrelationStart();
1737
1738 MCAPI void $setAllowLostFocusToasts(bool allowLostFocusToasts);
1739
1740 MCAPI void $setShowLostFocusToasts(bool showLostFocusToasts);
1741
1742 MCAPI bool $getShowLostFocusToasts();
1743
1744 MCAPI ::Bedrock::Threading::Async<::IntegrityTokenResult> $requestIntegrityToken(::std::string const& nonceToken);
1745
1746 MCAPI ::std::string $getDeviceId() const;
1747
1748 MCAPI void $registerUriListener(::UriListener& listener);
1749
1750 MCAPI void $registerUriListener(::std::string const& verb, ::UriListener& listener);
1751
1752 MCAPI void $unregisterUriListener(::UriListener const& listener);
1753
1754 MCAPI void $notifyUriListeners(::ActivationUri const& uri);
1755
1756 MCAPI void $notifyUriListenerRegistrationDone();
1757
1758 MCAPI ::IPlatformScreenshots& $getPlatformScreenshots();
1759
1760 MCAPI bool $isRealmsEnabled() const;
1761
1762 MCFOLD void $showXboxLiveUserSettings();
1763
1764 MCAPI ::Bedrock::NotNullNonOwnerPtr<::ThrottledFileWriteManager> $getThrottledFileWriteManager() const;
1765
1766 MCAPI void $_notifyUriListeners(::ActivationUri const& uri, bool ignoreVerb);
1767#endif
1768
1769
1770 // NOLINTEND
1771
1772public:
1773 // vftables
1774 // NOLINTBEGIN
1775 MCNAPI static void** $vftableForIAppPlatform();
1776
1778 // NOLINTEND
1779};
Definition ActivationUri.h:5
Definition AppLifecycleContext.h:5
Definition AppPlatformListener.h:16
static MCAPI void ** $vftableForIAppPlatform()
static MCAPI void ** $vftableForISecureStorageKeySystem()
Definition ClipboardCopy.h:7
Definition ClipboardPasteRequest.h:7
Definition ClipboardPaste.h:7
Definition BatteryMonitorInterface.h:9
Definition CommonPlatform.h:7
Definition Subscription.h:10
Definition FileHandlePool.h:14
Definition FileStorageArea.h:30
Definition PathView.h:19
Definition Path.h:11
Definition FilePickerSettings.h:5
Definition HardwareMemoryTierUtil.h:16
Definition IAppPlatformImpl.h:13
Definition IAppPlatform.h:15
Definition IFileAccess.h:15
Definition IPlatformScreenshots.h:5
Definition ISecureStorageKeySystem.h:10
Definition ImagePickingCallback.h:5
Definition PDFWriter.h:11
Definition Path.h:16
Definition PropertyBag.h:8
Definition PushNotificationMessage.h:5
Definition RectangleArea.h:5
Definition SecureStorageKey.h:5
Definition SecureStorage.h:10
Definition ThermalMonitorInterface.h:8
Definition ThrottledFileWriteManager.h:5
Definition UriListener.h:10
Definition WebviewInterface.h:5
Definition PlatformArguments.h:7
Definition UUID.h:8
STL namespace.
Definition AppPlatform.h:87
MCAPI void $dtor()
Definition AppPlatform.h:183
Definition IntegrityTokenResult.h:5
Definition StoreErrorResult.h:7
Definition UserCreationData.h:7
Definition TextBoxSelection.h:5
Definition SurfaceParameters.h:7
Definition Alias.h:14
Definition Image.h:13