98 ::ll::TypedStorage<8, 8, uint64> mFreeMemoryMaximumBytes;
99 ::ll::TypedStorage<1, 1, bool> mRequestedRestart;
100 ::ll::TypedStorage<1, 1, bool> mPointerFocusLost;
101 ::ll::TypedStorage<1, 1, bool> mKeyboardVisible;
102 ::ll::TypedStorage<1, 1, bool> mOnInitUriListenerRegDone;
103 ::ll::TypedStorage<8, 16, ::std::multimap<float, ::AppPlatformListener*>> mListeners;
104 ::ll::TypedStorage<8, 104, ::Core::Subject<::NetworkChangeObserver, ::Bedrock::Threading::Mutex>>
105 mNetworkChangeSubject;
106 ::ll::TypedStorage<1, 1, ::NetworkConnectionType> mNetworkConnectionType;
108 ::ll::TypedStorage<8, 8, void*> mHWND;
109 ::ll::TypedStorage<8, 64, ::std::unordered_multimap<::std::string, ::UriListener*>> mUriListeners;
111 ::ll::TypedStorage<8, 64, ::std::function<void(::StoragePermissionResult)>> mStoragePermissionRequestResultCallback;
112 ::ll::TypedStorage<1, 4, ::AppLifecycleContext> mAppLifecycleContext;
113 ::ll::TypedStorage<4, 4, ::AppFocusState> mFocusState;
114 ::ll::TypedStorage<8, 80, ::Bedrock::Threading::Mutex> mShareLock;
115 ::ll::TypedStorage<8, 32, ::std::string> mShareTitle;
116 ::ll::TypedStorage<8, 32, ::std::string> mShareText;
117 ::ll::TypedStorage<8, 32, ::std::string> mShareUri;
118 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::IFileAccess>> mDefaultFileAccess;
119 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::IFileAccess>> mPackageFileAccess;
120 ::ll::TypedStorage<8, 8, uint64> mMaximumMemoryUsage;
121 ::ll::TypedStorage<8, 8, ::Bedrock::CommonPlatform*> mCommonPlatformShim;
122 ::ll::TypedStorage<1, 1, bool> mMockMultiplayerActive;
123 ::ll::TypedStorage<8, 32, ::std::string> mLocale;
124 ::ll::TypedStorage<8, 8, double> mActiveSeconds;
125 ::ll::TypedStorage<8, 8, double> mLastActiveTime;
126 ::ll::TypedStorage<1, 1, bool> mAppIsActive;
127 ::ll::TypedStorage<8, 40, ::std::optional<::std::string>> mDeviceTier;
128 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::AppPlatformNetworkSettings>> mAppPlatformNetworkSettings;
129 ::ll::TypedStorage<1, 1, ::std::atomic<bool>> mTerminating;
130 ::ll::TypedStorage<1, 1, ::std::atomic<bool>> mSuspended;
131 ::ll::TypedStorage<4, 4, int> mForcedDpi;
132 ::ll::TypedStorage<4, 4, ::UIScalingRules> mForcedUIScalingRules;
133 ::ll::TypedStorage<1, 1, bool> mForceUIScalingRules;
134 ::ll::TypedStorage<1, 1, bool> mShowLostFocusToasts;
135 ::ll::TypedStorage<1, 1, bool> mAllowLostFocusToasts;
136 ::ll::TypedStorage<1, 1, bool> mAreThreadsFrozen;
137 ::ll::TypedStorage<1, 1, bool> mIsLowMemoryDevice;
138 ::ll::TypedStorage<1, 1, bool> mIsLowPhysicalMemoryDevice;
139 ::ll::TypedStorage<1, 1, bool> mIsUserStorageInitialized;
140 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>> mScratchPath;
141 ::ll::TypedStorage<8, 80, ::Bedrock::Threading::Mutex> mScratchPathMutex;
142 ::ll::TypedStorage<8, 32, ::std::string> mLastDeviceSessionId;
143 ::ll::TypedStorage<8, 80, ::std::recursive_mutex> mListenerLock;
144 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Bedrock::SignalReceiver>> mSignalRcvr;
145 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Bedrock::PlatformRuntimeInfo>> mPlatformRuntimeInfo;
146 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Bedrock::PlatformBuildInfo>> mPlatformBuildInfo;
147 ::ll::TypedStorage<8, 16, ::Bedrock::UniqueService<::Core::LoadTimeProfiler>> mProfiler;
148 ::ll::TypedStorage<8, 16, ::Bedrock::UniqueService<::Bedrock::IApplicationDataStores>> mApplicationDataStores;
149 ::ll::TypedStorage<8, 16, ::Bedrock::UniqueService<::Bedrock::DeviceIdManager>> mDeviceIdManager;
150 ::ll::TypedStorage<8, 16, ::Bedrock::UniqueService<::Bedrock::FilePickerManager>> mFilePickerManager;
151 ::ll::TypedStorage<8, 8, ::ServiceRegistrationToken<::AppPlatform>> mAppPlatformServiceRegistrationToken;
152 ::ll::TypedStorage<4, 4, uint> mCPUBoostCounter;
153 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mLoadTimerOptionSubscription;
160 ::ll::TypedStorage<8, 8, int64> mCurrentMemorySeverityIdx;
161 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::HardwareMemoryTierUtil>> mHardwareMemoryTierUtil;
163 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ThrottledFileWriteManager>> mThrottledFileWriteManager;
165 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::IAppPlatformImpl>>> mImpl;
175 virtual ~AppPlatform() ;
177 virtual void initialize();
179 virtual void teardown();
181 virtual void initAppPlatformNetworkSettings() ;
183 virtual void initializeScreenDependentResources();
185 virtual uint64 getHighPerformanceThreadsCount()
const;
187 virtual uint64 getTotalHardwareThreadsCount()
const;
189 virtual void initializeGraphicsDeviceTier();
195 virtual void restartApp(
bool restart);
197 virtual bool restartRequested() ;
199 virtual ::Core::PathBuffer<::std::string> getPackagePath()
const = 0;
201 virtual int const numberOfThrottledTreatmentPacksToImportPerMinute()
const ;
203 virtual bool const areTreatmentPacksThrottled()
const ;
205 virtual ::HardwareMemoryTierUtil
const& getHardwareMemoryTierUtil()
const ;
208 virtual ::Core::PathBuffer<::std::string> getDataUrl()
const = 0;
216 virtual int getKeyFromKeyCode(
int keyCode,
int metaState,
int deviceId);
218 virtual void textEditComponentGainedFocus(::std::string
const&,
int,
bool,
bool,
bool);
220 virtual void textEditComponentLostFocus();
223 showKeyboard(::std::string
const&,
int,
bool,
bool,
bool,
int const, ::glm::vec2
const&,
float, ::InputMode);
225 virtual void hideKeyboard();
227 virtual bool blankLineDismissesChat()
const;
229 virtual bool signWrapsTextEntry()
const;
231 virtual bool isFullScreenKeyboard()
const;
233 virtual bool actionSuspendsApp(::AppAction)
const;
235 virtual float getKeyboardHeight()
const;
237 virtual bool refocusMouse(
bool lostMouse,
bool oldMouseGrabbed);
239 virtual void setMousePointerType(::ui::MousePointerType);
241 virtual void hideMousePointer();
243 virtual void showMousePointer();
245 virtual void postInteractiveSignIn();
247 virtual bool useHardwareMouse();
249 virtual void provideHardwareMouseImageData(
::mce::Image const& imageData);
251 virtual bool hasCustomSoftwareCursor()
const;
253 virtual ::Core::PathBuffer<::std::string> getCustomSoftwareCursorAsset()
const;
255 virtual bool getPointerFocus();
257 virtual void setPointerFocus(
bool lostFocus);
259 virtual void toggleSimulateTouchWithMouse();
261 virtual void _fireAppSuspended();
263 virtual void _fireAppResumed();
265 virtual void _fireAppFocusLost();
267 virtual void _fireAppFocusGained();
269 virtual void _fireResizeBegin();
271 virtual void _fireResizeEnd();
273 virtual void _fireDeviceLost();
275 virtual void _fireSurfaceCreated();
277 virtual void _fireSurfaceDestroyed();
279 virtual void _fireAppConfigurationChanged();
281 virtual void _fireAppPaused();
283 virtual void _fireAppUnpaused();
285 virtual void swapBuffers() = 0;
287 virtual void discardBackbuffer();
289 virtual ::std::string getSystemLocale()
const = 0;
291 virtual ::std::string getTermsOfUseHyperlink()
const;
293 virtual void pickImage(::std::shared_ptr<::ImagePickingCallback>) = 0;
295 virtual void pickFile(::std::shared_ptr<::FilePickerSettings> settings);
297 virtual bool supportsAlbumExport()
const;
299 virtual bool supportsPDFExport()
const;
301 virtual ::std::shared_ptr<::PDFWriter> createPlatformPDFWriter();
303 virtual void shareFile(
::Core::Path const& path, ::std::function<
void(
bool)> onCompletionCallback);
305 virtual bool hasHardwareBackButton();
307 virtual bool supportsMSAA()
const;
309 virtual bool supports3rdPartyServers()
const;
311 virtual bool supportsManualAddedServers()
const;
313 virtual bool supportsFilePicking()
const;
315 virtual bool supportsTouch()
const;
317 virtual bool supportsKeyboardMouse()
const;
319 virtual bool supportsGamepad()
const;
321 virtual ::ClipboardFeatureFlags getClipboardFeatures()
const;
323 virtual bool supportsClipboardSet()
const;
325 virtual bool supportsClipboardGet()
const;
327 virtual bool supportsClipboardAsyncGet()
const;
329 virtual void setClipboard(::std::string
const& value)
const;
331 virtual ::std::wstring getClipboardText()
const;
333 virtual void getClipboardTextAsync(::std::function<
void(::std::string
const&)> callback)
const;
335 virtual bool supportsShare()
const;
337 virtual void share()
const;
339 virtual bool allowSplitScreen();
341 virtual float splitScreenRenderDistScalar(uint numPlayers);
343 virtual float uiOpenRenderDistScalar();
347 virtual void openStoragePermissionRequest(
348 ::PermissionRequestReason reason,
349 ::std::function<
void(::StoragePermissionResult)> resultCallback
352 virtual void setStorageDirectory(
353 ::FileStorageDirectory dir,
356 ::std::function<
void(
bool)>
359 virtual ::FileStorageDirectory setInitialStorageDirectory(::FileStorageDirectory dir);
361 virtual ::FileStorageDirectory getStorageDirectory()
const;
363 virtual void setStorageDirectoryChangeDenied(::std::function<
void(::FileStorageDirectory)> callback);
365 virtual ::Bedrock::PubSub::Subscription
366 addStorageDirectoryChangedSubscriber(::std::function<
void(
::Core::Path const&)>);
368 virtual void runStoragePermissionResultCallback(::StoragePermissionResult result);
370 virtual bool hasExternalStoragePermission();
372 virtual bool delayOptionSaveUntilCloudSync()
const;
374 virtual void updateTextEditBoxPosition(
380 virtual ::BatteryMonitorInterface
const& getBatteryMonitorInterface()
const;
382 virtual ::ThermalMonitorInterface
const& getThermalMonitorInterface()
const;
384 virtual void trialCorrelationStart();
386 virtual void setAllowLostFocusToasts(
bool allowLostFocusToasts);
388 virtual void setShowLostFocusToasts(
bool showLostFocusToasts);
390 virtual bool getShowLostFocusToasts();
392 virtual double getTimeSFromProcessStart()
const = 0;
395 virtual ::Bedrock::Threading::Async<::IntegrityTokenResult> requestIntegrityToken(::std::string
const& nonceToken);
397 virtual void setIntegrityToken(::std::string
const& integrityToken);
399 virtual void setIntegrityTokenErrorMessage(::std::string
const& errorMessage);
401 virtual bool supportsInPackageRecursion()
const;
403 virtual bool supportsXboxLiveAchievements()
const;
405 virtual void hideSplashScreen();
407 virtual ::std::string getFeedbackBugsLink()
const;
409 virtual ::std::string getFeedbackHelpLink()
const;
411 virtual auto getModalErrorMessageProc() -> ::AssertDialogResponse (*)(::std::string
const&, ::std::string
const&);
413 virtual void updateLocalization(::std::string
const& loc);
415 virtual void setSleepEnabled(
bool enabled);
417 virtual ::Core::PathBuffer<::std::string> getScratchPath();
419 virtual ::Core::PathBuffer<::std::string> getInternalPackStoragePath()
const;
421 virtual ::Core::PathBuffer<::std::string> getSettingsPath();
423 virtual ::Core::PathBuffer<::std::string> getLoggingPath()
const ;
425 virtual ::Core::PathBuffer<::std::string> getPackagedShaderCachePath();
427 virtual ::Core::PathBuffer<::std::string> getShaderCachePath();
429 virtual ::Core::PathBuffer<::std::string> getUserdataPathForLevels()
const;
431 virtual ::Core::PathBuffer<::std::string> getCacheStoragePath();
433 virtual ::Core::PathBuffer<::std::string> getOnDiskScratchPath();
435 virtual ::Core::PathBuffer<::std::string> getOnDiskPackScratchPath();
437 virtual ::Core::PathBuffer<::std::string> getLevelInfoCachePath()
const;
439 virtual ::Core::PathBuffer<::std::string> getCatalogSearchScratchPath();
441 virtual ::Core::PathBuffer<::std::string> getUserStorageRootPath()
const;
445 virtual bool hasSeparatedStorageAreasForContentAcquisition()
const;
447 virtual uint64 getOptimalLDBSize();
449 virtual int getMaxLDBFilesOpen()
const;
451 virtual bool getDisableLDBSeekCompactions()
const;
453 virtual void showDialog(
int dialogId);
455 virtual void createUserInput();
457 virtual void createUserInput(
int dialogId);
459 virtual int getUserInputStatus();
461 virtual ::std::vector<::std::string> getUserInput();
463 virtual ::Bedrock::NotNullNonOwnerPtr<::IFileAccess> getFileAccess(::ResourceFileSystem fileSystem);
465 virtual ::Core::PathBuffer<::std::string> copyImportFileToTempFolder(
::Core::Path const& filePath);
467 virtual void registerFileForCollectionWithCrashDump(
::Core::Path const& fileName);
469 virtual void registerExperimentsActiveCrashDump(::std::vector<::std::string>
const& activeExperiments)
const;
471 virtual int getScreenWidth()
const;
473 virtual int getScreenHeight()
const;
475 virtual int getDisplayWidth();
477 virtual int getDisplayHeight();
479 virtual void setScreenSize(
int width,
int height);
481 virtual void setWindowSize(
int width,
int height);
483 virtual void setWindowText(::std::string
const& title);
485 virtual ::std::optional<::OperationMode> getOperationMode()
const;
487 virtual bool allowContentLogWriteToDisk();
489 virtual uint getMaxClubsRequests()
const;
491 virtual void queueForMainThread_DEPRECATED(::std::function<
void()>) = 0;
493 virtual ::MPMCQueue<::std::function<void()>>& getMainThreadQueue() = 0;
495 virtual bool supportsLaunchingLegacyVersion()
const;
497 virtual void launchLegacyVersion();
499 virtual bool canManageLegacyData()
const;
501 virtual bool supportsDayOneExperience()
const;
503 virtual bool canMigrateWorldData()
const;
505 virtual bool isContentAutoUpdateAllowed()
const;
507 virtual int getMaxSimultaneousDownloads()
const;
509 virtual uint getMaxSimultaneousServiceRequests()
const;
511 virtual bool isDownloadAndImportBlocking()
const;
513 virtual bool isDownloadBuffered()
const;
515 virtual bool supportsAutoSaveOnDBCompaction()
const;
517 virtual ::std::string getTextBoxBackend()
const = 0;
519 virtual void setTextBoxBackend(::std::string
const&) = 0;
521 virtual int getCaretPosition()
const = 0;
523 virtual void setCaretPosition(
int) = 0;
525 virtual bool supportsVibration()
const;
527 virtual void vibrate(
int milliSeconds);
529 virtual ::Core::PathBuffer<::std::string> getAssetFileFullPath(
::Core::Path const& filename);
531 virtual ::std::string _readAssetFileInternal(
::Core::Path const& filename);
533 virtual bool hasAssetFile(
::Core::Path const& filename);
537 virtual ::std::set<::Core::PathBuffer<::std::string>>
538 listAssetFilesIn(
::Core::Path const& path, ::std::string
const& extension)
const;
540 virtual bool supportsClientUpdate()
const;
542 virtual ::std::string getClientUpdateUrl()
const;
544 virtual int checkLicense();
546 virtual bool hasBuyButtonWhenInvalidLicense();
548 virtual bool isNetworkAvailable()
const ;
550 virtual bool isLANAvailable()
const ;
552 virtual bool isNetworkEnabled(
bool onlyWifiAllowed)
const ;
554 virtual void setNetworkAllowed(
bool allowed);
556 virtual bool isNetworkAllowed()
const;
558 virtual bool isInternetAvailable()
const ;
560 virtual ::std::optional<bool> isOnWifiConnectionTelemetryValue();
562 virtual ::NetworkConnectionType getNetworkConnectionType();
564 virtual void setNetworkConnectionType(::NetworkConnectionType connectionType);
566 virtual int getDefaultNetworkMaxPlayers()
const;
568 virtual bool multiplayerRequiresPremiumAccess()
const ;
570 virtual bool multiplayerRequiresUGCEnabled()
const ;
572 virtual bool isCrossPlatformToggleVisible()
const;
574 virtual bool isTelemetryAllowed();
576 virtual bool isTrialWorldsTransferToFullGameAllowed()
const;
578 virtual void buyGame();
580 virtual void finish();
582 virtual bool canLaunchUri(::std::string
const& uri);
584 virtual void launchUri(::std::string
const& uri);
586 virtual void launchSettings();
588 virtual bool useXboxControlHelpers()
const;
590 virtual ::PlatformType getPlatformType()
const;
592 virtual bool isCentennial()
const;
594 virtual ::std::string getPackageFamilyName()
const;
596 virtual ::BuildPlatform getBuildPlatform()
const ;
598 virtual ::std::string getSubPlatformString()
const = 0;
600 virtual int getNumberOfParticleFramesToInterpolate()
const;
602 virtual int getDpi()
const;
604 virtual void setDpi(
int dpi);
606 virtual ::UIScalingRules getUIScalingRules()
const;
608 virtual void setUIScalingRules(::UIScalingRules UIScalingRules);
610 virtual bool hasIDEProfiler();
612 virtual ::std::string getPlatformStringVar(
int stringId);
614 virtual ::std::string getApplicationId()
const = 0;
616 virtual uint64 getFreeMemory()
const = 0;
618 virtual uint64 getMemoryLimit()
const = 0;
620 virtual uint64 getUsedMemory() = 0;
622 virtual uint64 getTotalPhysicalMemory()
const = 0;
624 virtual uint64 getMaximumUsedMemory();
626 virtual uint64 getLowMemoryEventThreshold(::LowMemorySeverity)
const;
628 virtual uint64 getLowMemoryEventRecoveryThreshold(::LowMemorySeverity severity)
const;
630 virtual uint64 getLowPhysicalMemoryThreshold()
const ;
632 virtual void calculateIfLowMemoryDevice();
634 virtual bool isLowMemoryDevice()
const ;
636 virtual bool isLowPhysicalMemoryDevice()
const ;
638 virtual uint64 getTextureMemoryBudget()
const;
640 virtual uint64 getSingleMipDefaultMemoryBudget()
const;
642 virtual void readyForApplicationExitInfo()
const;
644 virtual ::DeviceSunsetTier getDeviceSunsetTier()
const;
646 virtual int getMaxSimRadiusInChunks()
const;
648 virtual ::std::vector<::std::string> getBroadcastAddresses();
650 virtual ::std::vector<::std::string> getIPAddresses();
652 virtual bool useAppPlatformForTelemetryIPAddress();
654 virtual ::std::string getModelName();
656 virtual bool usesHDRBrightness()
const;
658 virtual void updateBootstrapSettingsFromTreatmentsAsync();
661 virtual ::std::string getDeviceId()
const ;
663 virtual ::std::string createUUID() = 0;
665 virtual bool isTablet()
const = 0;
669 virtual void registerUriListener(::std::string
const& verb,
::UriListener& listener);
671 virtual void unregisterUriListener(
::UriListener const& listener);
675 virtual void notifyUriListenerRegistrationDone();
678 virtual void setFullscreenMode(::FullscreenMode
const fullscreenMode);
680 virtual bool isNetworkThrottled()
const;
682 virtual bool isLANAllowed()
const ;
684 virtual bool doesLANRequireMultiplayerRestrictions()
const;
686 virtual void collectGraphicsHardwareDetails();
688 virtual ::std::string getEdition()
const;
690 virtual ::OsVersion getOSVersion()
const;
692 virtual void setThreadsFrozen(
bool frozen);
694 virtual bool areThreadsFrozen()
const;
696 virtual float getDefaultSafeZoneScaleX()
const;
698 virtual float getDefaultSafeZoneScaleY()
const;
700 virtual float getDefaultSafeZoneScaleAll()
const;
702 virtual float getDefaultScreenPositionX()
const;
704 virtual float getDefaultScreenPositionY()
const;
706 virtual bool isQuitCapable()
const;
708 virtual bool requireControllerAtStartup()
const;
710 virtual bool notifyControllerConnectionStateChange()
const;
712 virtual bool platformRequiresControllerApplet()
const;
714 virtual ::InputMode getDefaultInputMode()
const;
716 virtual ::AppFocusState getFocusState();
718 virtual ::AppLifecycleContext& getAppLifecycleContext();
720 virtual uint64 calculateAvailableDiskFreeSpace(
::Core::Path const&) = 0;
722 virtual bool supportsFliteTTS()
const;
724 virtual ::std::unique_ptr<::SecureStorage> getSecureStorage();
726 virtual ::SecureStorageKey getSecureStorageKey(::std::string
const& key) ;
728 virtual void setSecureStorageKey(::std::string
const& key,
::SecureStorageKey const& value) ;
730 virtual bool devHotReloadRenderResources()
const;
732 virtual bool shouldPauseDownloadsWhenEnterGame()
const;
734 virtual bool compareAppReceiptToLocalReceipt(::std::string
const& otherReceipt);
736 virtual ::mce::UUID
const& getThirdPartyPackUUID()
const;
738 virtual bool saveTreatmentPacksAsZips()
const;
740 virtual bool saveEncryptedPacksAsZips()
const;
742 virtual bool saveEncryptedWorldTemplatePacksAsZips()
const;
744 virtual bool allowsResourcePackDevelopment()
const;
746 virtual bool supportsLegacySinglePremiumCacheDirectory()
const;
748 virtual bool supportsWorldShare()
const;
750 virtual bool hasJournalingFilesystem()
const;
752 virtual bool isAutoCompactionEnabled()
const;
754 virtual ::std::chrono::nanoseconds getLevelSaveInterval()
const;
756 virtual ::std::chrono::nanoseconds getOptionsSaveInterval()
const;
758 virtual bool hasPlatformSpecificInvites()
const ;
760 virtual bool usePlatformProfilePicturesOnly()
const;
762 virtual bool allowBetaXblSignIn()
const;
764 virtual bool requiresXboxLiveSigninToPlay()
const;
766 virtual bool requiresLiveGoldForMultiplayer()
const;
768 virtual bool shouldRegisterForXboxLiveNotifications()
const;
770 virtual bool isRealmsEnabled()
const ;
772 virtual bool minimizeBackgroundDownloads()
const;
774 virtual bool requiresAutoSaveIconExplanationPopup()
const;
776 virtual ::IPlatformScreenshots& getPlatformScreenshots();
778 virtual ::std::vector<::std::shared_ptr<::Social::MultiplayerService>> getMultiplayerServiceListToRegister()
const;
780 virtual ::std::vector<::Social::MultiplayerServiceIdentifier>
781 getBroadcastingMultiplayerServiceIds(
bool xblBroadcast,
bool platformBroadcast)
const ;
783 virtual uint maxFileDataRequestConcurrency()
const;
785 virtual void goToExternalConsumablesStoreListing()
const ;
787 virtual float getStoreNetworkFailureTimeout()
const;
789 virtual ::std::shared_ptr<::Core::FileStorageArea>
790 createLoggingStorageArea(::Core::FileAccessType fileAccessType,
::Core::PathView loggingPath);
792 virtual void handlePlatformSpecificCommerceError(uint error);
794 virtual bool isEduMode()
const;
796 virtual bool importAsFlatFile()
const;
798 virtual bool isWebviewSupported()
const;
802 virtual bool canAppSelfTerminate()
const = 0;
804 virtual bool getPlatformTTSExists()
const;
806 virtual bool getPlatformTTSEnabled()
const;
808 virtual ::std::variant<::HWND__*, ::std::monostate> getRenderSurfaceParameters()
const;
810 virtual bool shouldRemoveGraphicsDeviceOnAppTermination()
const;
812 virtual bool isJoinableViaExternalServers()
const;
814 virtual void onPrimaryUserNetworkReady();
816 virtual bool isDisplayInitialized()
const;
818 virtual bool usesAsyncOptionSaving()
const;
820 virtual void showPlatformStoreIcon(
bool shouldShow);
822 virtual void showPlatformEmptyStoreDialog(::std::function<
void(
bool)>&& callback) ;
825 virtual void showXboxLiveUserSettings();
828 virtual void initializeGameStreaming();
830 virtual void notifyNetworkConfigurationChanged();
832 virtual void setKeepScreenOnFlag(
bool);
834 virtual void initializeMulticast()
const;
836 virtual void requestMulticastReceivePermission();
838 virtual bool hasMulticastReceivePermission()
const;
840 virtual void releaseMulticastReceivePermission()
const;
842 virtual void onMinecraftGameInitComplete();
844 virtual void onFullGameUnlock();
846 virtual bool is24HourTimeFormat()
const;
848 virtual ::Bedrock::Threading::Async<bool> showOSUserDialog(::std::string, ::std::string, ::std::string);
851 virtual ::Bedrock::NotNullNonOwnerPtr<::ThrottledFileWriteManager> getThrottledFileWriteManager()
const;
854 virtual ::Core::PathBuffer<::std::string> _getCurrentStoragePath()
const = 0;
856 virtual ::Core::PathBuffer<::std::string> _getExternalStoragePath()
const = 0;
858 virtual ::Core::PathBuffer<::std::string> _getInternalStoragePath()
const = 0;
860 virtual ::Core::PathBuffer<::std::string> _getUserdataPath()
const = 0;
863 virtual void _notifyUriListeners(
::ActivationUri const& uri,
bool ignoreVerb);
866 virtual bool _tryEnableCPUBoost();
868 virtual void _disableCPUBoost();
870 virtual void _initializeFileStorageAreas();
872 virtual void _teardownFileStorageAreas();
874 virtual int getPlatformDpi()
const;
876 virtual ::UIScalingRules getPlatformUIScalingRules()
const;
878 virtual ::Core::PathBuffer<::std::string> getPlatformTempPath()
const = 0;
880 virtual void _onInitialize();
882 virtual void _onTeardown();
888 MCAPI AppPlatform(
bool registerService, ::std::unique_ptr<::IAppPlatformImpl> impl);
896 MCAPI
void _fireAppTerminated();
898 MCAPI
void _initializeLoadProfiler();
900 MCAPI_C ::Bedrock::NotNullNonOwnerPtr<::Bedrock::IApplicationDataStores> getApplicationDataStores();
902 MCAPI_C ::UIProfile getDefaultUIProfile()
const;
904 MCFOLD_S ::Core::PathBuffer<::std::string> getInternalStoragePath()
const;
906 MCAPI ::std::optional<::std::locale> getLocaleForDateTimeFormatting()
const;
910 MCAPI_C
double getTotalActiveSeconds();
912 MCFOLD ::Core::PathBuffer<::std::string> getUserdataPath()
const;
916 MCAPI_C ::mce::Image loadTexture(
::Core::Path const& filename);
918 MCAPI_C ::mce::Image loadTextureFromStream(::std::string
const& fileStream);
920 MCAPI_C
bool requiresNetworkOutageMessaging()
const;
922 MCAPI_C
void setShareData(::std::string shareTitle, ::std::string shareText, ::std::string shareUri);
928 MCAPI_C
static bool updateImGuiKeyboard(uchar param,
bool isDown);
934 MCAPI static ::Core::PathBuffer<::Core::BasicStackString<char, 1024>>
const& HOME_PATH();
936 MCAPI static ::Core::PathBuffer<::Core::BasicStackString<char, 1024>>
const& LOG_PATH();
938 MCAPI static ::Core::PathBuffer<::Core::BasicStackString<char, 1024>>
const& SETTINGS_PATH();
940 MCAPI static ::Core::PathBuffer<::Core::BasicStackString<char, 1024>>
const& SHADERCACHE_PATH();
942 MCAPI_C
static bool& mIsInitialized();
944 MCAPI_C static ::ActivationUri& mPendingProtocolActivation();
946 MCAPI_C static ::Bedrock::Threading::Mutex& mProtocolMutex();
952 MCAPI
void* $ctor(
bool registerService, ::std::unique_ptr<::IAppPlatformImpl> impl);
964 MCAPI
void $initialize();
966 MCAPI
void $teardown();
968 MCAPI
void $initAppPlatformNetworkSettings();
970 MCFOLD
void $initializeScreenDependentResources();
972 MCAPI uint64 $getHighPerformanceThreadsCount()
const;
974 MCAPI uint64 $getTotalHardwareThreadsCount()
const;
976 MCFOLD
void $initializeGraphicsDeviceTier();
982 MCAPI
void $restartApp(
bool restart);
984 MCFOLD
bool $restartRequested();
986 MCFOLD
int const $numberOfThrottledTreatmentPacksToImportPerMinute()
const;
988 MCFOLD
bool const $areTreatmentPacksThrottled()
const;
990 MCAPI ::HardwareMemoryTierUtil
const& $getHardwareMemoryTierUtil()
const;
992 MCAPI ::Bedrock::Threading::Async<::IntegrityTokenResult> $requestIntegrityToken(::std::string
const& nonceToken);
994 MCFOLD
void $setIntegrityToken(::std::string
const& integrityToken);
996 MCFOLD
void $setIntegrityTokenErrorMessage(::std::string
const& errorMessage);
998 MCFOLD
bool $supportsInPackageRecursion()
const;
1000 MCFOLD
bool $supportsXboxLiveAchievements()
const;
1002 MCFOLD
void $hideSplashScreen();
1004 MCAPI ::std::string $getFeedbackBugsLink()
const;
1006 MCAPI ::std::string $getFeedbackHelpLink()
const;
1008 MCAPI
auto $getModalErrorMessageProc() -> ::AssertDialogResponse (*)(::std::string
const&, ::std::string
const&);
1010 MCFOLD
void $updateLocalization(::std::string
const& loc);
1012 MCFOLD
void $setSleepEnabled(
bool enabled);
1014 MCAPI ::Core::PathBuffer<::std::string> $getScratchPath();
1016 MCFOLD ::Core::PathBuffer<::std::string> $getInternalPackStoragePath()
const;
1018 MCAPI ::Core::PathBuffer<::std::string> $getSettingsPath();
1020 MCFOLD ::Core::PathBuffer<::std::string> $getLoggingPath()
const;
1022 MCFOLD ::Core::PathBuffer<::std::string> $getPackagedShaderCachePath();
1024 MCAPI ::Core::PathBuffer<::std::string> $getShaderCachePath();
1026 MCFOLD ::Core::PathBuffer<::std::string> $getUserdataPathForLevels()
const;
1028 MCFOLD ::Core::PathBuffer<::std::string> $getCacheStoragePath();
1030 MCFOLD ::Core::PathBuffer<::std::string> $getOnDiskScratchPath();
1032 MCAPI ::Core::PathBuffer<::std::string> $getOnDiskPackScratchPath();
1034 MCFOLD ::Core::PathBuffer<::std::string> $getLevelInfoCachePath()
const;
1036 MCFOLD ::Core::PathBuffer<::std::string> $getCatalogSearchScratchPath();
1038 MCAPI ::Core::PathBuffer<::std::string> $getUserStorageRootPath()
const;
1042 MCFOLD
bool $hasSeparatedStorageAreasForContentAcquisition()
const;
1044 MCFOLD uint64 $getOptimalLDBSize();
1046 MCAPI
int $getMaxLDBFilesOpen()
const;
1048 MCFOLD
bool $getDisableLDBSeekCompactions()
const;
1050 MCFOLD
void $showDialog(
int dialogId);
1052 MCFOLD
void $createUserInput();
1054 MCAPI
void $createUserInput(
int dialogId);
1056 MCFOLD
int $getUserInputStatus();
1058 MCFOLD ::std::vector<::std::string> $getUserInput();
1060 MCAPI ::Bedrock::NotNullNonOwnerPtr<::IFileAccess> $getFileAccess(::ResourceFileSystem fileSystem);
1062 MCAPI ::Core::PathBuffer<::std::string> $copyImportFileToTempFolder(
::Core::Path const& filePath);
1064 MCFOLD
void $registerFileForCollectionWithCrashDump(
::Core::Path const& fileName);
1066 MCFOLD
void $registerExperimentsActiveCrashDump(::std::vector<::std::string>
const& activeExperiments)
const;
1068 MCAPI
int $getScreenWidth()
const;
1070 MCAPI
int $getScreenHeight()
const;
1072 MCAPI
int $getDisplayWidth();
1074 MCAPI
int $getDisplayHeight();
1076 MCFOLD
void $setScreenSize(
int width,
int height);
1078 MCFOLD
void $setWindowSize(
int width,
int height);
1080 MCFOLD
void $setWindowText(::std::string
const& title);
1082 MCFOLD ::std::optional<::OperationMode> $getOperationMode()
const;
1084 MCFOLD
bool $allowContentLogWriteToDisk();
1086 MCFOLD uint $getMaxClubsRequests()
const;
1088 MCFOLD
bool $supportsLaunchingLegacyVersion()
const;
1090 MCFOLD
void $launchLegacyVersion();
1092 MCFOLD
bool $canManageLegacyData()
const;
1094 MCFOLD
bool $supportsDayOneExperience()
const;
1096 MCFOLD
bool $canMigrateWorldData()
const;
1098 MCFOLD
bool $isContentAutoUpdateAllowed()
const;
1100 MCAPI
int $getMaxSimultaneousDownloads()
const;
1102 MCFOLD uint $getMaxSimultaneousServiceRequests()
const;
1104 MCFOLD
bool $isDownloadAndImportBlocking()
const;
1106 MCFOLD
bool $isDownloadBuffered()
const;
1108 MCFOLD
bool $supportsAutoSaveOnDBCompaction()
const;
1110 MCFOLD
bool $supportsVibration()
const;
1112 MCFOLD
void $vibrate(
int milliSeconds);
1114 MCAPI ::Core::PathBuffer<::std::string> $getAssetFileFullPath(
::Core::Path const& filename);
1116 MCAPI ::std::string $_readAssetFileInternal(
::Core::Path const& filename);
1118 MCAPI
bool $hasAssetFile(
::Core::Path const& filename);
1122 MCAPI ::std::set<::Core::PathBuffer<::std::string>>
1123 $listAssetFilesIn(
::Core::Path const& path, ::std::string
const& extension)
const;
1125 MCFOLD
bool $supportsClientUpdate()
const;
1127 MCAPI ::std::string $getClientUpdateUrl()
const;
1129 MCFOLD
int $checkLicense();
1131 MCFOLD
bool $hasBuyButtonWhenInvalidLicense();
1133 MCAPI
bool $isNetworkAvailable()
const;
1135 MCFOLD
bool $isLANAvailable()
const;
1137 MCFOLD
bool $isNetworkEnabled(
bool onlyWifiAllowed)
const;
1139 MCFOLD
void $setNetworkAllowed(
bool allowed);
1141 MCFOLD
bool $isNetworkAllowed()
const;
1143 MCFOLD
bool $isInternetAvailable()
const;
1145 MCFOLD ::std::optional<bool> $isOnWifiConnectionTelemetryValue();
1147 MCFOLD ::NetworkConnectionType $getNetworkConnectionType();
1149 MCAPI
void $setNetworkConnectionType(::NetworkConnectionType connectionType);
1151 MCAPI
int $getDefaultNetworkMaxPlayers()
const;
1153 MCFOLD
bool $multiplayerRequiresPremiumAccess()
const;
1155 MCFOLD
bool $multiplayerRequiresUGCEnabled()
const;
1157 MCFOLD
bool $isCrossPlatformToggleVisible()
const;
1159 MCFOLD
bool $isTelemetryAllowed();
1161 MCFOLD
void $buyGame();
1163 MCFOLD
void $finish();
1165 MCFOLD
bool $canLaunchUri(::std::string
const& uri);
1167 MCFOLD
void $launchUri(::std::string
const& uri);
1169 MCFOLD
void $launchSettings();
1171 MCFOLD
bool $useXboxControlHelpers()
const;
1173 MCFOLD ::PlatformType $getPlatformType()
const;
1175 MCFOLD
bool $isCentennial()
const;
1177 MCFOLD ::std::string $getPackageFamilyName()
const;
1179 MCFOLD ::BuildPlatform $getBuildPlatform()
const;
1181 MCFOLD
int $getNumberOfParticleFramesToInterpolate()
const;
1183 MCAPI
int $getDpi()
const;
1185 MCAPI
void $setDpi(
int dpi);
1187 MCAPI ::UIScalingRules $getUIScalingRules()
const;
1189 MCAPI
void $setUIScalingRules(::UIScalingRules UIScalingRules);
1191 MCFOLD
bool $hasIDEProfiler();
1193 MCAPI ::std::string $getPlatformStringVar(
int stringId);
1195 MCAPI uint64 $getMaximumUsedMemory();
1197 MCAPI uint64 $getLowPhysicalMemoryThreshold()
const;
1199 MCAPI
void $calculateIfLowMemoryDevice();
1201 MCAPI
bool $isLowMemoryDevice()
const;
1203 MCAPI
bool $isLowPhysicalMemoryDevice()
const;
1205 MCFOLD uint64 $getTextureMemoryBudget()
const;
1207 MCFOLD uint64 $getSingleMipDefaultMemoryBudget()
const;
1209 MCFOLD
void $readyForApplicationExitInfo()
const;
1211 MCFOLD ::DeviceSunsetTier $getDeviceSunsetTier()
const;
1213 MCAPI
int $getMaxSimRadiusInChunks()
const;
1215 MCFOLD ::std::vector<::std::string> $getBroadcastAddresses();
1217 MCFOLD ::std::vector<::std::string> $getIPAddresses();
1219 MCFOLD
bool $useAppPlatformForTelemetryIPAddress();
1221 MCAPI ::std::string $getModelName();
1223 MCFOLD
bool $usesHDRBrightness()
const;
1225 MCFOLD
void $updateBootstrapSettingsFromTreatmentsAsync();
1227 MCFOLD
void $setFullscreenMode(::FullscreenMode
const fullscreenMode);
1229 MCAPI
bool $isNetworkThrottled()
const;
1231 MCFOLD
bool $isLANAllowed()
const;
1233 MCFOLD
bool $doesLANRequireMultiplayerRestrictions()
const;
1235 MCAPI
void $collectGraphicsHardwareDetails();
1237 MCAPI ::std::string $getEdition()
const;
1239 MCFOLD ::OsVersion $getOSVersion()
const;
1241 MCAPI
void $setThreadsFrozen(
bool frozen);
1243 MCAPI
bool $areThreadsFrozen()
const;
1245 MCFOLD
float $getDefaultSafeZoneScaleX()
const;
1247 MCFOLD
float $getDefaultSafeZoneScaleY()
const;
1249 MCFOLD
float $getDefaultSafeZoneScaleAll()
const;
1251 MCFOLD
float $getDefaultScreenPositionX()
const;
1253 MCFOLD
float $getDefaultScreenPositionY()
const;
1255 MCAPI
bool $isQuitCapable()
const;
1257 MCFOLD
bool $requireControllerAtStartup()
const;
1259 MCFOLD
bool $notifyControllerConnectionStateChange()
const;
1261 MCFOLD
bool $platformRequiresControllerApplet()
const;
1264 MCAPI ::InputMode $getDefaultInputMode()
const;
1267 MCAPI ::AppFocusState $getFocusState();
1269 MCFOLD ::AppLifecycleContext& $getAppLifecycleContext();
1271 MCFOLD
bool $supportsFliteTTS()
const;
1273 MCAPI ::std::unique_ptr<::SecureStorage> $getSecureStorage();
1275 MCAPI ::SecureStorageKey $getSecureStorageKey(::std::string
const& key);
1277 MCFOLD
void $setSecureStorageKey(::std::string
const& key,
::SecureStorageKey const& value);
1279 MCFOLD
bool $devHotReloadRenderResources()
const;
1281 MCFOLD
bool $shouldPauseDownloadsWhenEnterGame()
const;
1283 MCFOLD
bool $compareAppReceiptToLocalReceipt(::std::string
const& otherReceipt);
1285 MCAPI ::mce::UUID
const& $getThirdPartyPackUUID()
const;
1287 MCFOLD
bool $saveTreatmentPacksAsZips()
const;
1289 MCFOLD
bool $saveEncryptedPacksAsZips()
const;
1291 MCFOLD
bool $saveEncryptedWorldTemplatePacksAsZips()
const;
1293 MCFOLD
bool $allowsResourcePackDevelopment()
const;
1295 MCFOLD
bool $supportsLegacySinglePremiumCacheDirectory()
const;
1297 MCFOLD
bool $supportsWorldShare()
const;
1299 MCFOLD
bool $hasJournalingFilesystem()
const;
1301 MCFOLD
bool $isAutoCompactionEnabled()
const;
1303 MCAPI ::std::chrono::nanoseconds $getLevelSaveInterval()
const;
1305 MCAPI ::std::chrono::nanoseconds $getOptionsSaveInterval()
const;
1307 MCFOLD
bool $hasPlatformSpecificInvites()
const;
1309 MCFOLD
bool $usePlatformProfilePicturesOnly()
const;
1311 MCFOLD
bool $allowBetaXblSignIn()
const;
1313 MCFOLD
bool $requiresXboxLiveSigninToPlay()
const;
1315 MCFOLD
bool $requiresLiveGoldForMultiplayer()
const;
1317 MCFOLD
bool $shouldRegisterForXboxLiveNotifications()
const;
1319 MCAPI
bool $isRealmsEnabled()
const;
1321 MCFOLD
bool $minimizeBackgroundDownloads()
const;
1323 MCFOLD
bool $requiresAutoSaveIconExplanationPopup()
const;
1325 MCAPI ::IPlatformScreenshots& $getPlatformScreenshots();
1327 MCFOLD ::std::vector<::std::shared_ptr<::Social::MultiplayerService>> $getMultiplayerServiceListToRegister()
const;
1329 MCFOLD ::std::vector<::Social::MultiplayerServiceIdentifier>
1330 $getBroadcastingMultiplayerServiceIds(
bool xblBroadcast,
bool platformBroadcast)
const;
1332 MCFOLD uint $maxFileDataRequestConcurrency()
const;
1334 MCFOLD
void $goToExternalConsumablesStoreListing()
const;
1336 MCAPI
float $getStoreNetworkFailureTimeout()
const;
1338 MCAPI ::std::shared_ptr<::Core::FileStorageArea>
1339 $createLoggingStorageArea(::Core::FileAccessType fileAccessType,
::Core::PathView loggingPath);
1341 MCFOLD
void $handlePlatformSpecificCommerceError(uint error);
1343 MCFOLD
bool $isEduMode()
const;
1345 MCFOLD
bool $importAsFlatFile()
const;
1347 MCFOLD
bool $isWebviewSupported()
const;
1351 MCFOLD
bool $getPlatformTTSExists()
const;
1353 MCFOLD
bool $getPlatformTTSEnabled()
const;
1355 MCAPI ::std::variant<::HWND__*, ::std::monostate> $getRenderSurfaceParameters()
const;
1357 MCFOLD
bool $shouldRemoveGraphicsDeviceOnAppTermination()
const;
1359 MCFOLD
bool $isJoinableViaExternalServers()
const;
1361 MCFOLD
void $onPrimaryUserNetworkReady();
1363 MCFOLD
bool $isDisplayInitialized()
const;
1365 MCFOLD
bool $usesAsyncOptionSaving()
const;
1367 MCFOLD
void $showPlatformStoreIcon(
bool shouldShow);
1369 MCAPI
void $showPlatformEmptyStoreDialog(::std::function<
void(
bool)>&& callback);
1371 MCFOLD
void $initializeGameStreaming();
1373 MCAPI
void $notifyNetworkConfigurationChanged();
1375 MCFOLD
void $setKeepScreenOnFlag(
bool);
1377 MCFOLD
void $initializeMulticast()
const;
1379 MCFOLD
void $requestMulticastReceivePermission();
1381 MCFOLD
bool $hasMulticastReceivePermission()
const;
1383 MCFOLD
void $releaseMulticastReceivePermission()
const;
1385 MCFOLD
void $onMinecraftGameInitComplete();
1387 MCFOLD
void $onFullGameUnlock();
1389 MCFOLD
bool $is24HourTimeFormat()
const;
1391 MCAPI ::Bedrock::Threading::Async<bool> $showOSUserDialog(::std::string, ::std::string, ::std::string);
1393 MCFOLD
bool $_tryEnableCPUBoost();
1395 MCFOLD
void $_disableCPUBoost();
1397 MCFOLD
void $_initializeFileStorageAreas();
1399 MCAPI
void $_teardownFileStorageAreas();
1401 MCFOLD
int $getPlatformDpi()
const;
1403 MCAPI ::UIScalingRules $getPlatformUIScalingRules()
const;
1405 MCFOLD
void $_onInitialize();
1407 MCFOLD
void $_onTeardown();
1416 MCFOLD
int $getKeyFromKeyCode(
int keyCode,
int metaState,
int deviceId);
1418 MCFOLD
void $textEditComponentGainedFocus(::std::string
const&,
int,
bool,
bool,
bool);
1420 MCFOLD
void $textEditComponentLostFocus();
1422 MCFOLD
void $hideKeyboard();
1424 MCAPI
bool $blankLineDismissesChat()
const;
1426 MCFOLD
bool $signWrapsTextEntry()
const;
1428 MCFOLD
bool $isFullScreenKeyboard()
const;
1430 MCFOLD
bool $actionSuspendsApp(::AppAction)
const;
1432 MCFOLD
float $getKeyboardHeight()
const;
1434 MCAPI
bool $refocusMouse(
bool lostMouse,
bool oldMouseGrabbed);
1436 MCFOLD
void $hideMousePointer();
1438 MCFOLD
void $showMousePointer();
1440 MCFOLD
void $postInteractiveSignIn();
1442 MCFOLD
bool $useHardwareMouse();
1444 MCFOLD
void $provideHardwareMouseImageData(
::mce::Image const& imageData);
1446 MCFOLD
bool $hasCustomSoftwareCursor()
const;
1448 MCFOLD ::Core::PathBuffer<::std::string> $getCustomSoftwareCursorAsset()
const;
1450 MCAPI
bool $getPointerFocus();
1452 MCAPI
void $setPointerFocus(
bool lostFocus);
1454 MCFOLD
void $toggleSimulateTouchWithMouse();
1456 MCAPI
void $_fireAppSuspended();
1458 MCAPI
void $_fireAppResumed();
1460 MCFOLD
void $_fireAppFocusLost();
1462 MCAPI
void $_fireAppFocusGained();
1464 MCAPI
void $_fireResizeBegin();
1466 MCAPI
void $_fireResizeEnd();
1468 MCAPI
void $_fireDeviceLost();
1470 MCAPI
void $_fireSurfaceCreated();
1472 MCAPI
void $_fireSurfaceDestroyed();
1474 MCFOLD
void $_fireAppConfigurationChanged();
1476 MCAPI
void $_fireAppPaused();
1478 MCAPI
void $_fireAppUnpaused();
1480 MCFOLD
void $discardBackbuffer();
1482 MCAPI ::std::string $getTermsOfUseHyperlink()
const;
1484 MCFOLD
void $pickFile(::std::shared_ptr<::FilePickerSettings> settings);
1486 MCFOLD
bool $supportsAlbumExport()
const;
1488 MCFOLD
bool $supportsPDFExport()
const;
1490 MCFOLD ::std::shared_ptr<::PDFWriter> $createPlatformPDFWriter();
1492 MCFOLD
void $shareFile(
::Core::Path const& path, ::std::function<
void(
bool)> onCompletionCallback);
1494 MCFOLD
bool $hasHardwareBackButton();
1496 MCFOLD
bool $supportsMSAA()
const;
1498 MCFOLD
bool $supports3rdPartyServers()
const;
1500 MCFOLD
bool $supportsManualAddedServers()
const;
1502 MCFOLD
bool $supportsFilePicking()
const;
1504 MCFOLD
bool $supportsTouch()
const;
1506 MCFOLD
bool $supportsKeyboardMouse()
const;
1508 MCFOLD
bool $supportsGamepad()
const;
1510 MCFOLD ::ClipboardFeatureFlags $getClipboardFeatures()
const;
1512 MCAPI
bool $supportsClipboardSet()
const;
1514 MCAPI
bool $supportsClipboardGet()
const;
1516 MCAPI
bool $supportsClipboardAsyncGet()
const;
1518 MCFOLD
void $setClipboard(::std::string
const& value)
const;
1520 MCAPI ::std::wstring $getClipboardText()
const;
1522 MCFOLD
void $getClipboardTextAsync(::std::function<
void(::std::string
const&)> callback)
const;
1524 MCFOLD
bool $supportsShare()
const;
1526 MCFOLD
void $share()
const;
1528 MCAPI
bool $allowSplitScreen();
1530 MCAPI
float $splitScreenRenderDistScalar(uint numPlayers);
1532 MCAPI
float $uiOpenRenderDistScalar();
1536 MCAPI
void $openStoragePermissionRequest(
1537 ::PermissionRequestReason reason,
1538 ::std::function<
void(::StoragePermissionResult)> resultCallback
1541 MCFOLD
void $setStorageDirectory(
1542 ::FileStorageDirectory dir,
1545 ::std::function<
void(
bool)>
1548 MCFOLD ::FileStorageDirectory $setInitialStorageDirectory(::FileStorageDirectory dir);
1550 MCFOLD ::FileStorageDirectory $getStorageDirectory()
const;
1552 MCFOLD
void $setStorageDirectoryChangeDenied(::std::function<
void(::FileStorageDirectory)> callback);
1554 MCAPI ::Bedrock::PubSub::Subscription
1555 $addStorageDirectoryChangedSubscriber(::std::function<
void(
::Core::Path const&)>);
1557 MCAPI
void $runStoragePermissionResultCallback(::StoragePermissionResult result);
1559 MCFOLD
bool $hasExternalStoragePermission();
1561 MCFOLD
bool $delayOptionSaveUntilCloudSync()
const;
1563 MCFOLD
void $updateTextEditBoxPosition(
1566 float const guiScale
1569 MCAPI ::BatteryMonitorInterface
const& $getBatteryMonitorInterface()
const;
1571 MCAPI ::ThermalMonitorInterface
const& $getThermalMonitorInterface()
const;
1573 MCFOLD
void $trialCorrelationStart();
1575 MCAPI
void $setAllowLostFocusToasts(
bool allowLostFocusToasts);
1577 MCAPI
void $setShowLostFocusToasts(
bool showLostFocusToasts);
1579 MCAPI
bool $getShowLostFocusToasts();
1581 MCFOLD uint64 $getLowMemoryEventThreshold(::LowMemorySeverity)
const;
1583 MCAPI uint64 $getLowMemoryEventRecoveryThreshold(::LowMemorySeverity severity)
const;
1585 MCAPI ::std::string $getDeviceId()
const;
1589 MCAPI
void $registerUriListener(::std::string
const& verb,
::UriListener& listener);
1591 MCAPI
void $unregisterUriListener(
::UriListener const& listener);
1595 MCAPI
void $notifyUriListenerRegistrationDone();
1597 MCFOLD
void $showXboxLiveUserSettings();
1599 MCAPI ::Bedrock::NotNullNonOwnerPtr<::ThrottledFileWriteManager> $getThrottledFileWriteManager()
const;
1601 MCAPI
void $_notifyUriListeners(
::ActivationUri const& uri,
bool ignoreVerb);