146 AppPlatform& operator=(AppPlatform
const&);
147 AppPlatform(AppPlatform
const&);
153 virtual ~AppPlatform() ;
155 virtual void initialize();
157 virtual void teardown();
159 virtual void initAppPlatformNetworkSettings() ;
161 virtual void initializeScreenDependentResources();
163 virtual uint64 getHighPerformanceThreadsCount()
const;
165 virtual uint64 getTotalHardwareThreadsCount()
const;
167 virtual void initializeGraphicsDeviceTier();
173 virtual void restartApp(
bool restart);
175 virtual bool restartRequested() ;
177 virtual ::Core::PathBuffer<::std::string> getPackagePath()
const = 0;
179 virtual int const numberOfThrottledTreatmentPacksToImportPerMinute()
const ;
181 virtual bool const areTreatmentPacksThrottled()
const ;
183 virtual ::HardwareMemoryTierUtil
const& getHardwareMemoryTierUtil()
const ;
186 virtual ::Core::PathBuffer<::std::string> getDataUrl()
const = 0;
194 virtual int getKeyFromKeyCode(
int keyCode,
int metaState,
int deviceId);
196 virtual void textEditComponentGainedFocus(::std::string
const&,
int,
bool,
bool,
bool);
198 virtual void textEditComponentLostFocus();
201 showKeyboard(::std::string
const&,
int,
bool,
bool,
bool,
int const, ::glm::vec2
const&,
float, ::InputMode);
203 virtual void hideKeyboard();
205 virtual bool blankLineDismissesChat()
const;
207 virtual bool signWrapsTextEntry()
const;
209 virtual bool isFullScreenKeyboard()
const;
211 virtual bool actionSuspendsApp(::AppAction)
const;
213 virtual float getKeyboardHeight()
const;
215 virtual bool refocusMouse(
bool lostMouse,
bool oldMouseGrabbed);
217 virtual void setMousePointerType(::ui::MousePointerType);
219 virtual void hideMousePointer();
221 virtual void showMousePointer();
223 virtual void postInteractiveSignIn();
225 virtual bool useHardwareMouse();
227 virtual void provideHardwareMouseImageData(
::mce::Image const& imageData);
229 virtual bool hasCustomSoftwareCursor()
const;
231 virtual ::Core::PathBuffer<::std::string> getCustomSoftwareCursorAsset()
const;
233 virtual bool getPointerFocus();
235 virtual void setPointerFocus(
bool lostFocus);
237 virtual void toggleSimulateTouchWithMouse();
239 virtual void _fireAppSuspended();
241 virtual void _fireAppResumed();
243 virtual void _fireAppFocusLost();
245 virtual void _fireAppFocusGained();
247 virtual void _fireResizeBegin();
249 virtual void _fireResizeEnd();
251 virtual void _fireDeviceLost();
253 virtual void _fireSurfaceCreated();
255 virtual void _fireSurfaceDestroyed();
257 virtual void _fireAppConfigurationChanged();
259 virtual void _fireAppPaused();
261 virtual void _fireAppUnpaused();
263 virtual void swapBuffers() = 0;
265 virtual void discardBackbuffer();
267 virtual ::std::string getSystemLocale()
const = 0;
269 virtual ::std::string getTermsOfUseHyperlink()
const;
271 virtual void pickImage(::std::shared_ptr<::ImagePickingCallback>) = 0;
273 virtual void pickFile(::std::shared_ptr<::FilePickerSettings> settings);
275 virtual bool supportsAlbumExport()
const;
277 virtual bool supportsPDFExport()
const;
279 virtual ::std::shared_ptr<::PDFWriter> createPlatformPDFWriter();
281 virtual void shareFile(
::Core::Path const& path, ::std::function<
void(
bool)> onCompletionCallback);
283 virtual bool hasHardwareBackButton();
285 virtual bool supportsMSAA()
const;
287 virtual bool supports3rdPartyServers()
const;
289 virtual bool supportsManualAddedServers()
const;
291 virtual bool supportsFilePicking()
const;
293 virtual bool supportsTouch()
const;
295 virtual bool supportsKeyboardMouse()
const;
297 virtual bool supportsGamepad()
const;
299 virtual ::ClipboardFeatureFlags getClipboardFeatures()
const;
301 virtual bool supportsClipboardSet()
const;
303 virtual bool supportsClipboardGet()
const;
305 virtual bool supportsClipboardAsyncGet()
const;
307 virtual void setClipboard(::std::string
const& value)
const;
309 virtual ::std::wstring getClipboardText()
const;
311 virtual void getClipboardTextAsync(::std::function<
void(::std::string
const&)> callback)
const;
313 virtual bool supportsShare()
const;
315 virtual void share()
const;
317 virtual bool allowSplitScreen();
319 virtual float splitScreenRenderDistScalar(uint numPlayers);
321 virtual float uiOpenRenderDistScalar();
325 virtual void openStoragePermissionRequest(
326 ::PermissionRequestReason reason,
327 ::std::function<
void(::StoragePermissionResult)> resultCallback
330 virtual void setStorageDirectory(
331 ::FileStorageDirectory dir,
334 ::std::function<
void(
bool)>
337 virtual ::FileStorageDirectory setInitialStorageDirectory(::FileStorageDirectory dir);
339 virtual ::FileStorageDirectory getStorageDirectory()
const;
341 virtual void setStorageDirectoryChangeDenied(::std::function<
void(::FileStorageDirectory)> callback);
343 virtual ::Bedrock::PubSub::Subscription
344 addStorageDirectoryChangedSubscriber(::std::function<
void(
::Core::Path const&)>);
346 virtual void runStoragePermissionResultCallback(::StoragePermissionResult result);
348 virtual bool hasExternalStoragePermission();
350 virtual bool delayOptionSaveUntilCloudSync()
const;
352 virtual void updateTextEditBoxPosition(
358 virtual ::BatteryMonitorInterface
const& getBatteryMonitorInterface()
const;
360 virtual ::ThermalMonitorInterface
const& getThermalMonitorInterface()
const;
362 virtual void trialCorrelationStart();
364 virtual void setAllowLostFocusToasts(
bool allowLostFocusToasts);
366 virtual void setShowLostFocusToasts(
bool showLostFocusToasts);
368 virtual bool getShowLostFocusToasts();
370 virtual double getTimeSFromProcessStart()
const = 0;
373 virtual ::Bedrock::Threading::Async<::IntegrityTokenResult> requestIntegrityToken(::std::string
const& nonceToken);
375 virtual void setIntegrityToken(::std::string
const& integrityToken);
377 virtual void setIntegrityTokenErrorMessage(::std::string
const& errorMessage);
379 virtual bool supportsInPackageRecursion()
const;
381 virtual bool supportsXboxLiveAchievements()
const;
383 virtual void hideSplashScreen();
385 virtual ::std::string getFeedbackBugsLink()
const;
387 virtual ::std::string getFeedbackHelpLink()
const;
389 virtual auto getModalErrorMessageProc() -> ::AssertDialogResponse (*)(::std::string
const&, ::std::string
const&);
391 virtual void updateLocalization(::std::string
const& loc);
393 virtual void setSleepEnabled(
bool enabled);
395 virtual ::Core::PathBuffer<::std::string> getScratchPath();
397 virtual ::Core::PathBuffer<::std::string> getInternalPackStoragePath()
const;
399 virtual ::Core::PathBuffer<::std::string> getSettingsPath();
401 virtual ::Core::PathBuffer<::std::string> getLoggingPath()
const ;
403 virtual ::Core::PathBuffer<::std::string> getPackagedShaderCachePath();
405 virtual ::Core::PathBuffer<::std::string> getShaderCachePath();
407 virtual ::Core::PathBuffer<::std::string> getUserdataPathForLevels()
const;
409 virtual ::Core::PathBuffer<::std::string> getCacheStoragePath();
411 virtual ::Core::PathBuffer<::std::string> getOnDiskScratchPath();
413 virtual ::Core::PathBuffer<::std::string> getOnDiskPackScratchPath();
415 virtual ::Core::PathBuffer<::std::string> getLevelInfoCachePath()
const;
417 virtual ::Core::PathBuffer<::std::string> getCatalogSearchScratchPath();
419 virtual ::Core::PathBuffer<::std::string> getUserStorageRootPath()
const;
423 virtual bool hasSeparatedStorageAreasForContentAcquisition()
const;
425 virtual uint64 getOptimalLDBSize();
427 virtual int getMaxLDBFilesOpen()
const;
429 virtual bool getDisableLDBSeekCompactions()
const;
431 virtual void showDialog(
int dialogId);
433 virtual void createUserInput();
435 virtual void createUserInput(
int dialogId);
437 virtual int getUserInputStatus();
439 virtual ::std::vector<::std::string> getUserInput();
441 virtual ::Bedrock::NotNullNonOwnerPtr<::IFileAccess> getFileAccess(::ResourceFileSystem fileSystem);
443 virtual ::Core::PathBuffer<::std::string> copyImportFileToTempFolder(
::Core::Path const& filePath);
445 virtual void registerFileForCollectionWithCrashDump(
::Core::Path const& fileName);
447 virtual void registerExperimentsActiveCrashDump(::std::vector<::std::string>
const& activeExperiments)
const;
449 virtual int getScreenWidth()
const;
451 virtual int getScreenHeight()
const;
453 virtual int getDisplayWidth();
455 virtual int getDisplayHeight();
457 virtual void setScreenSize(
int width,
int height);
459 virtual void setWindowSize(
int width,
int height);
461 virtual void setWindowText(::std::string
const& title);
463 virtual ::std::optional<::OperationMode> getOperationMode()
const;
465 virtual bool allowContentLogWriteToDisk();
467 virtual uint getMaxClubsRequests()
const;
469 virtual void queueForMainThread_DEPRECATED(::std::function<
void()>) = 0;
471 virtual ::MPMCQueue<::std::function<void()>>& getMainThreadQueue() = 0;
473 virtual bool supportsLaunchingLegacyVersion()
const;
475 virtual void launchLegacyVersion();
477 virtual bool canManageLegacyData()
const;
479 virtual bool supportsDayOneExperience()
const;
481 virtual bool canMigrateWorldData()
const;
483 virtual bool isContentAutoUpdateAllowed()
const;
485 virtual int getMaxSimultaneousDownloads()
const;
487 virtual uint getMaxSimultaneousServiceRequests()
const;
489 virtual bool isDownloadAndImportBlocking()
const;
491 virtual bool isDownloadBuffered()
const;
493 virtual bool supportsAutoSaveOnDBCompaction()
const;
495 virtual ::std::string getTextBoxBackend()
const = 0;
497 virtual void setTextBoxBackend(::std::string
const&) = 0;
499 virtual int getCaretPosition()
const = 0;
501 virtual void setCaretPosition(
int) = 0;
503 virtual bool supportsVibration()
const;
505 virtual void vibrate(
int milliSeconds);
507 virtual ::Core::PathBuffer<::std::string> getAssetFileFullPath(
::Core::Path const& filename);
509 virtual ::std::string _readAssetFileInternal(
::Core::Path const& filename);
511 virtual bool hasAssetFile(
::Core::Path const& filename);
515 virtual ::std::set<::Core::PathBuffer<::std::string>>
516 listAssetFilesIn(
::Core::Path const& path, ::std::string
const& extension)
const;
518 virtual bool supportsClientUpdate()
const;
520 virtual ::std::string getClientUpdateUrl()
const;
522 virtual int checkLicense();
524 virtual bool hasBuyButtonWhenInvalidLicense();
526 virtual bool isNetworkAvailable()
const ;
528 virtual bool isLANAvailable()
const ;
530 virtual bool isNetworkEnabled(
bool onlyWifiAllowed)
const ;
532 virtual void setNetworkAllowed(
bool allowed);
534 virtual bool isNetworkAllowed()
const;
536 virtual bool isInternetAvailable()
const ;
538 virtual ::std::optional<bool> isOnWifiConnectionTelemetryValue();
540 virtual ::NetworkConnectionType getNetworkConnectionType();
542 virtual void setNetworkConnectionType(::NetworkConnectionType connectionType);
544 virtual int getDefaultNetworkMaxPlayers()
const;
546 virtual bool multiplayerRequiresPremiumAccess()
const ;
548 virtual bool multiplayerRequiresUGCEnabled()
const ;
550 virtual bool isCrossPlatformToggleVisible()
const;
552 virtual bool isTelemetryAllowed();
554 virtual bool isTrialWorldsTransferToFullGameAllowed()
const;
556 virtual void buyGame();
558 virtual void finish();
560 virtual bool canLaunchUri(::std::string
const& uri);
562 virtual void launchUri(::std::string
const& uri);
564 virtual void launchSettings();
566 virtual bool useXboxControlHelpers()
const;
568 virtual ::PlatformType getPlatformType()
const;
570 virtual bool isCentennial()
const;
572 virtual ::std::string getPackageFamilyName()
const;
574 virtual ::BuildPlatform getBuildPlatform()
const ;
576 virtual ::std::string getSubPlatformString()
const = 0;
578 virtual int getNumberOfParticleFramesToInterpolate()
const;
580 virtual int getDpi()
const;
582 virtual void setDpi(
int dpi);
584 virtual ::UIScalingRules getUIScalingRules()
const;
586 virtual void setUIScalingRules(::UIScalingRules UIScalingRules);
588 virtual bool hasIDEProfiler();
590 virtual ::std::string getPlatformStringVar(
int stringId);
592 virtual ::std::string getApplicationId()
const = 0;
594 virtual uint64 getFreeMemory()
const = 0;
596 virtual uint64 getMemoryLimit()
const = 0;
598 virtual uint64 getUsedMemory() = 0;
600 virtual uint64 getTotalPhysicalMemory()
const = 0;
602 virtual uint64 getMaximumUsedMemory();
604 virtual uint64 getLowMemoryEventThreshold(::LowMemorySeverity)
const;
606 virtual uint64 getLowMemoryEventRecoveryThreshold(::LowMemorySeverity severity)
const;
608 virtual uint64 getLowPhysicalMemoryThreshold()
const ;
610 virtual void calculateIfLowMemoryDevice();
612 virtual bool isLowMemoryDevice()
const ;
614 virtual bool isLowPhysicalMemoryDevice()
const ;
616 virtual uint64 getTextureMemoryBudget()
const;
618 virtual uint64 getSingleMipDefaultMemoryBudget()
const;
620 virtual void readyForApplicationExitInfo()
const;
622 virtual ::DeviceSunsetTier getDeviceSunsetTier()
const;
624 virtual int getMaxSimRadiusInChunks()
const;
626 virtual ::std::vector<::std::string> getBroadcastAddresses();
628 virtual ::std::vector<::std::string> getIPAddresses();
630 virtual bool useAppPlatformForTelemetryIPAddress();
632 virtual ::std::string getModelName();
634 virtual bool usesHDRBrightness()
const;
636 virtual void updateBootstrapSettingsFromTreatmentsAsync();
639 virtual ::std::string getDeviceId()
const ;
641 virtual ::std::string createUUID() = 0;
643 virtual bool isTablet()
const = 0;
647 virtual void registerUriListener(::std::string
const& verb,
::UriListener& listener);
649 virtual void unregisterUriListener(
::UriListener const& listener);
653 virtual void notifyUriListenerRegistrationDone();
656 virtual void setFullscreenMode(::FullscreenMode
const fullscreenMode);
658 virtual bool isNetworkThrottled()
const;
660 virtual bool isLANAllowed()
const ;
662 virtual bool doesLANRequireMultiplayerRestrictions()
const;
664 virtual void collectGraphicsHardwareDetails();
666 virtual ::std::string getEdition()
const;
668 virtual ::OsVersion getOSVersion()
const;
670 virtual void setThreadsFrozen(
bool frozen);
672 virtual bool areThreadsFrozen()
const;
674 virtual float getDefaultSafeZoneScaleX()
const;
676 virtual float getDefaultSafeZoneScaleY()
const;
678 virtual float getDefaultSafeZoneScaleAll()
const;
680 virtual float getDefaultScreenPositionX()
const;
682 virtual float getDefaultScreenPositionY()
const;
684 virtual bool isQuitCapable()
const;
686 virtual bool requireControllerAtStartup()
const;
688 virtual bool notifyControllerConnectionStateChange()
const;
690 virtual bool platformRequiresControllerApplet()
const;
692 virtual ::InputMode getDefaultInputMode()
const;
694 virtual ::AppFocusState getFocusState();
696 virtual ::AppLifecycleContext& getAppLifecycleContext();
698 virtual uint64 calculateAvailableDiskFreeSpace(
::Core::Path const&) = 0;
700 virtual bool supportsFliteTTS()
const;
702 virtual ::std::unique_ptr<::SecureStorage> getSecureStorage();
704 virtual ::SecureStorageKey getSecureStorageKey(::std::string
const& key) ;
706 virtual void setSecureStorageKey(::std::string
const& key,
::SecureStorageKey const& value) ;
708 virtual bool devHotReloadRenderResources()
const;
710 virtual bool shouldPauseDownloadsWhenEnterGame()
const;
712 virtual bool compareAppReceiptToLocalReceipt(::std::string
const& otherReceipt);
714 virtual ::mce::UUID
const& getThirdPartyPackUUID()
const;
716 virtual bool saveTreatmentPacksAsZips()
const;
718 virtual bool saveEncryptedPacksAsZips()
const;
720 virtual bool saveEncryptedWorldTemplatePacksAsZips()
const;
722 virtual bool allowsResourcePackDevelopment()
const;
724 virtual bool supportsLegacySinglePremiumCacheDirectory()
const;
726 virtual bool supportsWorldShare()
const;
728 virtual bool hasJournalingFilesystem()
const;
730 virtual bool isAutoCompactionEnabled()
const;
732 virtual ::std::chrono::nanoseconds getLevelSaveInterval()
const;
734 virtual ::std::chrono::nanoseconds getOptionsSaveInterval()
const;
736 virtual bool hasPlatformSpecificInvites()
const ;
738 virtual bool usePlatformProfilePicturesOnly()
const;
740 virtual bool allowBetaXblSignIn()
const;
742 virtual bool requiresXboxLiveSigninToPlay()
const;
744 virtual bool requiresLiveGoldForMultiplayer()
const;
746 virtual bool shouldRegisterForXboxLiveNotifications()
const;
748 virtual bool isRealmsEnabled()
const ;
750 virtual bool minimizeBackgroundDownloads()
const;
752 virtual bool requiresAutoSaveIconExplanationPopup()
const;
754 virtual ::IPlatformScreenshots& getPlatformScreenshots();
756 virtual ::std::vector<::std::shared_ptr<::Social::MultiplayerService>> getMultiplayerServiceListToRegister()
const;
758 virtual ::std::vector<::Social::MultiplayerServiceIdentifier>
759 getBroadcastingMultiplayerServiceIds(
bool xblBroadcast,
bool platformBroadcast)
const ;
761 virtual uint maxFileDataRequestConcurrency()
const;
763 virtual void goToExternalConsumablesStoreListing()
const ;
765 virtual float getStoreNetworkFailureTimeout()
const;
767 virtual ::std::shared_ptr<::Core::FileStorageArea>
768 createLoggingStorageArea(::Core::FileAccessType fileAccessType,
::Core::PathView loggingPath);
770 virtual void handlePlatformSpecificCommerceError(uint error);
772 virtual bool isEduMode()
const;
774 virtual bool importAsFlatFile()
const;
776 virtual bool isWebviewSupported()
const;
780 virtual bool canAppSelfTerminate()
const = 0;
782 virtual bool getPlatformTTSExists()
const;
784 virtual bool getPlatformTTSEnabled()
const;
786 virtual ::std::variant<::HWND__*, ::std::monostate> getRenderSurfaceParameters()
const;
788 virtual bool shouldRemoveGraphicsDeviceOnAppTermination()
const;
790 virtual bool isJoinableViaExternalServers()
const;
792 virtual void onPrimaryUserNetworkReady();
794 virtual bool isDisplayInitialized()
const;
796 virtual bool usesAsyncOptionSaving()
const;
798 virtual void showPlatformStoreIcon(
bool shouldShow);
800 virtual void showPlatformEmptyStoreDialog(::std::function<
void(
bool)>&& callback) ;
803 virtual void showXboxLiveUserSettings();
806 virtual void initializeGameStreaming();
808 virtual void notifyNetworkConfigurationChanged();
810 virtual void setKeepScreenOnFlag(
bool);
812 virtual void initializeMulticast()
const;
814 virtual void requestMulticastReceivePermission();
816 virtual bool hasMulticastReceivePermission()
const;
818 virtual void releaseMulticastReceivePermission()
const;
820 virtual void onMinecraftGameInitComplete();
822 virtual void onFullGameUnlock();
824 virtual bool is24HourTimeFormat()
const;
826 virtual ::Bedrock::Threading::Async<bool> showOSUserDialog(::std::string, ::std::string, ::std::string);
829 virtual ::Bedrock::NotNullNonOwnerPtr<::ThrottledFileWriteManager> getThrottledFileWriteManager()
const;
832 virtual ::Core::PathBuffer<::std::string> _getCurrentStoragePath()
const = 0;
834 virtual ::Core::PathBuffer<::std::string> _getExternalStoragePath()
const = 0;
836 virtual ::Core::PathBuffer<::std::string> _getInternalStoragePath()
const = 0;
838 virtual ::Core::PathBuffer<::std::string> _getUserdataPath()
const = 0;
841 virtual void _notifyUriListeners(
::ActivationUri const& uri,
bool ignoreVerb);
844 virtual bool _tryEnableCPUBoost();
846 virtual void _disableCPUBoost();
848 virtual void _initializeFileStorageAreas();
850 virtual void _teardownFileStorageAreas();
852 virtual int getPlatformDpi()
const;
854 virtual ::UIScalingRules getPlatformUIScalingRules()
const;
856 virtual ::Core::PathBuffer<::std::string> getPlatformTempPath()
const = 0;
858 virtual void _onInitialize();
860 virtual void _onTeardown();
866 MCAPI AppPlatform(
bool registerService, ::std::unique_ptr<::IAppPlatformImpl> impl);
874 MCAPI
void _fireAppTerminated();
876 MCAPI
void _initializeLoadProfiler();
878 MCAPI_C ::Bedrock::NotNullNonOwnerPtr<::Bedrock::IApplicationDataStores> getApplicationDataStores();
880 MCAPI_C ::UIProfile getDefaultUIProfile()
const;
882 MCFOLD_S ::Core::PathBuffer<::std::string> getInternalStoragePath()
const;
884 MCAPI ::std::optional<::std::locale> getLocaleForDateTimeFormatting()
const;
888 MCAPI_C
double getTotalActiveSeconds();
890 MCFOLD ::Core::PathBuffer<::std::string> getUserdataPath()
const;
894 MCAPI_C ::mce::Image loadTexture(
::Core::Path const& filename);
896 MCAPI_C ::mce::Image loadTextureFromStream(::std::string
const& fileStream);
898 MCAPI_C
bool requiresNetworkOutageMessaging()
const;
900 MCAPI_C
void setShareData(::std::string shareTitle, ::std::string shareText, ::std::string shareUri);
906 MCAPI_C
static bool updateImGuiKeyboard(uchar param,
bool isDown);
912 MCAPI static ::Core::PathBuffer<::Core::BasicStackString<char, 1024>>
const& HOME_PATH();
914 MCAPI static ::Core::PathBuffer<::Core::BasicStackString<char, 1024>>
const& LOG_PATH();
916 MCAPI static ::Core::PathBuffer<::Core::BasicStackString<char, 1024>>
const& SETTINGS_PATH();
918 MCAPI static ::Core::PathBuffer<::Core::BasicStackString<char, 1024>>
const& SHADERCACHE_PATH();
920 MCAPI_C
static bool& mIsInitialized();
922 MCAPI_C static ::ActivationUri& mPendingProtocolActivation();
924 MCAPI_C static ::Bedrock::Threading::Mutex& mProtocolMutex();
930 MCAPI
void* $ctor(
bool registerService, ::std::unique_ptr<::IAppPlatformImpl> impl);
942 MCAPI
void $initialize();
944 MCAPI
void $teardown();
946 MCAPI
void $initAppPlatformNetworkSettings();
948 MCFOLD
void $initializeScreenDependentResources();
950 MCAPI uint64 $getHighPerformanceThreadsCount()
const;
952 MCAPI uint64 $getTotalHardwareThreadsCount()
const;
954 MCFOLD
void $initializeGraphicsDeviceTier();
960 MCAPI
void $restartApp(
bool restart);
962 MCFOLD
bool $restartRequested();
964 MCFOLD
int const $numberOfThrottledTreatmentPacksToImportPerMinute()
const;
966 MCFOLD
bool const $areTreatmentPacksThrottled()
const;
968 MCAPI ::HardwareMemoryTierUtil
const& $getHardwareMemoryTierUtil()
const;
970 MCAPI ::Bedrock::Threading::Async<::IntegrityTokenResult> $requestIntegrityToken(::std::string
const& nonceToken);
972 MCFOLD
void $setIntegrityToken(::std::string
const& integrityToken);
974 MCFOLD
void $setIntegrityTokenErrorMessage(::std::string
const& errorMessage);
976 MCFOLD
bool $supportsInPackageRecursion()
const;
978 MCFOLD
bool $supportsXboxLiveAchievements()
const;
980 MCFOLD
void $hideSplashScreen();
982 MCAPI ::std::string $getFeedbackBugsLink()
const;
984 MCAPI ::std::string $getFeedbackHelpLink()
const;
986 MCAPI
auto $getModalErrorMessageProc() -> ::AssertDialogResponse (*)(::std::string
const&, ::std::string
const&);
988 MCFOLD
void $updateLocalization(::std::string
const& loc);
990 MCFOLD
void $setSleepEnabled(
bool enabled);
992 MCAPI ::Core::PathBuffer<::std::string> $getScratchPath();
994 MCFOLD ::Core::PathBuffer<::std::string> $getInternalPackStoragePath()
const;
996 MCAPI ::Core::PathBuffer<::std::string> $getSettingsPath();
998 MCFOLD ::Core::PathBuffer<::std::string> $getLoggingPath()
const;
1000 MCFOLD ::Core::PathBuffer<::std::string> $getPackagedShaderCachePath();
1002 MCAPI ::Core::PathBuffer<::std::string> $getShaderCachePath();
1004 MCFOLD ::Core::PathBuffer<::std::string> $getUserdataPathForLevels()
const;
1006 MCFOLD ::Core::PathBuffer<::std::string> $getCacheStoragePath();
1008 MCFOLD ::Core::PathBuffer<::std::string> $getOnDiskScratchPath();
1010 MCAPI ::Core::PathBuffer<::std::string> $getOnDiskPackScratchPath();
1012 MCFOLD ::Core::PathBuffer<::std::string> $getLevelInfoCachePath()
const;
1014 MCFOLD ::Core::PathBuffer<::std::string> $getCatalogSearchScratchPath();
1016 MCAPI ::Core::PathBuffer<::std::string> $getUserStorageRootPath()
const;
1020 MCFOLD
bool $hasSeparatedStorageAreasForContentAcquisition()
const;
1022 MCFOLD uint64 $getOptimalLDBSize();
1024 MCAPI
int $getMaxLDBFilesOpen()
const;
1026 MCFOLD
bool $getDisableLDBSeekCompactions()
const;
1028 MCFOLD
void $showDialog(
int dialogId);
1030 MCFOLD
void $createUserInput();
1032 MCAPI
void $createUserInput(
int dialogId);
1034 MCFOLD
int $getUserInputStatus();
1036 MCFOLD ::std::vector<::std::string> $getUserInput();
1038 MCAPI ::Bedrock::NotNullNonOwnerPtr<::IFileAccess> $getFileAccess(::ResourceFileSystem fileSystem);
1040 MCAPI ::Core::PathBuffer<::std::string> $copyImportFileToTempFolder(
::Core::Path const& filePath);
1042 MCFOLD
void $registerFileForCollectionWithCrashDump(
::Core::Path const& fileName);
1044 MCFOLD
void $registerExperimentsActiveCrashDump(::std::vector<::std::string>
const& activeExperiments)
const;
1046 MCAPI
int $getScreenWidth()
const;
1048 MCAPI
int $getScreenHeight()
const;
1050 MCAPI
int $getDisplayWidth();
1052 MCAPI
int $getDisplayHeight();
1054 MCFOLD
void $setScreenSize(
int width,
int height);
1056 MCFOLD
void $setWindowSize(
int width,
int height);
1058 MCFOLD
void $setWindowText(::std::string
const& title);
1060 MCFOLD ::std::optional<::OperationMode> $getOperationMode()
const;
1062 MCFOLD
bool $allowContentLogWriteToDisk();
1064 MCFOLD uint $getMaxClubsRequests()
const;
1066 MCFOLD
bool $supportsLaunchingLegacyVersion()
const;
1068 MCFOLD
void $launchLegacyVersion();
1070 MCFOLD
bool $canManageLegacyData()
const;
1072 MCFOLD
bool $supportsDayOneExperience()
const;
1074 MCFOLD
bool $canMigrateWorldData()
const;
1076 MCFOLD
bool $isContentAutoUpdateAllowed()
const;
1078 MCAPI
int $getMaxSimultaneousDownloads()
const;
1080 MCFOLD uint $getMaxSimultaneousServiceRequests()
const;
1082 MCFOLD
bool $isDownloadAndImportBlocking()
const;
1084 MCFOLD
bool $isDownloadBuffered()
const;
1086 MCFOLD
bool $supportsAutoSaveOnDBCompaction()
const;
1088 MCFOLD
bool $supportsVibration()
const;
1090 MCFOLD
void $vibrate(
int milliSeconds);
1092 MCAPI ::Core::PathBuffer<::std::string> $getAssetFileFullPath(
::Core::Path const& filename);
1094 MCAPI ::std::string $_readAssetFileInternal(
::Core::Path const& filename);
1096 MCAPI
bool $hasAssetFile(
::Core::Path const& filename);
1100 MCAPI ::std::set<::Core::PathBuffer<::std::string>>
1101 $listAssetFilesIn(
::Core::Path const& path, ::std::string
const& extension)
const;
1103 MCFOLD
bool $supportsClientUpdate()
const;
1105 MCAPI ::std::string $getClientUpdateUrl()
const;
1107 MCFOLD
int $checkLicense();
1109 MCFOLD
bool $hasBuyButtonWhenInvalidLicense();
1111 MCAPI
bool $isNetworkAvailable()
const;
1113 MCFOLD
bool $isLANAvailable()
const;
1115 MCFOLD
bool $isNetworkEnabled(
bool onlyWifiAllowed)
const;
1117 MCFOLD
void $setNetworkAllowed(
bool allowed);
1119 MCFOLD
bool $isNetworkAllowed()
const;
1121 MCFOLD
bool $isInternetAvailable()
const;
1123 MCFOLD ::std::optional<bool> $isOnWifiConnectionTelemetryValue();
1125 MCFOLD ::NetworkConnectionType $getNetworkConnectionType();
1127 MCAPI
void $setNetworkConnectionType(::NetworkConnectionType connectionType);
1129 MCAPI
int $getDefaultNetworkMaxPlayers()
const;
1131 MCFOLD
bool $multiplayerRequiresPremiumAccess()
const;
1133 MCFOLD
bool $multiplayerRequiresUGCEnabled()
const;
1135 MCFOLD
bool $isCrossPlatformToggleVisible()
const;
1137 MCFOLD
bool $isTelemetryAllowed();
1139 MCFOLD
void $buyGame();
1141 MCFOLD
void $finish();
1143 MCFOLD
bool $canLaunchUri(::std::string
const& uri);
1145 MCFOLD
void $launchUri(::std::string
const& uri);
1147 MCFOLD
void $launchSettings();
1149 MCFOLD
bool $useXboxControlHelpers()
const;
1151 MCFOLD ::PlatformType $getPlatformType()
const;
1153 MCFOLD
bool $isCentennial()
const;
1155 MCFOLD ::std::string $getPackageFamilyName()
const;
1157 MCFOLD ::BuildPlatform $getBuildPlatform()
const;
1159 MCFOLD
int $getNumberOfParticleFramesToInterpolate()
const;
1161 MCAPI
int $getDpi()
const;
1163 MCAPI
void $setDpi(
int dpi);
1165 MCAPI ::UIScalingRules $getUIScalingRules()
const;
1167 MCAPI
void $setUIScalingRules(::UIScalingRules UIScalingRules);
1169 MCFOLD
bool $hasIDEProfiler();
1171 MCAPI ::std::string $getPlatformStringVar(
int stringId);
1173 MCAPI uint64 $getMaximumUsedMemory();
1175 MCAPI uint64 $getLowPhysicalMemoryThreshold()
const;
1177 MCAPI
void $calculateIfLowMemoryDevice();
1179 MCAPI
bool $isLowMemoryDevice()
const;
1181 MCAPI
bool $isLowPhysicalMemoryDevice()
const;
1183 MCFOLD uint64 $getTextureMemoryBudget()
const;
1185 MCFOLD uint64 $getSingleMipDefaultMemoryBudget()
const;
1187 MCFOLD
void $readyForApplicationExitInfo()
const;
1189 MCFOLD ::DeviceSunsetTier $getDeviceSunsetTier()
const;
1191 MCAPI
int $getMaxSimRadiusInChunks()
const;
1193 MCFOLD ::std::vector<::std::string> $getBroadcastAddresses();
1195 MCFOLD ::std::vector<::std::string> $getIPAddresses();
1197 MCFOLD
bool $useAppPlatformForTelemetryIPAddress();
1199 MCAPI ::std::string $getModelName();
1201 MCFOLD
bool $usesHDRBrightness()
const;
1203 MCFOLD
void $updateBootstrapSettingsFromTreatmentsAsync();
1205 MCFOLD
void $setFullscreenMode(::FullscreenMode
const fullscreenMode);
1207 MCAPI
bool $isNetworkThrottled()
const;
1209 MCFOLD
bool $isLANAllowed()
const;
1211 MCFOLD
bool $doesLANRequireMultiplayerRestrictions()
const;
1213 MCAPI
void $collectGraphicsHardwareDetails();
1215 MCAPI ::std::string $getEdition()
const;
1217 MCFOLD ::OsVersion $getOSVersion()
const;
1219 MCAPI
void $setThreadsFrozen(
bool frozen);
1221 MCAPI
bool $areThreadsFrozen()
const;
1223 MCFOLD
float $getDefaultSafeZoneScaleX()
const;
1225 MCFOLD
float $getDefaultSafeZoneScaleY()
const;
1227 MCFOLD
float $getDefaultSafeZoneScaleAll()
const;
1229 MCFOLD
float $getDefaultScreenPositionX()
const;
1231 MCFOLD
float $getDefaultScreenPositionY()
const;
1233 MCAPI
bool $isQuitCapable()
const;
1235 MCFOLD
bool $requireControllerAtStartup()
const;
1237 MCFOLD
bool $notifyControllerConnectionStateChange()
const;
1239 MCFOLD
bool $platformRequiresControllerApplet()
const;
1242 MCAPI ::InputMode $getDefaultInputMode()
const;
1245 MCAPI ::AppFocusState $getFocusState();
1247 MCFOLD ::AppLifecycleContext& $getAppLifecycleContext();
1249 MCFOLD
bool $supportsFliteTTS()
const;
1251 MCAPI ::std::unique_ptr<::SecureStorage> $getSecureStorage();
1253 MCAPI ::SecureStorageKey $getSecureStorageKey(::std::string
const& key);
1255 MCFOLD
void $setSecureStorageKey(::std::string
const& key,
::SecureStorageKey const& value);
1257 MCFOLD
bool $devHotReloadRenderResources()
const;
1259 MCFOLD
bool $shouldPauseDownloadsWhenEnterGame()
const;
1261 MCFOLD
bool $compareAppReceiptToLocalReceipt(::std::string
const& otherReceipt);
1263 MCAPI ::mce::UUID
const& $getThirdPartyPackUUID()
const;
1265 MCFOLD
bool $saveTreatmentPacksAsZips()
const;
1267 MCFOLD
bool $saveEncryptedPacksAsZips()
const;
1269 MCFOLD
bool $saveEncryptedWorldTemplatePacksAsZips()
const;
1271 MCFOLD
bool $allowsResourcePackDevelopment()
const;
1273 MCFOLD
bool $supportsLegacySinglePremiumCacheDirectory()
const;
1275 MCFOLD
bool $supportsWorldShare()
const;
1277 MCFOLD
bool $hasJournalingFilesystem()
const;
1279 MCFOLD
bool $isAutoCompactionEnabled()
const;
1281 MCAPI ::std::chrono::nanoseconds $getLevelSaveInterval()
const;
1283 MCAPI ::std::chrono::nanoseconds $getOptionsSaveInterval()
const;
1285 MCFOLD
bool $hasPlatformSpecificInvites()
const;
1287 MCFOLD
bool $usePlatformProfilePicturesOnly()
const;
1289 MCFOLD
bool $allowBetaXblSignIn()
const;
1291 MCFOLD
bool $requiresXboxLiveSigninToPlay()
const;
1293 MCFOLD
bool $requiresLiveGoldForMultiplayer()
const;
1295 MCFOLD
bool $shouldRegisterForXboxLiveNotifications()
const;
1297 MCAPI
bool $isRealmsEnabled()
const;
1299 MCFOLD
bool $minimizeBackgroundDownloads()
const;
1301 MCFOLD
bool $requiresAutoSaveIconExplanationPopup()
const;
1303 MCAPI ::IPlatformScreenshots& $getPlatformScreenshots();
1305 MCFOLD ::std::vector<::std::shared_ptr<::Social::MultiplayerService>> $getMultiplayerServiceListToRegister()
const;
1307 MCFOLD ::std::vector<::Social::MultiplayerServiceIdentifier>
1308 $getBroadcastingMultiplayerServiceIds(
bool xblBroadcast,
bool platformBroadcast)
const;
1310 MCFOLD uint $maxFileDataRequestConcurrency()
const;
1312 MCFOLD
void $goToExternalConsumablesStoreListing()
const;
1314 MCAPI
float $getStoreNetworkFailureTimeout()
const;
1316 MCAPI ::std::shared_ptr<::Core::FileStorageArea>
1317 $createLoggingStorageArea(::Core::FileAccessType fileAccessType,
::Core::PathView loggingPath);
1319 MCFOLD
void $handlePlatformSpecificCommerceError(uint error);
1321 MCFOLD
bool $isEduMode()
const;
1323 MCFOLD
bool $importAsFlatFile()
const;
1325 MCFOLD
bool $isWebviewSupported()
const;
1329 MCFOLD
bool $getPlatformTTSExists()
const;
1331 MCFOLD
bool $getPlatformTTSEnabled()
const;
1333 MCAPI ::std::variant<::HWND__*, ::std::monostate> $getRenderSurfaceParameters()
const;
1335 MCFOLD
bool $shouldRemoveGraphicsDeviceOnAppTermination()
const;
1337 MCFOLD
bool $isJoinableViaExternalServers()
const;
1339 MCFOLD
void $onPrimaryUserNetworkReady();
1341 MCFOLD
bool $isDisplayInitialized()
const;
1343 MCFOLD
bool $usesAsyncOptionSaving()
const;
1345 MCFOLD
void $showPlatformStoreIcon(
bool shouldShow);
1347 MCAPI
void $showPlatformEmptyStoreDialog(::std::function<
void(
bool)>&& callback);
1349 MCFOLD
void $initializeGameStreaming();
1351 MCAPI
void $notifyNetworkConfigurationChanged();
1353 MCFOLD
void $setKeepScreenOnFlag(
bool);
1355 MCFOLD
void $initializeMulticast()
const;
1357 MCFOLD
void $requestMulticastReceivePermission();
1359 MCFOLD
bool $hasMulticastReceivePermission()
const;
1361 MCFOLD
void $releaseMulticastReceivePermission()
const;
1363 MCFOLD
void $onMinecraftGameInitComplete();
1365 MCFOLD
void $onFullGameUnlock();
1367 MCFOLD
bool $is24HourTimeFormat()
const;
1369 MCAPI ::Bedrock::Threading::Async<bool> $showOSUserDialog(::std::string, ::std::string, ::std::string);
1371 MCFOLD
bool $_tryEnableCPUBoost();
1373 MCFOLD
void $_disableCPUBoost();
1375 MCFOLD
void $_initializeFileStorageAreas();
1377 MCAPI
void $_teardownFileStorageAreas();
1379 MCFOLD
int $getPlatformDpi()
const;
1381 MCAPI ::UIScalingRules $getPlatformUIScalingRules()
const;
1383 MCFOLD
void $_onInitialize();
1385 MCFOLD
void $_onTeardown();
1394 MCFOLD
int $getKeyFromKeyCode(
int keyCode,
int metaState,
int deviceId);
1396 MCFOLD
void $textEditComponentGainedFocus(::std::string
const&,
int,
bool,
bool,
bool);
1398 MCFOLD
void $textEditComponentLostFocus();
1400 MCFOLD
void $hideKeyboard();
1402 MCAPI
bool $blankLineDismissesChat()
const;
1404 MCFOLD
bool $signWrapsTextEntry()
const;
1406 MCFOLD
bool $isFullScreenKeyboard()
const;
1408 MCFOLD
bool $actionSuspendsApp(::AppAction)
const;
1410 MCFOLD
float $getKeyboardHeight()
const;
1412 MCAPI
bool $refocusMouse(
bool lostMouse,
bool oldMouseGrabbed);
1414 MCFOLD
void $hideMousePointer();
1416 MCFOLD
void $showMousePointer();
1418 MCFOLD
void $postInteractiveSignIn();
1420 MCFOLD
bool $useHardwareMouse();
1422 MCFOLD
void $provideHardwareMouseImageData(
::mce::Image const& imageData);
1424 MCFOLD
bool $hasCustomSoftwareCursor()
const;
1426 MCFOLD ::Core::PathBuffer<::std::string> $getCustomSoftwareCursorAsset()
const;
1428 MCAPI
bool $getPointerFocus();
1430 MCAPI
void $setPointerFocus(
bool lostFocus);
1432 MCFOLD
void $toggleSimulateTouchWithMouse();
1434 MCAPI
void $_fireAppSuspended();
1436 MCAPI
void $_fireAppResumed();
1438 MCFOLD
void $_fireAppFocusLost();
1440 MCAPI
void $_fireAppFocusGained();
1442 MCAPI
void $_fireResizeBegin();
1444 MCAPI
void $_fireResizeEnd();
1446 MCAPI
void $_fireDeviceLost();
1448 MCAPI
void $_fireSurfaceCreated();
1450 MCAPI
void $_fireSurfaceDestroyed();
1452 MCFOLD
void $_fireAppConfigurationChanged();
1454 MCAPI
void $_fireAppPaused();
1456 MCAPI
void $_fireAppUnpaused();
1458 MCFOLD
void $discardBackbuffer();
1460 MCAPI ::std::string $getTermsOfUseHyperlink()
const;
1462 MCFOLD
void $pickFile(::std::shared_ptr<::FilePickerSettings> settings);
1464 MCFOLD
bool $supportsAlbumExport()
const;
1466 MCFOLD
bool $supportsPDFExport()
const;
1468 MCFOLD ::std::shared_ptr<::PDFWriter> $createPlatformPDFWriter();
1470 MCFOLD
void $shareFile(
::Core::Path const& path, ::std::function<
void(
bool)> onCompletionCallback);
1472 MCFOLD
bool $hasHardwareBackButton();
1474 MCFOLD
bool $supportsMSAA()
const;
1476 MCFOLD
bool $supports3rdPartyServers()
const;
1478 MCFOLD
bool $supportsManualAddedServers()
const;
1480 MCFOLD
bool $supportsFilePicking()
const;
1482 MCFOLD
bool $supportsTouch()
const;
1484 MCFOLD
bool $supportsKeyboardMouse()
const;
1486 MCFOLD
bool $supportsGamepad()
const;
1488 MCFOLD ::ClipboardFeatureFlags $getClipboardFeatures()
const;
1490 MCAPI
bool $supportsClipboardSet()
const;
1492 MCAPI
bool $supportsClipboardGet()
const;
1494 MCAPI
bool $supportsClipboardAsyncGet()
const;
1496 MCFOLD
void $setClipboard(::std::string
const& value)
const;
1498 MCAPI ::std::wstring $getClipboardText()
const;
1500 MCFOLD
void $getClipboardTextAsync(::std::function<
void(::std::string
const&)> callback)
const;
1502 MCFOLD
bool $supportsShare()
const;
1504 MCFOLD
void $share()
const;
1506 MCAPI
bool $allowSplitScreen();
1508 MCAPI
float $splitScreenRenderDistScalar(uint numPlayers);
1510 MCAPI
float $uiOpenRenderDistScalar();
1514 MCAPI
void $openStoragePermissionRequest(
1515 ::PermissionRequestReason reason,
1516 ::std::function<
void(::StoragePermissionResult)> resultCallback
1519 MCFOLD
void $setStorageDirectory(
1520 ::FileStorageDirectory dir,
1523 ::std::function<
void(
bool)>
1526 MCFOLD ::FileStorageDirectory $setInitialStorageDirectory(::FileStorageDirectory dir);
1528 MCFOLD ::FileStorageDirectory $getStorageDirectory()
const;
1530 MCFOLD
void $setStorageDirectoryChangeDenied(::std::function<
void(::FileStorageDirectory)> callback);
1532 MCAPI ::Bedrock::PubSub::Subscription
1533 $addStorageDirectoryChangedSubscriber(::std::function<
void(
::Core::Path const&)>);
1535 MCAPI
void $runStoragePermissionResultCallback(::StoragePermissionResult result);
1537 MCFOLD
bool $hasExternalStoragePermission();
1539 MCFOLD
bool $delayOptionSaveUntilCloudSync()
const;
1541 MCFOLD
void $updateTextEditBoxPosition(
1544 float const guiScale
1547 MCAPI ::BatteryMonitorInterface
const& $getBatteryMonitorInterface()
const;
1549 MCAPI ::ThermalMonitorInterface
const& $getThermalMonitorInterface()
const;
1551 MCFOLD
void $trialCorrelationStart();
1553 MCAPI
void $setAllowLostFocusToasts(
bool allowLostFocusToasts);
1555 MCAPI
void $setShowLostFocusToasts(
bool showLostFocusToasts);
1557 MCAPI
bool $getShowLostFocusToasts();
1559 MCFOLD uint64 $getLowMemoryEventThreshold(::LowMemorySeverity)
const;
1561 MCAPI uint64 $getLowMemoryEventRecoveryThreshold(::LowMemorySeverity severity)
const;
1563 MCAPI ::std::string $getDeviceId()
const;
1567 MCAPI
void $registerUriListener(::std::string
const& verb,
::UriListener& listener);
1569 MCAPI
void $unregisterUriListener(
::UriListener const& listener);
1573 MCAPI
void $notifyUriListenerRegistrationDone();
1575 MCFOLD
void $showXboxLiveUserSettings();
1577 MCAPI ::Bedrock::NotNullNonOwnerPtr<::ThrottledFileWriteManager> $getThrottledFileWriteManager()
const;
1579 MCAPI
void $_notifyUriListeners(
::ActivationUri const& uri,
bool ignoreVerb);