154 Members& operator=(Members
const&);
155 Members(Members
const&);
168 MCNAPI
static bool& mIsInitialized();
170 MCNAPI static ::ActivationUri& mPendingProtocolActivation();
172 MCNAPI static ::std::mutex& mProtocolMutex();
192 ReadMode& operator=(ReadMode
const&);
193 ReadMode(ReadMode
const&);
202 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::AppPlatform::Members>>> mMembers;
212 virtual ~AppPlatform() ;
214 virtual void initialize();
216 virtual void teardown();
218 virtual void initAppPlatformNetworkSettings() ;
220 virtual uint64 getHighPerformanceThreadsCount()
const;
222 virtual uint64 getTotalHardwareThreadsCount()
const;
224 virtual void initializeGraphicsDeviceTier();
230 virtual ::ProcessExecutionState getProcessExecutionState()
const;
232 virtual void restartApp(
bool restart);
234 virtual bool restartRequested() ;
236 virtual ::Core::PathBuffer<::std::string> getPackagePath()
const = 0;
238 virtual int const numberOfThrottledTreatmentPacksToImportPerMinute() const ;
240 virtual
bool const areTreatmentPacksThrottled() const ;
245 virtual ::Core::PathBuffer<::std::string> getDataUrl()
const = 0;
253 virtual int getKeyFromKeyCode(
int,
int,
int);
255 virtual void textEditComponentGainedFocus(
256 ::std::string
const& currentText,
263 virtual void textEditComponentLostFocus();
265 virtual void showKeyboard(
266 ::std::string
const& currentText,
271 int const controllerId,
272 ::glm::vec2
const& position,
274 ::InputMode inputMode
277 virtual void hideKeyboard();
279 virtual bool blankLineDismissesChat()
const;
281 virtual bool signWrapsTextEntry()
const;
283 virtual bool isFullScreenKeyboard()
const;
285 virtual bool actionSuspendsApp(::AppAction)
const;
287 virtual float getKeyboardHeight()
const;
289 virtual bool refocusMouse(
bool lostMouse,
bool oldMouseGrabbed);
291 virtual void setMousePointerType(::Bedrock::Input::PointerType pointerType);
293 virtual void hideMousePointer();
295 virtual void showMousePointer();
297 virtual void postInteractiveSignIn();
299 virtual bool useHardwareMouse();
301 virtual void provideHardwareMouseImageData(
::mce::Image const&);
303 virtual bool hasCustomSoftwareCursor()
const;
305 virtual ::Core::PathBuffer<::std::string> getCustomSoftwareCursorAsset()
const;
307 virtual bool getPointerFocus();
309 virtual void setPointerFocus(
bool lostFocus);
311 virtual bool isInvertScrollEnabled()
const;
313 virtual void toggleSimulateTouchWithMouse();
315 virtual void _fireAppSuspended();
317 virtual void _fireAppResumed();
319 virtual void _fireAppFocusLost();
321 virtual void _fireAppFocusGained();
323 virtual void _fireResizeBegin();
325 virtual void _fireResizeEnd();
327 virtual void _fireDeviceLost();
329 virtual void _fireSurfaceCreated();
331 virtual void _fireSurfaceDestroyed();
333 virtual void _fireAppConfigurationChanged();
335 virtual void _fireAppPaused();
337 virtual void _fireAppUnpaused();
339 virtual void swapBuffers() = 0;
341 virtual void discardBackbuffer();
343 virtual ::std::string getSystemLocale()
const = 0;
345 virtual ::std::string getTermsOfUseHyperlink()
const;
347 virtual void pickImage(::std::shared_ptr<::ImagePickingCallback> callback) = 0;
349 virtual void pickFile(::std::shared_ptr<::FilePickerSettings> settings);
351 virtual bool supportsAlbumExport()
const;
353 virtual bool supportsPDFExport()
const;
355 virtual ::std::shared_ptr<::PDFWriter> createPlatformPDFWriter();
357 virtual void shareFile(
::Core::Path const&, ::std::function<
void(
bool)>);
359 virtual bool hasHardwareBackButton();
361 virtual bool supportsMSAA()
const;
363 virtual bool supports3rdPartyServers()
const;
365 virtual bool supportsManualAddedServers()
const;
367 virtual bool supportsFilePicking()
const;
369 virtual bool supportsTouch()
const;
371 virtual bool supportsKeyboardMouse()
const;
373 virtual bool supportsGamepad()
const;
375 virtual ::ClipboardFeatureFlags getClipboardFeatures()
const;
377 virtual bool supportsClipboardSet()
const;
379 virtual bool supportsClipboardGet()
const;
381 virtual bool supportsClipboardAsyncGet()
const;
383 virtual void setClipboard(::std::string
const& value)
const;
385 virtual ::std::wstring getClipboardText()
const;
387 virtual void getClipboardTextAsync(::std::function<
void(::std::string
const&)>)
const;
389 virtual bool supportsShare()
const;
391 virtual void share()
const;
393 virtual bool allowSplitScreen();
395 virtual float splitScreenRenderDistScalar(uint numPlayers);
397 virtual float uiOpenRenderDistScalar();
401 virtual void openStoragePermissionRequest(
402 ::PermissionRequestReason,
403 ::std::function<
void(::StoragePermissionResult)> resultCallback
406 virtual void setStorageDirectory(
407 ::FileStorageDirectory dir,
410 ::std::function<
void(
bool)> onComplete
413 virtual ::FileStorageDirectory setInitialStorageDirectory(::FileStorageDirectory);
415 virtual ::FileStorageDirectory getStorageDirectory()
const;
417 virtual void setStorageDirectoryChangeDenied(::std::function<
void(::FileStorageDirectory)>);
419 virtual ::Bedrock::PubSub::Subscription
420 addStorageDirectoryChangedSubscriber(::std::function<
void(
::Core::Path const&)> callback);
422 virtual void runStoragePermissionResultCallback(::StoragePermissionResult result);
424 virtual bool hasExternalStoragePermission();
426 virtual bool delayOptionSaveUntilCloudSync()
const;
430 virtual ::BatteryMonitorInterface
const& getBatteryMonitorInterface()
const;
432 virtual ::ThermalMonitorInterface
const& getThermalMonitorInterface()
const;
434 virtual void trialCorrelationStart();
436 virtual void setAllowLostFocusToasts(
bool allowLostFocusToasts);
438 virtual void setShowLostFocusToasts(
bool showLostFocusToasts);
440 virtual bool getShowLostFocusToasts();
442 virtual double getTimeSFromProcessStart()
const = 0;
444 virtual ::Bedrock::Threading::Async<::IntegrityTokenResult> requestIntegrityToken(::std::string
const& nonceToken);
447 virtual void setIntegrityToken(::std::string
const&);
449 virtual void setIntegrityTokenErrorMessage(::std::string
const&);
451 virtual bool supportsInPackageRecursion()
const;
453 virtual bool supportsXboxLiveAchievements()
const;
455 virtual void hideSplashScreen();
457 virtual ::std::string getFeedbackBugsLink()
const;
459 virtual ::std::string getFeedbackHelpLink()
const;
461 virtual auto getModalErrorMessageProc() -> ::AssertDialogResponse (*)(::std::string
const&, ::std::string
const&);
463 virtual void updateLocalization(::std::string
const&);
465 virtual void setSleepEnabled(
bool);
467 virtual ::Core::PathBuffer<::std::string> getScratchPath();
469 virtual ::Core::PathBuffer<::std::string> getInternalPackStoragePath()
const;
471 virtual ::Core::PathBuffer<::std::string> getSettingsPath();
473 virtual ::Core::PathBuffer<::std::string> getSharedSettingsPath();
475 virtual ::Core::PathBuffer<::std::string> getLoggingPath() const ;
477 virtual ::Core::PathBuffer<::
std::
string> getPackagedShaderCachePath();
479 virtual ::Core::PathBuffer<::
std::
string> getShaderCachePath();
481 virtual ::Core::PathBuffer<::
std::
string> getUserdataPathForLevels() const;
483 virtual ::Core::PathBuffer<::
std::
string> getCacheStoragePath();
485 virtual ::Core::PathBuffer<::
std::
string> getTextureCacheStoragePath();
487 virtual ::Core::PathBuffer<::
std::
string> getOnDiskScratchPath();
489 virtual ::Core::PathBuffer<::
std::
string> getOnDiskPackScratchPath();
491 virtual ::Core::PathBuffer<::
std::
string> getLevelInfoCachePath() const;
493 virtual ::Core::PathBuffer<::
std::
string> getCatalogSearchScratchPath();
495 virtual ::Core::PathBuffer<::
std::
string> getUserStorageRootPath() const;
497 virtual ::
std::shared_ptr<::Core::FileStorageArea> getOrCreateStorageAreaForUser(::Social::UserCreationData const&);
499 virtual
bool hasSeparatedStorageAreasForContentAcquisition() const;
501 virtual uint64 getOptimalLDBSize();
503 virtual
int getMaxLDBFilesOpen() const;
505 virtual
bool getDisableLDBSeekCompactions() const;
507 virtual
void showDialog(
int);
509 virtual
void createUserInput();
511 virtual
void createUserInput(
int dialogId);
513 virtual
int getUserInputStatus();
515 virtual ::
std::vector<::
std::
string> getUserInput();
517 virtual ::Bedrock::NotNullNonOwnerPtr<::
IFileAccess> getFileAccess(::ResourceFileSystem fileSystem);
519 virtual ::Core::PathBuffer<::
std::
string> copyImportFileToTempFolder(::Core::
Path const& filePath);
521 virtual
void registerFileForCollectionWithCrashDump(::Core::
Path const&);
523 virtual
void registerExperimentsActiveCrashDump(::
std::vector<::
std::
string> const& activeExperiments) const;
525 virtual
int getScreenWidth() const;
527 virtual
int getScreenHeight() const;
529 virtual
int getDisplayWidth();
531 virtual
int getDisplayHeight();
534 virtual void setScreenSize(
int,
int);
536 virtual void setScreenSize(
int width,
int height);
539 virtual void setWindowSize(
int width,
int height);
542 virtual void setWindowText(::std::string
const& title);
544 virtual void setWindowText(::std::string
const&);
547 virtual ::std::optional<::OperationMode> getOperationMode()
const;
549 virtual bool allowContentLogWriteToDisk();
551 virtual uint getMaxClubsRequests()
const;
553 virtual void queueForMainThread_DEPRECATED(::std::function<
void()> callback) = 0;
555 virtual ::MPMCQueue<::std::function<void()>>& getMainThreadQueue() = 0;
557 virtual bool supportsLaunchingLegacyVersion()
const;
559 virtual void launchLegacyVersion();
561 virtual bool canManageLegacyData()
const;
563 virtual bool supportsDayOneExperience()
const;
565 virtual bool canMigrateWorldData()
const;
567 virtual bool isContentAutoUpdateAllowed()
const;
569 virtual int getMaxSimultaneousDownloads()
const;
571 virtual uint getMaxSimultaneousServiceRequests()
const;
573 virtual bool isDownloadAndImportBlocking()
const;
575 virtual bool isDownloadBuffered()
const;
577 virtual bool supportsAutoSaveOnDBCompaction()
const;
579 virtual ::std::string getTextBoxBackend()
const = 0;
581 virtual void setTextBoxBackend(::std::string
const& newText) = 0;
583 virtual int getCaretPosition()
const = 0;
585 virtual void setCaretPosition(
int position) = 0;
589 virtual bool supportsVibration()
const;
591 virtual void vibrate(
int);
593 virtual ::Core::PathBuffer<::std::string> getAssetFileFullPath(
::Core::Path const& filename);
595 virtual ::Bedrock::Result<::std::string> _readAssetFileInternal(
::Core::PathView filename);
597 virtual bool hasAssetFile(
::Core::Path const& filename);
601 virtual ::std::set<::Core::PathBuffer<::std::string>>
602 listAssetFilesIn(
::Core::Path const& path, ::std::string
const& extension)
const;
604 virtual bool supportsClientUpdate()
const;
606 virtual ::std::string getClientUpdateUrl()
const;
608 virtual int checkLicense();
610 virtual bool hasBuyButtonWhenInvalidLicense();
612 virtual bool isNetworkAvailable() const ;
614 virtual
bool isLANAvailable() const ;
616 virtual
bool isNetworkEnabled(
bool) const ;
618 virtual
void setNetworkAllowed(
bool);
620 virtual
bool isNetworkAllowed() const;
622 virtual
bool isInternetAvailable() const ;
624 virtual ::
std::optional<
bool> isOnWifiConnectionTelemetryValue();
626 virtual ::NetworkConnectionType getNetworkConnectionType();
628 virtual
void setNetworkConnectionType(::NetworkConnectionType connectionType);
630 virtual
int getDefaultNetworkMaxPlayers() const ;
632 virtual
bool multiplayerRequiresPremiumAccess() const ;
634 virtual
bool multiplayerRequiresUGCEnabled() const ;
636 virtual
bool isCrossPlatformToggleVisible() const;
638 virtual
bool isTelemetryAllowed();
640 virtual
bool isTrialWorldsTransferToFullGameAllowed() const;
642 virtual
void buyGame();
644 virtual
void finish();
646 virtual
bool canLaunchUri(::
std::
string const& uri);
648 virtual
void launchUri(::
std::
string const& uri);
650 virtual
void launchSettings();
652 virtual
bool useXboxControlHelpers() const;
654 virtual ::PlatformType getPlatformType() const;
656 virtual
bool isCentennial() const;
658 virtual ::
std::
string getPackageFamilyName() const;
660 virtual ::BuildPlatform getBuildPlatform() const ;
662 virtual ::
std::
string getSubPlatformString() const = 0;
664 virtual
int getNumberOfParticleFramesToInterpolate() const;
666 virtual
int getDpi() const;
668 virtual
void setDpi(
int dpi);
670 virtual ::UIScalingRules getUIScalingRules() const;
672 virtual
void setUIScalingRules(::UIScalingRules UIScalingRules);
674 virtual
bool hasIDEProfiler();
676 virtual ::
std::
string getPlatformStringVar(
int);
678 virtual ::
std::
string getApplicationId() const = 0;
680 virtual uint64 getFreeMemory() const = 0;
682 virtual uint64 getMemoryLimit() const = 0;
684 virtual uint64 getUsedMemory() = 0;
686 virtual uint64 getTotalPhysicalMemory() const = 0;
688 virtual uint64 getMaximumUsedMemory();
690 virtual uint64 getLowMemoryEventThreshold(::LowMemorySeverity) const;
692 virtual uint64 getLowMemoryEventRecoveryThreshold(::LowMemorySeverity severity) const;
694 virtual uint64 getLowPhysicalMemoryThreshold() const ;
696 virtual
void calculateIfLowMemoryDevice();
698 virtual
bool isLowMemoryDevice() const ;
700 virtual
bool isLowPhysicalMemoryDevice() const ;
702 virtual uint64 getTextureMemoryBudget() const;
704 virtual uint64 getSingleMipDefaultMemoryBudget() const;
706 virtual
void readyForApplicationExitInfo() const;
708 virtual ::DeviceSunsetTier getDeviceSunsetTier() const;
710 virtual
int getMaxSimRadiusInChunks() const;
712 virtual ::
std::vector<::
std::
string> getBroadcastAddresses();
714 virtual ::
std::vector<::
std::
string> getIPAddresses();
716 virtual
bool useAppPlatformForTelemetryIPAddress();
718 virtual ::
std::
string getModelName();
720 virtual ::
std::
string getModelNameForUI();
722 virtual
void updateBootstrapSettingsFromTreatmentsAsync();
725 virtual ::std::string getDeviceId() const ;
727 virtual ::
std::
string createUUID() = 0;
729 virtual
bool isTablet() const = 0;
731 virtual
void registerUriListener(::
UriListener& listener);
733 virtual
void registerUriListener(::
std::
string const& verb, ::
UriListener& listener);
735 virtual
void unregisterUriListener(::
UriListener const& listener);
739 virtual
void notifyUriListenerRegistrationDone();
743 virtual
bool isRealmsEnabled() const ;
746 virtual void setFullscreenMode(::FullscreenMode
const fullscreenMode);
748 virtual bool isNetworkThrottled()
const;
750 virtual bool isLANAllowed() const ;
752 virtual
bool doesLANRequireMultiplayerRestrictions() const;
754 virtual
void collectGraphicsHardwareDetails();
756 virtual ::
std::
string getEdition() const;
758 virtual ::OsVersion getOSVersion() const;
760 virtual
void setThreadsFrozen(
bool frozen);
762 virtual
bool areThreadsFrozen() const;
764 virtual
float getDefaultSafeZoneScaleX() const;
766 virtual
float getDefaultSafeZoneScaleY() const;
768 virtual
float getDefaultSafeZoneScaleAll() const;
770 virtual
float getDefaultScreenPositionX() const;
772 virtual
float getDefaultScreenPositionY() const;
774 virtual
bool isQuitCapable() const;
776 virtual
bool requireControllerAtStartup() const;
778 virtual
bool notifyControllerConnectionStateChange() const;
780 virtual
bool platformRequiresControllerApplet() const;
782 virtual ::InputMode getDefaultInputMode() const;
784 virtual ::AppFocusState getFocusState();
788 virtual uint64 calculateAvailableDiskFreeSpace(::Core::
Path const& rootPath) = 0;
790 virtual
bool supportsFliteTTS() const;
800 virtual
bool devHotReloadRenderResources() const;
802 virtual
bool shouldPauseDownloadsWhenEnterGame() const;
804 virtual
bool compareAppReceiptToLocalReceipt(::
std::
string const&);
806 virtual ::mce::UUID const& getThirdPartyPackUUID() const;
808 virtual ::mce::UUID const& getPlatformBetaPackUUID() const;
810 virtual
bool saveTreatmentPacksAsZips() const;
812 virtual
bool saveEncryptedPacksAsZips() const;
814 virtual
bool saveEncryptedWorldTemplatePacksAsZips() const;
816 virtual
bool saveEncryptedPersonaPacksAsZips() const;
818 virtual
bool allowsResourcePackDevelopment() const;
820 virtual
bool supportsLegacySinglePremiumCacheDirectory() const;
822 virtual
bool supportsWorldShare() const;
824 virtual
bool hasJournalingFilesystem() const;
826 virtual
bool isAutoCompactionEnabled() const;
828 virtual ::
std::chrono::nanoseconds getLevelSaveInterval() const;
830 virtual ::
std::chrono::nanoseconds getOptionsSaveInterval() const;
832 virtual
bool hasPlatformSpecificInvites() const ;
834 virtual
bool usePlatformProfilePicturesOnly() const;
836 virtual
bool allowBetaXblSignIn() const;
838 virtual
bool requiresXboxLiveSigninToPlay() const;
840 virtual
bool requiresLiveGoldForMultiplayer() const;
842 virtual
bool shouldRegisterForXboxLiveNotifications() const;
844 virtual
bool minimizeBackgroundDownloads() const;
846 virtual
bool requiresAutoSaveIconExplanationPopup() const;
848 virtual uint maxFileDataRequestConcurrency() const;
850 virtual
void goToExternalConsumablesStoreListing() const ;
852 virtual
float getStoreNetworkFailureTimeout() const;
854 virtual ::
std::shared_ptr<::Core::FileStorageArea>
855 createLoggingStorageArea(::Core::FileAccessType fileAccessType, ::Core::PathView loggingPath);
857 virtual uint getPlatformErrorCodeForStoreError(::MarketplaceErrorUtils::StoreErrorResult const&);
859 virtual
void handlePlatformSpecificCommerceError(uint, ::
std::
string const&);
861 virtual
bool isEduMode() const;
863 virtual
bool importAsFlatFile() const;
865 virtual
bool isWebviewSupported() const;
873 virtual bool canAppSelfTerminate()
const = 0;
875 virtual bool getPlatformTTSExists()
const;
877 virtual bool getPlatformTTSEnabled()
const;
879 virtual ::dragon::platform::SurfaceParameters getRenderSurfaceParameters()
const;
881 virtual bool shouldRemoveGraphicsDeviceOnAppTermination()
const;
883 virtual bool isJoinableViaExternalServers()
const;
885 virtual void onPrimaryUserNetworkReady();
887 virtual bool isDisplayInitialized()
const;
889 virtual bool usesAsyncOptionSaving()
const;
891 virtual void showPlatformStoreIcon(
bool);
893 virtual void showPlatformEmptyStoreDialog(::std::function<
void(
bool)>&& callback) ;
896 virtual void showXboxLiveUserSettings();
899 virtual void initializeGameStreaming();
901 virtual void notifyNetworkConfigurationChanged();
903 virtual void setKeepScreenOnFlag(
bool);
905 virtual void initializeMulticast()
const;
907 virtual void requestMulticastReceivePermission();
909 virtual bool hasMulticastReceivePermission()
const;
911 virtual void releaseMulticastReceivePermission()
const;
913 virtual void onMinecraftGameInitComplete();
915 virtual void onFullGameUnlock();
917 virtual bool is24HourTimeFormat()
const;
919 virtual ::Bedrock::Threading::Async<bool> showOSUserDialog(::std::string, ::std::string, ::std::string);
922 virtual ::Bedrock::NotNullNonOwnerPtr<::ThrottledFileWriteManager> getThrottledFileWriteManager()
const;
925 virtual ::std::optional<::RefreshRate> getRefreshRate()
const;
927 virtual ::Core::PathBuffer<::std::string> _getCurrentStoragePath()
const = 0;
929 virtual ::Core::PathBuffer<::std::string> _getExternalStoragePath()
const = 0;
931 virtual ::Core::PathBuffer<::std::string> _getInternalStoragePath()
const = 0;
933 virtual ::Core::PathBuffer<::std::string> _getUserdataPath()
const = 0;
935 virtual ::Core::PathBuffer<::std::string> _getSharedDataPath()
const = 0;
937 virtual ::std::chrono::milliseconds getWatchdogTimerDurationForAppSuspend()
const;
940 virtual void _notifyUriListeners(
::ActivationUri const& uri,
bool ignoreVerb);
943 virtual bool _tryEnableCPUBoost();
945 virtual void _disableCPUBoost();
947 virtual ::Bedrock::CommonPlatform* getPlatformShim()
const;
949 virtual void _initializeFileStorageAreas();
951 virtual void _teardownFileStorageAreas();
953 virtual int getPlatformDpi()
const;
955 virtual ::UIScalingRules getPlatformUIScalingRules()
const;
957 virtual ::Core::PathBuffer<::std::string> getPlatformTempPath()
const = 0;
959 virtual void _onInitialize();
961 virtual void _onTeardown();
967 MCAPI AppPlatform(::std::unique_ptr<::IAppPlatformImpl> impl,
bool registerService);
977 MCAPI
void _setDeviceTier(::std::string tier);
980 MCAPI
void _setLocale(::std::string locale);
984 MCAPI
void _terminateListeners();
988 MCAPI
void checkAndTriggerOnLowMemory();
991 MCAPI ::std::shared_ptr<::Core::FileHandlePool> getArchiveHandlePool()
const;
994 MCAPI ::std::string getDeviceIdWarning()
const;
997 MCAPI ::std::string getGraphicsDeviceTier()
const;
999 MCAPI ::std::optional<::std::locale> getLocaleForDateTimeFormatting()
const;
1002 MCAPI ::std::string getShareText()
const;
1004 MCAPI ::std::string getShareTitle()
const;
1006 MCAPI ::std::string getShareUri()
const;
1008 MCAPI
double getTotalActiveSeconds();
1013 MCAPI ::Bedrock::Result<::std::string>
1017 MCAPI
bool requiresNetworkOutageMessaging()
const;
1019 MCAPI
void setShareData(::std::string shareTitle, ::std::string shareText, ::std::string shareUri);
1021 MCAPI
void setShareMetaData(::std::string
const& shareTitle, ::std::string
const& shareText);
1029 MCAPI static ::Bedrock::Result<::std::string> _readAssetFileGeneric(
::Core::PathView filename);
1033 MCAPI
static void imGuiAddInputChar(ushort c);
1035 MCAPI
static bool mouseInputHandledByImGui();
1037 MCAPI
static bool updateImGuiKeyboard(uchar param,
bool isDown);
1039 MCAPI
static void updateImGuiMouseButton(uchar button,
bool isDown);
1041 MCAPI
static void updateImGuiMousePosition(
float x,
float y);
1043 MCAPI
static void updateImGuiMouseScrollBar(
float value);
1050 MCAPI static ::Core::PathBuffer<::Core::BasicStackString<char, 1024>>
const& HOME_PATH();
1052 MCAPI static ::Core::PathBuffer<::Core::BasicStackString<char, 1024>>
const& LOG_PATH();
1054 MCAPI static ::Core::PathBuffer<::Core::BasicStackString<char, 1024>>
const& SETTINGS_PATH();
1056 MCAPI static ::Core::PathBuffer<::Core::BasicStackString<char, 1024>>
const& SHADERCACHE_PATH();
1062 MCAPI
void* $ctor(::std::unique_ptr<::IAppPlatformImpl> impl,
bool registerService);
1074 MCAPI
void $initialize();
1076 MCAPI
void $teardown();
1078 MCAPI
void $initAppPlatformNetworkSettings();
1080 MCAPI uint64 $getHighPerformanceThreadsCount()
const;
1082 MCAPI uint64 $getTotalHardwareThreadsCount()
const;
1084 MCFOLD
void $initializeGraphicsDeviceTier();
1090 MCAPI ::ProcessExecutionState $getProcessExecutionState()
const;
1092 MCAPI
void $restartApp(
bool restart);
1094 MCAPI
bool $restartRequested();
1096 MCFOLD
int const $numberOfThrottledTreatmentPacksToImportPerMinute()
const;
1098 MCFOLD
bool const $areTreatmentPacksThrottled()
const;
1100 MCAPI ::HardwareMemoryTierUtil
const& $getHardwareMemoryTierUtil()
const;
1102 MCFOLD
void $setIntegrityToken(::std::string
const&);
1104 MCFOLD
void $setIntegrityTokenErrorMessage(::std::string
const&);
1106 MCFOLD
bool $supportsInPackageRecursion()
const;
1108 MCFOLD
bool $supportsXboxLiveAchievements()
const;
1110 MCFOLD
void $hideSplashScreen();
1112 MCAPI ::std::string $getFeedbackBugsLink()
const;
1114 MCAPI ::std::string $getFeedbackHelpLink()
const;
1116 MCAPI
auto $getModalErrorMessageProc() -> ::AssertDialogResponse (*)(::std::string
const&, ::std::string
const&);
1118 MCFOLD
void $updateLocalization(::std::string
const&);
1120 MCFOLD
void $setSleepEnabled(
bool);
1122 MCAPI ::Core::PathBuffer<::std::string> $getScratchPath();
1124 MCAPI ::Core::PathBuffer<::std::string> $getInternalPackStoragePath()
const;
1126 MCAPI ::Core::PathBuffer<::std::string> $getSettingsPath();
1128 MCAPI ::Core::PathBuffer<::std::string> $getSharedSettingsPath();
1130 MCFOLD ::Core::PathBuffer<::std::string> $getLoggingPath()
const;
1132 MCFOLD ::Core::PathBuffer<::std::string> $getPackagedShaderCachePath();
1134 MCAPI ::Core::PathBuffer<::std::string> $getShaderCachePath();
1136 MCFOLD ::Core::PathBuffer<::std::string> $getUserdataPathForLevels()
const;
1138 MCFOLD ::Core::PathBuffer<::std::string> $getCacheStoragePath();
1140 MCAPI ::Core::PathBuffer<::std::string> $getTextureCacheStoragePath();
1142 MCFOLD ::Core::PathBuffer<::std::string> $getOnDiskScratchPath();
1144 MCAPI ::Core::PathBuffer<::std::string> $getOnDiskPackScratchPath();
1146 MCFOLD ::Core::PathBuffer<::std::string> $getLevelInfoCachePath()
const;
1148 MCFOLD ::Core::PathBuffer<::std::string> $getCatalogSearchScratchPath();
1150 MCAPI ::Core::PathBuffer<::std::string> $getUserStorageRootPath()
const;
1154 MCFOLD
bool $hasSeparatedStorageAreasForContentAcquisition()
const;
1156 MCFOLD uint64 $getOptimalLDBSize();
1158 MCAPI
int $getMaxLDBFilesOpen()
const;
1160 MCFOLD
bool $getDisableLDBSeekCompactions()
const;
1162 MCFOLD
void $showDialog(
int);
1164 MCFOLD
void $createUserInput();
1166 MCAPI
void $createUserInput(
int dialogId);
1168 MCFOLD
int $getUserInputStatus();
1170 MCFOLD ::std::vector<::std::string> $getUserInput();
1172 MCAPI ::Bedrock::NotNullNonOwnerPtr<::IFileAccess> $getFileAccess(::ResourceFileSystem fileSystem);
1174 MCAPI ::Core::PathBuffer<::std::string> $copyImportFileToTempFolder(
::Core::Path const& filePath);
1176 MCFOLD
void $registerFileForCollectionWithCrashDump(
::Core::Path const&);
1178 MCFOLD
void $registerExperimentsActiveCrashDump(::std::vector<::std::string>
const& activeExperiments)
const;
1180 MCAPI
int $getScreenWidth()
const;
1182 MCAPI
int $getScreenHeight()
const;
1184 MCAPI
int $getDisplayWidth();
1186 MCAPI
int $getDisplayHeight();
1189 MCFOLD
void $setScreenSize(
int,
int);
1191 MCFOLD
void $setScreenSize(
int width,
int height);
1194 MCFOLD
void $setWindowSize(
int width,
int height);
1197 MCFOLD
void $setWindowText(::std::string
const& title);
1199 MCFOLD
void $setWindowText(::std::string
const&);
1202 MCFOLD ::std::optional<::OperationMode> $getOperationMode()
const;
1204 MCFOLD
bool $allowContentLogWriteToDisk();
1206 MCFOLD uint $getMaxClubsRequests()
const;
1208 MCFOLD
bool $supportsLaunchingLegacyVersion()
const;
1210 MCFOLD
void $launchLegacyVersion();
1212 MCFOLD
bool $canManageLegacyData()
const;
1214 MCFOLD
bool $supportsDayOneExperience()
const;
1216 MCFOLD
bool $canMigrateWorldData()
const;
1218 MCFOLD
bool $isContentAutoUpdateAllowed()
const;
1220 MCAPI
int $getMaxSimultaneousDownloads()
const;
1222 MCFOLD uint $getMaxSimultaneousServiceRequests()
const;
1224 MCFOLD
bool $isDownloadAndImportBlocking()
const;
1226 MCFOLD
bool $isDownloadBuffered()
const;
1228 MCFOLD
bool $supportsAutoSaveOnDBCompaction()
const;
1232 MCFOLD
bool $supportsVibration()
const;
1234 MCFOLD
void $vibrate(
int);
1236 MCAPI ::Core::PathBuffer<::std::string> $getAssetFileFullPath(
::Core::Path const& filename);
1238 MCAPI ::Bedrock::Result<::std::string> $_readAssetFileInternal(
::Core::PathView filename);
1240 MCAPI
bool $hasAssetFile(
::Core::Path const& filename);
1244 MCAPI ::std::set<::Core::PathBuffer<::std::string>>
1245 $listAssetFilesIn(
::Core::Path const& path, ::std::string
const& extension)
const;
1247 MCFOLD
bool $supportsClientUpdate()
const;
1249 MCAPI ::std::string $getClientUpdateUrl()
const;
1251 MCFOLD
int $checkLicense();
1253 MCFOLD
bool $hasBuyButtonWhenInvalidLicense();
1255 MCAPI
bool $isNetworkAvailable()
const;
1257 MCFOLD
bool $isLANAvailable()
const;
1259 MCFOLD
bool $isNetworkEnabled(
bool)
const;
1261 MCFOLD
void $setNetworkAllowed(
bool);
1263 MCFOLD
bool $isNetworkAllowed()
const;
1265 MCFOLD
bool $isInternetAvailable()
const;
1267 MCFOLD ::std::optional<bool> $isOnWifiConnectionTelemetryValue();
1269 MCAPI ::NetworkConnectionType $getNetworkConnectionType();
1271 MCAPI
void $setNetworkConnectionType(::NetworkConnectionType connectionType);
1273 MCAPI
int $getDefaultNetworkMaxPlayers()
const;
1275 MCFOLD
bool $multiplayerRequiresPremiumAccess()
const;
1277 MCFOLD
bool $multiplayerRequiresUGCEnabled()
const;
1279 MCFOLD
bool $isCrossPlatformToggleVisible()
const;
1281 MCFOLD
bool $isTelemetryAllowed();
1283 MCFOLD
void $buyGame();
1285 MCFOLD
void $finish();
1287 MCFOLD
bool $canLaunchUri(::std::string
const& uri);
1289 MCFOLD
void $launchUri(::std::string
const& uri);
1291 MCFOLD
void $launchSettings();
1293 MCFOLD
bool $useXboxControlHelpers()
const;
1295 MCFOLD ::PlatformType $getPlatformType()
const;
1297 MCFOLD
bool $isCentennial()
const;
1299 MCFOLD ::std::string $getPackageFamilyName()
const;
1301 MCFOLD ::BuildPlatform $getBuildPlatform()
const;
1303 MCFOLD
int $getNumberOfParticleFramesToInterpolate()
const;
1305 MCAPI
int $getDpi()
const;
1307 MCAPI
void $setDpi(
int dpi);
1309 MCAPI ::UIScalingRules $getUIScalingRules()
const;
1311 MCAPI
void $setUIScalingRules(::UIScalingRules UIScalingRules);
1313 MCFOLD
bool $hasIDEProfiler();
1315 MCAPI ::std::string $getPlatformStringVar(
int);
1317 MCAPI uint64 $getMaximumUsedMemory();
1319 MCFOLD uint64 $getLowMemoryEventThreshold(::LowMemorySeverity)
const;
1321 MCAPI uint64 $getLowMemoryEventRecoveryThreshold(::LowMemorySeverity severity)
const;
1323 MCAPI uint64 $getLowPhysicalMemoryThreshold()
const;
1325 MCAPI
void $calculateIfLowMemoryDevice();
1327 MCAPI
bool $isLowMemoryDevice()
const;
1329 MCAPI
bool $isLowPhysicalMemoryDevice()
const;
1331 MCFOLD uint64 $getTextureMemoryBudget()
const;
1333 MCFOLD uint64 $getSingleMipDefaultMemoryBudget()
const;
1335 MCFOLD
void $readyForApplicationExitInfo()
const;
1337 MCFOLD ::DeviceSunsetTier $getDeviceSunsetTier()
const;
1339 MCAPI
int $getMaxSimRadiusInChunks()
const;
1341 MCFOLD ::std::vector<::std::string> $getBroadcastAddresses();
1343 MCFOLD ::std::vector<::std::string> $getIPAddresses();
1345 MCFOLD
bool $useAppPlatformForTelemetryIPAddress();
1347 MCAPI ::std::string $getModelName();
1349 MCAPI ::std::string $getModelNameForUI();
1351 MCFOLD
void $updateBootstrapSettingsFromTreatmentsAsync();
1353 MCFOLD
void $setFullscreenMode(::FullscreenMode
const fullscreenMode);
1355 MCAPI
bool $isNetworkThrottled()
const;
1357 MCFOLD
bool $isLANAllowed()
const;
1359 MCFOLD
bool $doesLANRequireMultiplayerRestrictions()
const;
1362 MCAPI
void $collectGraphicsHardwareDetails();
1364 MCFOLD
void $collectGraphicsHardwareDetails();
1367 MCAPI ::std::string $getEdition()
const;
1369 MCFOLD ::OsVersion $getOSVersion()
const;
1371 MCAPI
void $setThreadsFrozen(
bool frozen);
1373 MCAPI
bool $areThreadsFrozen()
const;
1375 MCFOLD
float $getDefaultSafeZoneScaleX()
const;
1377 MCFOLD
float $getDefaultSafeZoneScaleY()
const;
1379 MCFOLD
float $getDefaultSafeZoneScaleAll()
const;
1381 MCFOLD
float $getDefaultScreenPositionX()
const;
1383 MCFOLD
float $getDefaultScreenPositionY()
const;
1386 MCAPI
bool $isQuitCapable()
const;
1388 MCFOLD
bool $isQuitCapable()
const;
1391 MCFOLD
bool $requireControllerAtStartup()
const;
1393 MCFOLD
bool $notifyControllerConnectionStateChange()
const;
1395 MCFOLD
bool $platformRequiresControllerApplet()
const;
1397 MCAPI ::InputMode $getDefaultInputMode()
const;
1399 MCAPI ::AppFocusState $getFocusState();
1401 MCAPI ::AppLifecycleContext& $getAppLifecycleContext();
1403 MCFOLD
bool $supportsFliteTTS()
const;
1405 MCAPI ::std::unique_ptr<::SecureStorage> $getSecureStorage();
1407 MCAPI ::std::unique_ptr<::SecureStorage> $getSharedSecureStorage();
1409 MCAPI ::SecureStorageKey $getSecureStorageKey(::std::string
const&);
1413 MCFOLD
bool $devHotReloadRenderResources()
const;
1415 MCFOLD
bool $shouldPauseDownloadsWhenEnterGame()
const;
1417 MCFOLD
bool $compareAppReceiptToLocalReceipt(::std::string
const&);
1419 MCFOLD ::mce::UUID
const& $getThirdPartyPackUUID()
const;
1421 MCFOLD ::mce::UUID
const& $getPlatformBetaPackUUID()
const;
1423 MCFOLD
bool $saveTreatmentPacksAsZips()
const;
1425 MCFOLD
bool $saveEncryptedPacksAsZips()
const;
1427 MCFOLD
bool $saveEncryptedWorldTemplatePacksAsZips()
const;
1429 MCFOLD
bool $saveEncryptedPersonaPacksAsZips()
const;
1431 MCFOLD
bool $allowsResourcePackDevelopment()
const;
1433 MCFOLD
bool $supportsLegacySinglePremiumCacheDirectory()
const;
1435 MCFOLD
bool $supportsWorldShare()
const;
1437 MCFOLD
bool $hasJournalingFilesystem()
const;
1439 MCFOLD
bool $isAutoCompactionEnabled()
const;
1441 MCAPI ::std::chrono::nanoseconds $getLevelSaveInterval()
const;
1443 MCAPI ::std::chrono::nanoseconds $getOptionsSaveInterval()
const;
1445 MCFOLD
bool $hasPlatformSpecificInvites()
const;
1447 MCFOLD
bool $usePlatformProfilePicturesOnly()
const;
1449 MCFOLD
bool $allowBetaXblSignIn()
const;
1451 MCFOLD
bool $requiresXboxLiveSigninToPlay()
const;
1453 MCFOLD
bool $requiresLiveGoldForMultiplayer()
const;
1455 MCFOLD
bool $shouldRegisterForXboxLiveNotifications()
const;
1457 MCFOLD
bool $minimizeBackgroundDownloads()
const;
1459 MCFOLD
bool $requiresAutoSaveIconExplanationPopup()
const;
1461 MCFOLD uint $maxFileDataRequestConcurrency()
const;
1463 MCFOLD
void $goToExternalConsumablesStoreListing()
const;
1465 MCAPI
float $getStoreNetworkFailureTimeout()
const;
1467 MCAPI ::std::shared_ptr<::Core::FileStorageArea>
1468 $createLoggingStorageArea(::Core::FileAccessType fileAccessType,
::Core::PathView loggingPath);
1472 MCFOLD
void $handlePlatformSpecificCommerceError(uint, ::std::string
const&);
1474 MCFOLD
bool $isEduMode()
const;
1476 MCFOLD
bool $importAsFlatFile()
const;
1478 MCFOLD
bool $isWebviewSupported()
const;
1486 MCFOLD
bool $getPlatformTTSExists()
const;
1488 MCFOLD
bool $getPlatformTTSEnabled()
const;
1490 MCFOLD ::dragon::platform::SurfaceParameters $getRenderSurfaceParameters()
const;
1492 MCFOLD
bool $shouldRemoveGraphicsDeviceOnAppTermination()
const;
1494 MCFOLD
bool $isJoinableViaExternalServers()
const;
1496 MCFOLD
void $onPrimaryUserNetworkReady();
1498 MCFOLD
bool $isDisplayInitialized()
const;
1500 MCFOLD
bool $usesAsyncOptionSaving()
const;
1502 MCFOLD
void $showPlatformStoreIcon(
bool);
1504 MCAPI
void $showPlatformEmptyStoreDialog(::std::function<
void(
bool)>&& callback);
1506 MCFOLD
void $initializeGameStreaming();
1508 MCAPI
void $notifyNetworkConfigurationChanged();
1510 MCFOLD
void $setKeepScreenOnFlag(
bool);
1512 MCFOLD
void $initializeMulticast()
const;
1514 MCFOLD
void $requestMulticastReceivePermission();
1516 MCFOLD
bool $hasMulticastReceivePermission()
const;
1518 MCFOLD
void $releaseMulticastReceivePermission()
const;
1520 MCFOLD
void $onMinecraftGameInitComplete();
1522 MCFOLD
void $onFullGameUnlock();
1524 MCFOLD
bool $is24HourTimeFormat()
const;
1526 MCAPI ::Bedrock::Threading::Async<bool> $showOSUserDialog(::std::string, ::std::string, ::std::string);
1528 MCFOLD ::std::optional<::RefreshRate> $getRefreshRate()
const;
1530 MCAPI ::std::chrono::milliseconds $getWatchdogTimerDurationForAppSuspend()
const;
1532 MCFOLD
bool $_tryEnableCPUBoost();
1534 MCFOLD
void $_disableCPUBoost();
1536 MCFOLD ::Bedrock::CommonPlatform* $getPlatformShim()
const;
1539 MCFOLD
void $_initializeFileStorageAreas();
1541 MCAPI
void $_initializeFileStorageAreas();
1544 MCAPI
void $_teardownFileStorageAreas();
1546 MCFOLD
int $getPlatformDpi()
const;
1548 MCAPI ::UIScalingRules $getPlatformUIScalingRules()
const;
1550 MCFOLD
void $_onInitialize();
1552 MCFOLD
void $_onTeardown();
1561 MCFOLD
int $getKeyFromKeyCode(
int,
int,
int);
1563 MCFOLD
void $textEditComponentGainedFocus(
1564 ::std::string
const& currentText,
1571 MCFOLD
void $textEditComponentLostFocus();
1573 MCAPI
void $showKeyboard(
1574 ::std::string
const& currentText,
1579 int const controllerId,
1580 ::glm::vec2
const& position,
1581 float controlHeight,
1582 ::InputMode inputMode
1585 MCAPI
void $hideKeyboard();
1587 MCAPI
bool $blankLineDismissesChat()
const;
1589 MCFOLD
bool $signWrapsTextEntry()
const;
1591 MCFOLD
bool $isFullScreenKeyboard()
const;
1593 MCFOLD
bool $actionSuspendsApp(::AppAction)
const;
1595 MCFOLD
float $getKeyboardHeight()
const;
1597 MCAPI
bool $refocusMouse(
bool lostMouse,
bool oldMouseGrabbed);
1599 MCFOLD
void $setMousePointerType(::Bedrock::Input::PointerType pointerType);
1601 MCFOLD
void $hideMousePointer();
1603 MCFOLD
void $showMousePointer();
1605 MCFOLD
void $postInteractiveSignIn();
1607 MCFOLD
bool $useHardwareMouse();
1609 MCFOLD
void $provideHardwareMouseImageData(
::mce::Image const&);
1611 MCFOLD
bool $hasCustomSoftwareCursor()
const;
1613 MCFOLD ::Core::PathBuffer<::std::string> $getCustomSoftwareCursorAsset()
const;
1615 MCAPI
bool $getPointerFocus();
1617 MCAPI
void $setPointerFocus(
bool lostFocus);
1619 MCFOLD
bool $isInvertScrollEnabled()
const;
1621 MCFOLD
void $toggleSimulateTouchWithMouse();
1623 MCAPI
void $_fireAppSuspended();
1625 MCAPI
void $_fireAppResumed();
1627 MCAPI
void $_fireAppFocusLost();
1629 MCAPI
void $_fireAppFocusGained();
1631 MCAPI
void $_fireResizeBegin();
1633 MCAPI
void $_fireResizeEnd();
1635 MCAPI
void $_fireDeviceLost();
1637 MCAPI
void $_fireSurfaceCreated();
1639 MCAPI
void $_fireSurfaceDestroyed();
1641 MCFOLD
void $_fireAppConfigurationChanged();
1643 MCAPI
void $_fireAppPaused();
1645 MCAPI
void $_fireAppUnpaused();
1647 MCFOLD
void $discardBackbuffer();
1649 MCAPI ::std::string $getTermsOfUseHyperlink()
const;
1651 MCFOLD
void $pickFile(::std::shared_ptr<::FilePickerSettings> settings);
1653 MCFOLD
bool $supportsAlbumExport()
const;
1655 MCFOLD
bool $supportsPDFExport()
const;
1657 MCFOLD ::std::shared_ptr<::PDFWriter> $createPlatformPDFWriter();
1659 MCAPI
void $shareFile(
::Core::Path const&, ::std::function<
void(
bool)>);
1661 MCFOLD
bool $hasHardwareBackButton();
1663 MCFOLD
bool $supportsMSAA()
const;
1665 MCFOLD
bool $supports3rdPartyServers()
const;
1667 MCFOLD
bool $supportsManualAddedServers()
const;
1669 MCFOLD
bool $supportsFilePicking()
const;
1671 MCFOLD
bool $supportsTouch()
const;
1673 MCFOLD
bool $supportsKeyboardMouse()
const;
1675 MCFOLD
bool $supportsGamepad()
const;
1677 MCFOLD ::ClipboardFeatureFlags $getClipboardFeatures()
const;
1679 MCAPI
bool $supportsClipboardSet()
const;
1681 MCAPI
bool $supportsClipboardGet()
const;
1683 MCAPI
bool $supportsClipboardAsyncGet()
const;
1685 MCFOLD
void $setClipboard(::std::string
const& value)
const;
1687 MCAPI ::std::wstring $getClipboardText()
const;
1689 MCFOLD
void $getClipboardTextAsync(::std::function<
void(::std::string
const&)>)
const;
1691 MCFOLD
bool $supportsShare()
const;
1693 MCFOLD
void $share()
const;
1695 MCAPI
bool $allowSplitScreen();
1697 MCAPI
float $splitScreenRenderDistScalar(uint numPlayers);
1699 MCAPI
float $uiOpenRenderDistScalar();
1703 MCAPI
void $openStoragePermissionRequest(
1704 ::PermissionRequestReason,
1705 ::std::function<
void(::StoragePermissionResult)> resultCallback
1708 MCFOLD
void $setStorageDirectory(
1709 ::FileStorageDirectory dir,
1712 ::std::function<
void(
bool)> onComplete
1715 MCFOLD ::FileStorageDirectory $setInitialStorageDirectory(::FileStorageDirectory);
1717 MCFOLD ::FileStorageDirectory $getStorageDirectory()
const;
1719 MCFOLD
void $setStorageDirectoryChangeDenied(::std::function<
void(::FileStorageDirectory)>);
1721 MCFOLD ::Bedrock::PubSub::Subscription
1722 $addStorageDirectoryChangedSubscriber(::std::function<
void(
::Core::Path const&)> callback);
1724 MCAPI
void $runStoragePermissionResultCallback(::StoragePermissionResult result);
1726 MCFOLD
bool $hasExternalStoragePermission();
1728 MCFOLD
bool $delayOptionSaveUntilCloudSync()
const;
1732 MCAPI ::BatteryMonitorInterface
const& $getBatteryMonitorInterface()
const;
1734 MCAPI ::ThermalMonitorInterface
const& $getThermalMonitorInterface()
const;
1736 MCFOLD
void $trialCorrelationStart();
1738 MCAPI
void $setAllowLostFocusToasts(
bool allowLostFocusToasts);
1740 MCAPI
void $setShowLostFocusToasts(
bool showLostFocusToasts);
1742 MCAPI
bool $getShowLostFocusToasts();
1744 MCAPI ::Bedrock::Threading::Async<::IntegrityTokenResult> $requestIntegrityToken(::std::string
const& nonceToken);
1746 MCAPI ::std::string $getDeviceId()
const;
1750 MCAPI
void $registerUriListener(::std::string
const& verb,
::UriListener& listener);
1752 MCAPI
void $unregisterUriListener(
::UriListener const& listener);
1756 MCAPI
void $notifyUriListenerRegistrationDone();
1758 MCAPI ::IPlatformScreenshots& $getPlatformScreenshots();
1760 MCAPI
bool $isRealmsEnabled()
const;
1762 MCFOLD
void $showXboxLiveUserSettings();
1764 MCAPI ::Bedrock::NotNullNonOwnerPtr<::ThrottledFileWriteManager> $getThrottledFileWriteManager()
const;
1766 MCAPI
void $_notifyUriListeners(
::ActivationUri const& uri,
bool ignoreVerb);