106 ReadMode& operator=(ReadMode
const&);
107 ReadMode(ReadMode
const&);
116 ::ll::TypedStorage<8, 8, uint64> mFreeMemoryMaximumBytes;
117 ::ll::TypedStorage<1, 1, bool> mRequestedRestart;
118 ::ll::TypedStorage<1, 1, bool> mPointerFocusLost;
119 ::ll::TypedStorage<1, 1, bool> mKeyboardVisible;
120 ::ll::TypedStorage<1, 1, bool> mOnInitUriListenerRegDone;
121 ::ll::TypedStorage<8, 16, ::std::multimap<float, ::AppPlatformListener*>> mListeners;
122 ::ll::TypedStorage<8, 104, ::Core::Subject<::NetworkChangeObserver, ::Bedrock::Threading::Mutex>>
123 mNetworkChangeSubject;
124 ::ll::TypedStorage<1, 1, ::NetworkConnectionType> mNetworkConnectionType;
126 ::ll::TypedStorage<8, 8, void*> mHWND;
127 ::ll::TypedStorage<8, 64, ::std::unordered_multimap<::std::string, ::UriListener*>> mUriListeners;
129 ::ll::TypedStorage<8, 64, ::std::function<void(::StoragePermissionResult)>> mStoragePermissionRequestResultCallback;
130 ::ll::TypedStorage<1, 4, ::AppLifecycleContext> mAppLifecycleContext;
131 ::ll::TypedStorage<4, 4, ::AppFocusState> mFocusState;
132 ::ll::TypedStorage<8, 80, ::Bedrock::Threading::Mutex> mShareLock;
133 ::ll::TypedStorage<8, 32, ::std::string> mShareTitle;
134 ::ll::TypedStorage<8, 32, ::std::string> mShareText;
135 ::ll::TypedStorage<8, 32, ::std::string> mShareUri;
136 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::IFileAccess>> mDefaultFileAccess;
137 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::IFileAccess>> mPackageFileAccess;
138 ::ll::TypedStorage<8, 8, uint64> mMaximumMemoryUsage;
139 ::ll::TypedStorage<8, 32, ::std::string> mLocale;
140 ::ll::TypedStorage<8, 8, double> mActiveSeconds;
141 ::ll::TypedStorage<8, 8, double> mLastActiveTime;
142 ::ll::TypedStorage<1, 1, bool> mAppIsActive;
143 ::ll::TypedStorage<8, 40, ::std::optional<::std::string>> mDeviceTier;
144 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::AppPlatformNetworkSettings>> mAppPlatformNetworkSettings;
145 ::ll::TypedStorage<1, 1, ::std::atomic<bool>> mTerminating;
146 ::ll::TypedStorage<1, 1, ::std::atomic<bool>> mSuspended;
147 ::ll::TypedStorage<4, 4, int> mForcedDpi;
148 ::ll::TypedStorage<4, 4, ::UIScalingRules> mForcedUIScalingRules;
149 ::ll::TypedStorage<1, 1, bool> mForceUIScalingRules;
150 ::ll::TypedStorage<1, 1, bool> mShowLostFocusToasts;
151 ::ll::TypedStorage<1, 1, bool> mAllowLostFocusToasts;
152 ::ll::TypedStorage<1, 1, bool> mAreThreadsFrozen;
153 ::ll::TypedStorage<1, 1, bool> mIsLowMemoryDevice;
154 ::ll::TypedStorage<1, 1, bool> mIsLowPhysicalMemoryDevice;
155 ::ll::TypedStorage<1, 1, bool> mIsUserStorageInitialized;
156 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>> mScratchPath;
157 ::ll::TypedStorage<8, 80, ::Bedrock::Threading::Mutex> mScratchPathMutex;
158 ::ll::TypedStorage<8, 32, ::std::string> mLastDeviceSessionId;
159 ::ll::TypedStorage<8, 80, ::std::recursive_mutex> mListenerLock;
160 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Bedrock::SignalReceiver>> mSignalRcvr;
161 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Bedrock::PlatformRuntimeInfo>> mPlatformRuntimeInfo;
162 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Bedrock::PlatformBuildInfo>> mPlatformBuildInfo;
163 ::ll::TypedStorage<8, 16, ::Bedrock::UniqueService<::Core::LoadTimeProfiler>> mProfiler;
164 ::ll::TypedStorage<8, 16, ::Bedrock::UniqueService<::Bedrock::IApplicationDataStores>> mApplicationDataStores;
165 ::ll::TypedStorage<8, 16, ::Bedrock::UniqueService<::Bedrock::DeviceIdManager>> mDeviceIdManager;
166 ::ll::TypedStorage<8, 16, ::Bedrock::UniqueService<::Bedrock::FilePickerManager>> mFilePickerManager;
167 ::ll::TypedStorage<8, 8, ::ServiceRegistrationToken<::AppPlatform>> mAppPlatformServiceRegistrationToken;
168 ::ll::TypedStorage<4, 4, uint> mCPUBoostCounter;
169 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mLoadTimerOptionSubscription;
176 ::ll::TypedStorage<8, 8, int64> mCurrentMemorySeverityIdx;
177 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::HardwareMemoryTierUtil>> mHardwareMemoryTierUtil;
179 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ThrottledFileWriteManager>> mThrottledFileWriteManager;
181 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::IAppPlatformImpl>>> mImpl;
191 virtual ~AppPlatform() ;
193 virtual void initialize();
195 virtual void teardown();
197 virtual void initAppPlatformNetworkSettings() ;
199 virtual uint64 getHighPerformanceThreadsCount()
const;
201 virtual uint64 getTotalHardwareThreadsCount()
const;
203 virtual void initializeGraphicsDeviceTier();
209 virtual ::ProcessExecutionState getProcessExecutionState()
const;
211 virtual void restartApp(
bool restart);
213 virtual bool restartRequested() ;
215 virtual ::Core::PathBuffer<::std::string> getPackagePath()
const = 0;
217 virtual int const numberOfThrottledTreatmentPacksToImportPerMinute() const ;
219 virtual
bool const areTreatmentPacksThrottled() const ;
224 virtual ::Core::PathBuffer<::std::string> getDataUrl()
const = 0;
232 virtual int getKeyFromKeyCode(
int,
int,
int);
234 virtual void textEditComponentGainedFocus(
235 ::std::string
const& currentText,
242 virtual void textEditComponentLostFocus();
244 virtual void showKeyboard(
245 ::std::string
const& currentText,
250 int const controllerId,
251 ::glm::vec2
const& position,
253 ::InputMode inputMode
256 virtual void hideKeyboard();
258 virtual bool blankLineDismissesChat()
const;
260 virtual bool signWrapsTextEntry()
const;
262 virtual bool isFullScreenKeyboard()
const;
264 virtual bool actionSuspendsApp(::AppAction)
const;
266 virtual float getKeyboardHeight()
const;
268 virtual bool refocusMouse(
bool lostMouse,
bool oldMouseGrabbed);
270 virtual void setMousePointerType(::Bedrock::Input::PointerType pointerType);
272 virtual void hideMousePointer();
274 virtual void showMousePointer();
276 virtual void postInteractiveSignIn();
278 virtual bool useHardwareMouse();
280 virtual void provideHardwareMouseImageData(
::mce::Image const&);
282 virtual bool hasCustomSoftwareCursor()
const;
284 virtual ::Core::PathBuffer<::std::string> getCustomSoftwareCursorAsset()
const;
286 virtual bool getPointerFocus();
288 virtual void setPointerFocus(
bool lostFocus);
290 virtual bool isInvertScrollEnabled()
const;
292 virtual void toggleSimulateTouchWithMouse();
294 virtual void _fireAppSuspended();
296 virtual void _fireAppResumed();
298 virtual void _fireAppFocusLost();
300 virtual void _fireAppFocusGained();
302 virtual void _fireResizeBegin();
304 virtual void _fireResizeEnd();
306 virtual void _fireDeviceLost();
308 virtual void _fireSurfaceCreated();
310 virtual void _fireSurfaceDestroyed();
312 virtual void _fireAppConfigurationChanged();
314 virtual void _fireAppPaused();
316 virtual void _fireAppUnpaused();
318 virtual void swapBuffers() = 0;
320 virtual void discardBackbuffer();
322 virtual ::std::string getSystemLocale()
const = 0;
324 virtual ::std::string getTermsOfUseHyperlink()
const;
326 virtual void pickImage(::std::shared_ptr<::ImagePickingCallback> callback) = 0;
328 virtual void pickFile(::std::shared_ptr<::FilePickerSettings> settings);
330 virtual bool supportsAlbumExport()
const;
332 virtual bool supportsPDFExport()
const;
334 virtual ::std::shared_ptr<::PDFWriter> createPlatformPDFWriter();
336 virtual void shareFile(
::Core::Path const&, ::std::function<
void(
bool)>);
338 virtual bool hasHardwareBackButton();
340 virtual bool supportsMSAA()
const;
342 virtual bool supports3rdPartyServers()
const;
344 virtual bool supportsManualAddedServers()
const;
346 virtual bool supportsFilePicking()
const;
348 virtual bool supportsTouch()
const;
350 virtual bool supportsKeyboardMouse()
const;
352 virtual bool supportsGamepad()
const;
354 virtual ::ClipboardFeatureFlags getClipboardFeatures()
const;
356 virtual bool supportsClipboardSet()
const;
358 virtual bool supportsClipboardGet()
const;
360 virtual bool supportsClipboardAsyncGet()
const;
362 virtual void setClipboard(::std::string
const& value)
const;
364 virtual ::std::wstring getClipboardText()
const;
366 virtual void getClipboardTextAsync(::std::function<
void(::std::string
const&)>)
const;
368 virtual bool supportsShare()
const;
370 virtual void share()
const;
372 virtual bool allowSplitScreen();
374 virtual float splitScreenRenderDistScalar(uint numPlayers);
376 virtual float uiOpenRenderDistScalar();
380 virtual void openStoragePermissionRequest(
381 ::PermissionRequestReason,
382 ::std::function<
void(::StoragePermissionResult)> resultCallback
385 virtual void setStorageDirectory(
386 ::FileStorageDirectory dir,
389 ::std::function<
void(
bool)> onComplete
392 virtual ::FileStorageDirectory setInitialStorageDirectory(::FileStorageDirectory);
394 virtual ::FileStorageDirectory getStorageDirectory()
const;
396 virtual void setStorageDirectoryChangeDenied(::std::function<
void(::FileStorageDirectory)>);
398 virtual ::Bedrock::PubSub::Subscription
399 addStorageDirectoryChangedSubscriber(::std::function<
void(
::Core::Path const&)> callback);
401 virtual void runStoragePermissionResultCallback(::StoragePermissionResult result);
403 virtual bool hasExternalStoragePermission();
405 virtual bool delayOptionSaveUntilCloudSync()
const;
407 virtual void updateTextEditBoxPosition(
413 virtual ::BatteryMonitorInterface
const& getBatteryMonitorInterface()
const;
415 virtual ::ThermalMonitorInterface
const& getThermalMonitorInterface()
const;
417 virtual void trialCorrelationStart();
419 virtual void setAllowLostFocusToasts(
bool allowLostFocusToasts);
421 virtual void setShowLostFocusToasts(
bool showLostFocusToasts);
423 virtual bool getShowLostFocusToasts();
425 virtual double getTimeSFromProcessStart()
const = 0;
428 virtual ::Bedrock::Threading::Async<::IntegrityTokenResult> requestIntegrityToken(::std::string
const& nonceToken);
430 virtual void setIntegrityToken(::std::string
const& integrityToken);
432 virtual void setIntegrityTokenErrorMessage(::std::string
const& errorMessage);
434 virtual bool supportsInPackageRecursion()
const;
436 virtual bool supportsXboxLiveAchievements()
const;
438 virtual void hideSplashScreen();
440 virtual ::std::string getFeedbackBugsLink()
const;
442 virtual ::std::string getFeedbackHelpLink()
const;
444 virtual auto getModalErrorMessageProc() -> ::AssertDialogResponse (*)(::std::string
const&, ::std::string
const&);
446 virtual void updateLocalization(::std::string
const&);
448 virtual void setSleepEnabled(
bool);
450 virtual ::Core::PathBuffer<::std::string> getScratchPath();
452 virtual ::Core::PathBuffer<::std::string> getInternalPackStoragePath()
const;
454 virtual ::Core::PathBuffer<::std::string> getSettingsPath();
456 virtual ::Core::PathBuffer<::std::string> getLoggingPath() const ;
458 virtual ::Core::PathBuffer<::
std::
string> getPackagedShaderCachePath();
460 virtual ::Core::PathBuffer<::
std::
string> getShaderCachePath();
462 virtual ::Core::PathBuffer<::
std::
string> getUserdataPathForLevels() const;
464 virtual ::Core::PathBuffer<::
std::
string> getCacheStoragePath();
466 virtual ::Core::PathBuffer<::
std::
string> getOnDiskScratchPath();
468 virtual ::Core::PathBuffer<::
std::
string> getOnDiskPackScratchPath();
470 virtual ::Core::PathBuffer<::
std::
string> getLevelInfoCachePath() const;
472 virtual ::Core::PathBuffer<::
std::
string> getCatalogSearchScratchPath();
474 virtual ::Core::PathBuffer<::
std::
string> getUserStorageRootPath() const;
476 virtual ::
std::shared_ptr<::Core::FileStorageArea> getOrCreateStorageAreaForUser(::Social::UserCreationData const&);
478 virtual
bool hasSeparatedStorageAreasForContentAcquisition() const;
480 virtual uint64 getOptimalLDBSize();
482 virtual
int getMaxLDBFilesOpen() const;
484 virtual
bool getDisableLDBSeekCompactions() const;
486 virtual
void showDialog(
int);
488 virtual
void createUserInput();
490 virtual
void createUserInput(
int dialogId);
492 virtual
int getUserInputStatus();
494 virtual ::
std::vector<::
std::
string> getUserInput();
496 virtual ::Bedrock::NotNullNonOwnerPtr<::
IFileAccess> getFileAccess(::ResourceFileSystem fileSystem);
498 virtual ::Core::PathBuffer<::
std::
string> copyImportFileToTempFolder(::Core::
Path const& filePath);
500 virtual
void registerFileForCollectionWithCrashDump(::Core::
Path const&);
502 virtual
void registerExperimentsActiveCrashDump(::
std::vector<::
std::
string> const& activeExperiments) const;
504 virtual
int getScreenWidth() const;
506 virtual
int getScreenHeight() const;
508 virtual
int getDisplayWidth();
510 virtual
int getDisplayHeight();
513 virtual void setScreenSize(
int,
int);
515 virtual void setScreenSize(
int width,
int height);
518 virtual void setWindowSize(
int width,
int height);
521 virtual void setWindowText(::std::string
const& title);
523 virtual void setWindowText(::std::string
const&);
526 virtual ::std::optional<::OperationMode> getOperationMode()
const;
528 virtual bool allowContentLogWriteToDisk();
530 virtual uint getMaxClubsRequests()
const;
532 virtual void queueForMainThread_DEPRECATED(::std::function<
void()> callback) = 0;
534 virtual ::MPMCQueue<::std::function<void()>>& getMainThreadQueue() = 0;
536 virtual bool supportsLaunchingLegacyVersion()
const;
538 virtual void launchLegacyVersion();
540 virtual bool canManageLegacyData()
const;
542 virtual bool supportsDayOneExperience()
const;
544 virtual bool canMigrateWorldData()
const;
546 virtual bool isContentAutoUpdateAllowed()
const;
548 virtual int getMaxSimultaneousDownloads()
const;
550 virtual uint getMaxSimultaneousServiceRequests()
const;
552 virtual bool isDownloadAndImportBlocking()
const;
554 virtual bool isDownloadBuffered()
const;
556 virtual bool supportsAutoSaveOnDBCompaction()
const;
558 virtual ::std::string getTextBoxBackend()
const = 0;
560 virtual void setTextBoxBackend(::std::string
const& newText) = 0;
562 virtual int getCaretPosition()
const = 0;
564 virtual void setCaretPosition(
int position) = 0;
568 virtual bool supportsVibration()
const;
570 virtual void vibrate(
int);
572 virtual ::Core::PathBuffer<::std::string> getAssetFileFullPath(
::Core::Path const& filename);
574 virtual ::Bedrock::Result<::std::string> _readAssetFileInternal(
::Core::PathView filename);
576 virtual bool hasAssetFile(
::Core::Path const& filename);
580 virtual ::std::set<::Core::PathBuffer<::std::string>>
581 listAssetFilesIn(
::Core::Path const& path, ::std::string
const& extension)
const;
583 virtual bool supportsClientUpdate()
const;
585 virtual ::std::string getClientUpdateUrl()
const;
587 virtual int checkLicense();
589 virtual bool hasBuyButtonWhenInvalidLicense();
591 virtual bool isNetworkAvailable() const ;
593 virtual
bool isLANAvailable() const ;
595 virtual
bool isNetworkEnabled(
bool) const ;
597 virtual
void setNetworkAllowed(
bool);
599 virtual
bool isNetworkAllowed() const;
601 virtual
bool isInternetAvailable() const ;
603 virtual ::
std::optional<
bool> isOnWifiConnectionTelemetryValue();
605 virtual ::NetworkConnectionType getNetworkConnectionType();
607 virtual
void setNetworkConnectionType(::NetworkConnectionType connectionType);
609 virtual
int getDefaultNetworkMaxPlayers() const ;
611 virtual
bool multiplayerRequiresPremiumAccess() const ;
613 virtual
bool multiplayerRequiresUGCEnabled() const ;
615 virtual
bool isCrossPlatformToggleVisible() const;
617 virtual
bool isTelemetryAllowed();
619 virtual
bool isTrialWorldsTransferToFullGameAllowed() const;
621 virtual
void buyGame();
623 virtual
void finish();
625 virtual
bool canLaunchUri(::
std::
string const& uri);
627 virtual
void launchUri(::
std::
string const& uri);
629 virtual
void launchSettings();
631 virtual
bool useXboxControlHelpers() const;
633 virtual ::PlatformType getPlatformType() const;
635 virtual
bool isCentennial() const;
637 virtual ::
std::
string getPackageFamilyName() const;
639 virtual ::BuildPlatform getBuildPlatform() const ;
641 virtual ::
std::
string getSubPlatformString() const = 0;
643 virtual
int getNumberOfParticleFramesToInterpolate() const;
645 virtual
int getDpi() const;
647 virtual
void setDpi(
int dpi);
649 virtual ::UIScalingRules getUIScalingRules() const;
651 virtual
void setUIScalingRules(::UIScalingRules UIScalingRules);
653 virtual
bool hasIDEProfiler();
655 virtual ::
std::
string getPlatformStringVar(
int);
657 virtual ::
std::
string getApplicationId() const = 0;
659 virtual uint64 getFreeMemory() const = 0;
661 virtual uint64 getMemoryLimit() const = 0;
663 virtual uint64 getUsedMemory() = 0;
665 virtual uint64 getTotalPhysicalMemory() const = 0;
667 virtual uint64 getMaximumUsedMemory();
669 virtual uint64 getLowMemoryEventThreshold(::LowMemorySeverity) const;
671 virtual uint64 getLowMemoryEventRecoveryThreshold(::LowMemorySeverity severity) const;
673 virtual uint64 getLowPhysicalMemoryThreshold() const ;
675 virtual
void calculateIfLowMemoryDevice();
677 virtual
bool isLowMemoryDevice() const ;
679 virtual
bool isLowPhysicalMemoryDevice() const ;
681 virtual uint64 getTextureMemoryBudget() const;
683 virtual uint64 getSingleMipDefaultMemoryBudget() const;
685 virtual
void readyForApplicationExitInfo() const;
687 virtual ::DeviceSunsetTier getDeviceSunsetTier() const;
689 virtual
int getMaxSimRadiusInChunks() const;
691 virtual ::
std::vector<::
std::
string> getBroadcastAddresses();
693 virtual ::
std::vector<::
std::
string> getIPAddresses();
695 virtual
bool useAppPlatformForTelemetryIPAddress();
697 virtual ::
std::
string getModelName();
699 virtual
void updateBootstrapSettingsFromTreatmentsAsync();
702 virtual ::std::string getDeviceId() const ;
704 virtual ::
std::
string createUUID() = 0;
706 virtual
bool isTablet() const = 0;
708 virtual
void registerUriListener(::
UriListener& listener);
710 virtual
void registerUriListener(::
std::
string const& verb, ::
UriListener& listener);
712 virtual
void unregisterUriListener(::
UriListener const& listener);
716 virtual
void notifyUriListenerRegistrationDone();
719 virtual void setFullscreenMode(::FullscreenMode
const fullscreenMode);
721 virtual bool isNetworkThrottled()
const;
723 virtual bool isLANAllowed() const ;
725 virtual
bool doesLANRequireMultiplayerRestrictions() const;
727 virtual
void collectGraphicsHardwareDetails();
729 virtual ::
std::
string getEdition() const;
731 virtual ::OsVersion getOSVersion() const;
733 virtual
void setThreadsFrozen(
bool frozen);
735 virtual
bool areThreadsFrozen() const;
737 virtual
float getDefaultSafeZoneScaleX() const;
739 virtual
float getDefaultSafeZoneScaleY() const;
741 virtual
float getDefaultSafeZoneScaleAll() const;
743 virtual
float getDefaultScreenPositionX() const;
745 virtual
float getDefaultScreenPositionY() const;
747 virtual
bool isQuitCapable() const;
749 virtual
bool requireControllerAtStartup() const;
751 virtual
bool notifyControllerConnectionStateChange() const;
753 virtual
bool platformRequiresControllerApplet() const;
755 virtual ::InputMode getDefaultInputMode() const;
757 virtual ::AppFocusState getFocusState();
761 virtual uint64 calculateAvailableDiskFreeSpace(::Core::
Path const& rootPath) = 0;
763 virtual
bool supportsFliteTTS() const;
771 virtual
bool devHotReloadRenderResources() const;
773 virtual
bool shouldPauseDownloadsWhenEnterGame() const;
775 virtual
bool compareAppReceiptToLocalReceipt(::
std::
string const&);
777 virtual ::mce::UUID const& getThirdPartyPackUUID() const;
779 virtual ::mce::UUID const& getPlatformBetaPackUUID() const;
781 virtual
bool saveTreatmentPacksAsZips() const;
783 virtual
bool saveEncryptedPacksAsZips() const;
785 virtual
bool saveEncryptedWorldTemplatePacksAsZips() const;
787 virtual
bool saveEncryptedPersonaPacksAsZips() const;
789 virtual
bool allowsResourcePackDevelopment() const;
791 virtual
bool supportsLegacySinglePremiumCacheDirectory() const;
793 virtual
bool supportsWorldShare() const;
795 virtual
bool hasJournalingFilesystem() const;
797 virtual
bool isAutoCompactionEnabled() const;
799 virtual ::
std::chrono::nanoseconds getLevelSaveInterval() const;
801 virtual ::
std::chrono::nanoseconds getOptionsSaveInterval() const;
803 virtual
bool hasPlatformSpecificInvites() const ;
805 virtual
bool usePlatformProfilePicturesOnly() const;
807 virtual
bool allowBetaXblSignIn() const;
809 virtual
bool requiresXboxLiveSigninToPlay() const;
811 virtual
bool requiresLiveGoldForMultiplayer() const;
813 virtual
bool shouldRegisterForXboxLiveNotifications() const;
815 virtual
bool isRealmsEnabled() const ;
817 virtual
bool minimizeBackgroundDownloads() const;
819 virtual
bool requiresAutoSaveIconExplanationPopup() const;
823 virtual uint maxFileDataRequestConcurrency() const;
825 virtual
void goToExternalConsumablesStoreListing() const ;
827 virtual
float getStoreNetworkFailureTimeout() const;
829 virtual ::
std::shared_ptr<::Core::FileStorageArea>
830 createLoggingStorageArea(::Core::FileAccessType fileAccessType, ::Core::PathView loggingPath);
832 virtual
void handlePlatformSpecificCommerceError(uint error);
834 virtual
bool isEduMode() const;
836 virtual
bool importAsFlatFile() const;
838 virtual
bool isWebviewSupported() const;
846 virtual bool canAppSelfTerminate()
const = 0;
848 virtual bool getPlatformTTSExists()
const;
850 virtual bool getPlatformTTSEnabled()
const;
852 virtual ::std::variant<::HWND__*, ::std::monostate> getRenderSurfaceParameters()
const;
854 virtual bool shouldRemoveGraphicsDeviceOnAppTermination()
const;
856 virtual bool isJoinableViaExternalServers()
const;
858 virtual void onPrimaryUserNetworkReady();
860 virtual bool isDisplayInitialized()
const;
862 virtual bool usesAsyncOptionSaving()
const;
864 virtual void showPlatformStoreIcon(
bool shouldShow);
866 virtual void showPlatformEmptyStoreDialog(::std::function<
void(
bool)>&& callback) ;
869 virtual void showXboxLiveUserSettings();
872 virtual void initializeGameStreaming();
874 virtual void notifyNetworkConfigurationChanged();
876 virtual void setKeepScreenOnFlag(
bool);
878 virtual void initializeMulticast()
const;
880 virtual void requestMulticastReceivePermission();
882 virtual bool hasMulticastReceivePermission()
const;
884 virtual void releaseMulticastReceivePermission()
const;
886 virtual void onMinecraftGameInitComplete();
888 virtual void onFullGameUnlock();
890 virtual bool is24HourTimeFormat()
const;
892 virtual ::Bedrock::Threading::Async<bool> showOSUserDialog(::std::string, ::std::string, ::std::string);
895 virtual ::Bedrock::NotNullNonOwnerPtr<::ThrottledFileWriteManager> getThrottledFileWriteManager()
const;
898 virtual ::Core::PathBuffer<::std::string> _getCurrentStoragePath()
const = 0;
900 virtual ::Core::PathBuffer<::std::string> _getExternalStoragePath()
const = 0;
902 virtual ::Core::PathBuffer<::std::string> _getInternalStoragePath()
const = 0;
904 virtual ::Core::PathBuffer<::std::string> _getUserdataPath()
const = 0;
906 virtual ::Core::PathBuffer<::std::string> _getSharedDataPath()
const = 0;
909 virtual void _notifyUriListeners(
::ActivationUri const& uri,
bool ignoreVerb);
912 virtual bool _tryEnableCPUBoost();
914 virtual void _disableCPUBoost();
916 virtual ::Bedrock::CommonPlatform* getPlatformShim()
const;
918 virtual void _initializeFileStorageAreas();
920 virtual void _teardownFileStorageAreas();
922 virtual int getPlatformDpi()
const;
924 virtual ::UIScalingRules getPlatformUIScalingRules()
const;
926 virtual ::Core::PathBuffer<::std::string> getPlatformTempPath()
const = 0;
928 virtual void _onInitialize();
930 virtual void _onTeardown();
936 MCAPI AppPlatform(
bool registerService, ::std::unique_ptr<::IAppPlatformImpl> impl);
947 MCAPI
void _fireAppTerminated();
949 MCAPI
void _terminateListeners();
953 MCAPI
void checkAndTriggerOnLowMemory();
955 MCAPI ::std::string getDeviceIdWarning()
const;
958 MCAPI ::std::string getGraphicsDeviceTier()
const;
960 MCAPI ::std::optional<::std::locale> getLocaleForDateTimeFormatting()
const;
963 MCAPI ::std::string getShareText()
const;
965 MCAPI ::std::string getShareTitle()
const;
967 MCAPI ::std::string getShareUri()
const;
969 MCAPI
double getTotalActiveSeconds();
974 MCAPI ::Bedrock::Result<::std::string>
978 MCAPI
bool requiresNetworkOutageMessaging()
const;
980 MCAPI
void setShareData(::std::string shareTitle, ::std::string shareText, ::std::string shareUri);
982 MCAPI
void setShareMetaData(::std::string
const& shareTitle, ::std::string
const& shareText);
990 MCAPI static ::Bedrock::Result<::std::string> _readAssetFileGeneric(
::Core::PathView filename);
994 MCAPI
static void imGuiAddInputChar(ushort c);
996 MCAPI
static bool mouseInputHandledByImGui();
998 MCAPI
static bool updateImGuiKeyboard(uchar param,
bool isDown);
1000 MCAPI
static void updateImGuiMouseButton(uchar button,
bool isDown);
1002 MCAPI
static void updateImGuiMousePosition(
float x,
float y);
1004 MCAPI
static void updateImGuiMouseScrollBar(
float value);
1011 MCAPI static ::Core::PathBuffer<::Core::BasicStackString<char, 1024>>
const& HOME_PATH();
1013 MCAPI static ::Core::PathBuffer<::Core::BasicStackString<char, 1024>>
const& LOG_PATH();
1015 MCAPI static ::Core::PathBuffer<::Core::BasicStackString<char, 1024>>
const& SETTINGS_PATH();
1017 MCAPI static ::Core::PathBuffer<::Core::BasicStackString<char, 1024>>
const& SHADERCACHE_PATH();
1020 MCAPI
static bool& mIsInitialized();
1022 MCAPI static ::ActivationUri& mPendingProtocolActivation();
1024 MCAPI static ::Bedrock::Threading::Mutex& mProtocolMutex();
1031 MCAPI
void* $ctor(
bool registerService, ::std::unique_ptr<::IAppPlatformImpl> impl);
1043 MCAPI
void $initialize();
1045 MCAPI
void $teardown();
1047 MCAPI
void $initAppPlatformNetworkSettings();
1049 MCAPI uint64 $getHighPerformanceThreadsCount()
const;
1051 MCAPI uint64 $getTotalHardwareThreadsCount()
const;
1053 MCFOLD
void $initializeGraphicsDeviceTier();
1059 MCAPI ::ProcessExecutionState $getProcessExecutionState()
const;
1061 MCAPI
void $restartApp(
bool restart);
1063 MCAPI
bool $restartRequested();
1065 MCFOLD
int const $numberOfThrottledTreatmentPacksToImportPerMinute()
const;
1067 MCFOLD
bool const $areTreatmentPacksThrottled()
const;
1069 MCAPI ::HardwareMemoryTierUtil
const& $getHardwareMemoryTierUtil()
const;
1071 MCAPI ::Bedrock::Threading::Async<::IntegrityTokenResult> $requestIntegrityToken(::std::string
const& nonceToken);
1073 MCFOLD
void $setIntegrityToken(::std::string
const& integrityToken);
1075 MCFOLD
void $setIntegrityTokenErrorMessage(::std::string
const& errorMessage);
1077 MCFOLD
bool $supportsInPackageRecursion()
const;
1079 MCFOLD
bool $supportsXboxLiveAchievements()
const;
1081 MCFOLD
void $hideSplashScreen();
1083 MCAPI ::std::string $getFeedbackBugsLink()
const;
1085 MCAPI ::std::string $getFeedbackHelpLink()
const;
1087 MCAPI
auto $getModalErrorMessageProc() -> ::AssertDialogResponse (*)(::std::string
const&, ::std::string
const&);
1089 MCFOLD
void $updateLocalization(::std::string
const&);
1091 MCFOLD
void $setSleepEnabled(
bool);
1093 MCAPI ::Core::PathBuffer<::std::string> $getScratchPath();
1095 MCAPI ::Core::PathBuffer<::std::string> $getInternalPackStoragePath()
const;
1097 MCAPI ::Core::PathBuffer<::std::string> $getSettingsPath();
1099 MCFOLD ::Core::PathBuffer<::std::string> $getLoggingPath()
const;
1101 MCFOLD ::Core::PathBuffer<::std::string> $getPackagedShaderCachePath();
1103 MCAPI ::Core::PathBuffer<::std::string> $getShaderCachePath();
1105 MCFOLD ::Core::PathBuffer<::std::string> $getUserdataPathForLevels()
const;
1107 MCFOLD ::Core::PathBuffer<::std::string> $getCacheStoragePath();
1109 MCFOLD ::Core::PathBuffer<::std::string> $getOnDiskScratchPath();
1111 MCAPI ::Core::PathBuffer<::std::string> $getOnDiskPackScratchPath();
1113 MCFOLD ::Core::PathBuffer<::std::string> $getLevelInfoCachePath()
const;
1115 MCFOLD ::Core::PathBuffer<::std::string> $getCatalogSearchScratchPath();
1117 MCAPI ::Core::PathBuffer<::std::string> $getUserStorageRootPath()
const;
1121 MCFOLD
bool $hasSeparatedStorageAreasForContentAcquisition()
const;
1123 MCFOLD uint64 $getOptimalLDBSize();
1125 MCAPI
int $getMaxLDBFilesOpen()
const;
1127 MCFOLD
bool $getDisableLDBSeekCompactions()
const;
1129 MCFOLD
void $showDialog(
int);
1131 MCFOLD
void $createUserInput();
1133 MCAPI
void $createUserInput(
int dialogId);
1135 MCFOLD
int $getUserInputStatus();
1137 MCFOLD ::std::vector<::std::string> $getUserInput();
1139 MCAPI ::Bedrock::NotNullNonOwnerPtr<::IFileAccess> $getFileAccess(::ResourceFileSystem fileSystem);
1141 MCAPI ::Core::PathBuffer<::std::string> $copyImportFileToTempFolder(
::Core::Path const& filePath);
1143 MCFOLD
void $registerFileForCollectionWithCrashDump(
::Core::Path const&);
1145 MCFOLD
void $registerExperimentsActiveCrashDump(::std::vector<::std::string>
const& activeExperiments)
const;
1147 MCAPI
int $getScreenWidth()
const;
1149 MCAPI
int $getScreenHeight()
const;
1152 MCFOLD
int $getDisplayWidth();
1154 MCAPI
int $getDisplayWidth();
1157 MCAPI
int $getDisplayHeight();
1160 MCFOLD
void $setScreenSize(
int,
int);
1162 MCFOLD
void $setScreenSize(
int width,
int height);
1165 MCFOLD
void $setWindowSize(
int width,
int height);
1168 MCFOLD
void $setWindowText(::std::string
const& title);
1170 MCFOLD
void $setWindowText(::std::string
const&);
1173 MCFOLD ::std::optional<::OperationMode> $getOperationMode()
const;
1175 MCFOLD
bool $allowContentLogWriteToDisk();
1177 MCFOLD uint $getMaxClubsRequests()
const;
1179 MCFOLD
bool $supportsLaunchingLegacyVersion()
const;
1181 MCFOLD
void $launchLegacyVersion();
1183 MCFOLD
bool $canManageLegacyData()
const;
1185 MCFOLD
bool $supportsDayOneExperience()
const;
1187 MCFOLD
bool $canMigrateWorldData()
const;
1189 MCFOLD
bool $isContentAutoUpdateAllowed()
const;
1191 MCAPI
int $getMaxSimultaneousDownloads()
const;
1193 MCFOLD uint $getMaxSimultaneousServiceRequests()
const;
1195 MCFOLD
bool $isDownloadAndImportBlocking()
const;
1197 MCFOLD
bool $isDownloadBuffered()
const;
1199 MCFOLD
bool $supportsAutoSaveOnDBCompaction()
const;
1203 MCFOLD
bool $supportsVibration()
const;
1205 MCFOLD
void $vibrate(
int);
1207 MCAPI ::Core::PathBuffer<::std::string> $getAssetFileFullPath(
::Core::Path const& filename);
1209 MCAPI ::Bedrock::Result<::std::string> $_readAssetFileInternal(
::Core::PathView filename);
1211 MCAPI
bool $hasAssetFile(
::Core::Path const& filename);
1215 MCAPI ::std::set<::Core::PathBuffer<::std::string>>
1216 $listAssetFilesIn(
::Core::Path const& path, ::std::string
const& extension)
const;
1218 MCFOLD
bool $supportsClientUpdate()
const;
1220 MCAPI ::std::string $getClientUpdateUrl()
const;
1222 MCFOLD
int $checkLicense();
1224 MCFOLD
bool $hasBuyButtonWhenInvalidLicense();
1226 MCAPI
bool $isNetworkAvailable()
const;
1228 MCFOLD
bool $isLANAvailable()
const;
1230 MCFOLD
bool $isNetworkEnabled(
bool)
const;
1232 MCFOLD
void $setNetworkAllowed(
bool);
1234 MCFOLD
bool $isNetworkAllowed()
const;
1236 MCFOLD
bool $isInternetAvailable()
const;
1238 MCFOLD ::std::optional<bool> $isOnWifiConnectionTelemetryValue();
1240 MCFOLD ::NetworkConnectionType $getNetworkConnectionType();
1242 MCAPI
void $setNetworkConnectionType(::NetworkConnectionType connectionType);
1244 MCAPI
int $getDefaultNetworkMaxPlayers()
const;
1246 MCFOLD
bool $multiplayerRequiresPremiumAccess()
const;
1248 MCFOLD
bool $multiplayerRequiresUGCEnabled()
const;
1250 MCFOLD
bool $isCrossPlatformToggleVisible()
const;
1252 MCFOLD
bool $isTelemetryAllowed();
1254 MCFOLD
void $buyGame();
1256 MCFOLD
void $finish();
1258 MCFOLD
bool $canLaunchUri(::std::string
const& uri);
1260 MCFOLD
void $launchUri(::std::string
const& uri);
1262 MCFOLD
void $launchSettings();
1264 MCFOLD
bool $useXboxControlHelpers()
const;
1266 MCFOLD ::PlatformType $getPlatformType()
const;
1268 MCFOLD
bool $isCentennial()
const;
1270 MCFOLD ::std::string $getPackageFamilyName()
const;
1272 MCFOLD ::BuildPlatform $getBuildPlatform()
const;
1274 MCFOLD
int $getNumberOfParticleFramesToInterpolate()
const;
1276 MCAPI
int $getDpi()
const;
1278 MCAPI
void $setDpi(
int dpi);
1280 MCAPI ::UIScalingRules $getUIScalingRules()
const;
1282 MCAPI
void $setUIScalingRules(::UIScalingRules UIScalingRules);
1284 MCFOLD
bool $hasIDEProfiler();
1286 MCAPI ::std::string $getPlatformStringVar(
int);
1288 MCAPI uint64 $getMaximumUsedMemory();
1290 MCFOLD uint64 $getLowMemoryEventThreshold(::LowMemorySeverity)
const;
1292 MCAPI uint64 $getLowMemoryEventRecoveryThreshold(::LowMemorySeverity severity)
const;
1294 MCAPI uint64 $getLowPhysicalMemoryThreshold()
const;
1296 MCAPI
void $calculateIfLowMemoryDevice();
1299 MCFOLD
bool $isLowMemoryDevice()
const;
1301 MCAPI
bool $isLowMemoryDevice()
const;
1305 MCFOLD
bool $isLowPhysicalMemoryDevice()
const;
1307 MCAPI
bool $isLowPhysicalMemoryDevice()
const;
1310 MCFOLD uint64 $getTextureMemoryBudget()
const;
1312 MCFOLD uint64 $getSingleMipDefaultMemoryBudget()
const;
1314 MCFOLD
void $readyForApplicationExitInfo()
const;
1316 MCFOLD ::DeviceSunsetTier $getDeviceSunsetTier()
const;
1318 MCAPI
int $getMaxSimRadiusInChunks()
const;
1320 MCFOLD ::std::vector<::std::string> $getBroadcastAddresses();
1322 MCFOLD ::std::vector<::std::string> $getIPAddresses();
1324 MCFOLD
bool $useAppPlatformForTelemetryIPAddress();
1326 MCAPI ::std::string $getModelName();
1328 MCFOLD
void $updateBootstrapSettingsFromTreatmentsAsync();
1330 MCFOLD
void $setFullscreenMode(::FullscreenMode
const fullscreenMode);
1332 MCAPI
bool $isNetworkThrottled()
const;
1334 MCFOLD
bool $isLANAllowed()
const;
1336 MCFOLD
bool $doesLANRequireMultiplayerRestrictions()
const;
1339 MCAPI
void $collectGraphicsHardwareDetails();
1341 MCFOLD
void $collectGraphicsHardwareDetails();
1344 MCAPI ::std::string $getEdition()
const;
1346 MCFOLD ::OsVersion $getOSVersion()
const;
1348 MCAPI
void $setThreadsFrozen(
bool frozen);
1350 MCAPI
bool $areThreadsFrozen()
const;
1352 MCFOLD
float $getDefaultSafeZoneScaleX()
const;
1354 MCFOLD
float $getDefaultSafeZoneScaleY()
const;
1356 MCFOLD
float $getDefaultSafeZoneScaleAll()
const;
1358 MCFOLD
float $getDefaultScreenPositionX()
const;
1360 MCFOLD
float $getDefaultScreenPositionY()
const;
1363 MCAPI
bool $isQuitCapable()
const;
1365 MCFOLD
bool $isQuitCapable()
const;
1368 MCFOLD
bool $requireControllerAtStartup()
const;
1370 MCFOLD
bool $notifyControllerConnectionStateChange()
const;
1372 MCFOLD
bool $platformRequiresControllerApplet()
const;
1374 MCAPI ::InputMode $getDefaultInputMode()
const;
1376 MCAPI ::AppFocusState $getFocusState();
1378 MCAPI ::AppLifecycleContext& $getAppLifecycleContext();
1380 MCFOLD
bool $supportsFliteTTS()
const;
1382 MCAPI ::std::unique_ptr<::SecureStorage> $getSecureStorage();
1384 MCAPI ::SecureStorageKey $getSecureStorageKey(::std::string
const&);
1388 MCFOLD
bool $devHotReloadRenderResources()
const;
1390 MCFOLD
bool $shouldPauseDownloadsWhenEnterGame()
const;
1392 MCFOLD
bool $compareAppReceiptToLocalReceipt(::std::string
const&);
1394 MCFOLD ::mce::UUID
const& $getThirdPartyPackUUID()
const;
1396 MCFOLD ::mce::UUID
const& $getPlatformBetaPackUUID()
const;
1398 MCFOLD
bool $saveTreatmentPacksAsZips()
const;
1400 MCFOLD
bool $saveEncryptedPacksAsZips()
const;
1402 MCFOLD
bool $saveEncryptedWorldTemplatePacksAsZips()
const;
1404 MCFOLD
bool $saveEncryptedPersonaPacksAsZips()
const;
1406 MCFOLD
bool $allowsResourcePackDevelopment()
const;
1408 MCFOLD
bool $supportsLegacySinglePremiumCacheDirectory()
const;
1410 MCFOLD
bool $supportsWorldShare()
const;
1412 MCFOLD
bool $hasJournalingFilesystem()
const;
1414 MCFOLD
bool $isAutoCompactionEnabled()
const;
1416 MCAPI ::std::chrono::nanoseconds $getLevelSaveInterval()
const;
1418 MCAPI ::std::chrono::nanoseconds $getOptionsSaveInterval()
const;
1420 MCFOLD
bool $hasPlatformSpecificInvites()
const;
1422 MCFOLD
bool $usePlatformProfilePicturesOnly()
const;
1424 MCFOLD
bool $allowBetaXblSignIn()
const;
1426 MCFOLD
bool $requiresXboxLiveSigninToPlay()
const;
1428 MCFOLD
bool $requiresLiveGoldForMultiplayer()
const;
1430 MCFOLD
bool $shouldRegisterForXboxLiveNotifications()
const;
1432 MCAPI
bool $isRealmsEnabled()
const;
1434 MCFOLD
bool $minimizeBackgroundDownloads()
const;
1436 MCFOLD
bool $requiresAutoSaveIconExplanationPopup()
const;
1438 MCAPI ::IPlatformScreenshots& $getPlatformScreenshots();
1440 MCFOLD uint $maxFileDataRequestConcurrency()
const;
1442 MCFOLD
void $goToExternalConsumablesStoreListing()
const;
1444 MCAPI
float $getStoreNetworkFailureTimeout()
const;
1446 MCAPI ::std::shared_ptr<::Core::FileStorageArea>
1447 $createLoggingStorageArea(::Core::FileAccessType fileAccessType,
::Core::PathView loggingPath);
1449 MCFOLD
void $handlePlatformSpecificCommerceError(uint error);
1451 MCFOLD
bool $isEduMode()
const;
1453 MCFOLD
bool $importAsFlatFile()
const;
1455 MCFOLD
bool $isWebviewSupported()
const;
1463 MCFOLD
bool $getPlatformTTSExists()
const;
1465 MCFOLD
bool $getPlatformTTSEnabled()
const;
1467 MCAPI ::std::variant<::HWND__*, ::std::monostate> $getRenderSurfaceParameters()
const;
1469 MCFOLD
bool $shouldRemoveGraphicsDeviceOnAppTermination()
const;
1471 MCFOLD
bool $isJoinableViaExternalServers()
const;
1473 MCFOLD
void $onPrimaryUserNetworkReady();
1475 MCFOLD
bool $isDisplayInitialized()
const;
1477 MCFOLD
bool $usesAsyncOptionSaving()
const;
1479 MCFOLD
void $showPlatformStoreIcon(
bool shouldShow);
1481 MCAPI
void $showPlatformEmptyStoreDialog(::std::function<
void(
bool)>&& callback);
1483 MCFOLD
void $initializeGameStreaming();
1485 MCAPI
void $notifyNetworkConfigurationChanged();
1487 MCFOLD
void $setKeepScreenOnFlag(
bool);
1489 MCFOLD
void $initializeMulticast()
const;
1491 MCFOLD
void $requestMulticastReceivePermission();
1493 MCFOLD
bool $hasMulticastReceivePermission()
const;
1495 MCFOLD
void $releaseMulticastReceivePermission()
const;
1497 MCFOLD
void $onMinecraftGameInitComplete();
1499 MCFOLD
void $onFullGameUnlock();
1501 MCFOLD
bool $is24HourTimeFormat()
const;
1503 MCAPI ::Bedrock::Threading::Async<bool> $showOSUserDialog(::std::string, ::std::string, ::std::string);
1505 MCFOLD
bool $_tryEnableCPUBoost();
1507 MCFOLD
void $_disableCPUBoost();
1509 MCFOLD ::Bedrock::CommonPlatform* $getPlatformShim()
const;
1512 MCFOLD
void $_initializeFileStorageAreas();
1514 MCAPI
void $_initializeFileStorageAreas();
1517 MCAPI
void $_teardownFileStorageAreas();
1519 MCFOLD
int $getPlatformDpi()
const;
1521 MCAPI ::UIScalingRules $getPlatformUIScalingRules()
const;
1523 MCFOLD
void $_onInitialize();
1525 MCFOLD
void $_onTeardown();
1534 MCFOLD
int $getKeyFromKeyCode(
int,
int,
int);
1536 MCFOLD
void $textEditComponentGainedFocus(
1537 ::std::string
const& currentText,
1544 MCFOLD
void $textEditComponentLostFocus();
1546 MCAPI
void $showKeyboard(
1547 ::std::string
const& currentText,
1552 int const controllerId,
1553 ::glm::vec2
const& position,
1554 float controlHeight,
1555 ::InputMode inputMode
1558 MCAPI
void $hideKeyboard();
1560 MCAPI
bool $blankLineDismissesChat()
const;
1562 MCFOLD
bool $signWrapsTextEntry()
const;
1564 MCFOLD
bool $isFullScreenKeyboard()
const;
1566 MCFOLD
bool $actionSuspendsApp(::AppAction)
const;
1568 MCFOLD
float $getKeyboardHeight()
const;
1570 MCAPI
bool $refocusMouse(
bool lostMouse,
bool oldMouseGrabbed);
1572 MCFOLD
void $setMousePointerType(::Bedrock::Input::PointerType pointerType);
1574 MCFOLD
void $hideMousePointer();
1576 MCFOLD
void $showMousePointer();
1578 MCFOLD
void $postInteractiveSignIn();
1580 MCFOLD
bool $useHardwareMouse();
1582 MCFOLD
void $provideHardwareMouseImageData(
::mce::Image const&);
1584 MCFOLD
bool $hasCustomSoftwareCursor()
const;
1586 MCFOLD ::Core::PathBuffer<::std::string> $getCustomSoftwareCursorAsset()
const;
1588 MCAPI
bool $getPointerFocus();
1590 MCAPI
void $setPointerFocus(
bool lostFocus);
1592 MCFOLD
bool $isInvertScrollEnabled()
const;
1594 MCFOLD
void $toggleSimulateTouchWithMouse();
1596 MCAPI
void $_fireAppSuspended();
1598 MCAPI
void $_fireAppResumed();
1600 MCAPI
void $_fireAppFocusLost();
1602 MCAPI
void $_fireAppFocusGained();
1604 MCAPI
void $_fireResizeBegin();
1606 MCAPI
void $_fireResizeEnd();
1608 MCAPI
void $_fireDeviceLost();
1610 MCAPI
void $_fireSurfaceCreated();
1612 MCAPI
void $_fireSurfaceDestroyed();
1614 MCFOLD
void $_fireAppConfigurationChanged();
1616 MCAPI
void $_fireAppPaused();
1618 MCAPI
void $_fireAppUnpaused();
1620 MCFOLD
void $discardBackbuffer();
1622 MCAPI ::std::string $getTermsOfUseHyperlink()
const;
1624 MCFOLD
void $pickFile(::std::shared_ptr<::FilePickerSettings> settings);
1626 MCFOLD
bool $supportsAlbumExport()
const;
1628 MCFOLD
bool $supportsPDFExport()
const;
1630 MCFOLD ::std::shared_ptr<::PDFWriter> $createPlatformPDFWriter();
1632 MCFOLD
void $shareFile(
::Core::Path const&, ::std::function<
void(
bool)>);
1634 MCFOLD
bool $hasHardwareBackButton();
1636 MCFOLD
bool $supportsMSAA()
const;
1638 MCFOLD
bool $supports3rdPartyServers()
const;
1640 MCFOLD
bool $supportsManualAddedServers()
const;
1642 MCFOLD
bool $supportsFilePicking()
const;
1644 MCFOLD
bool $supportsTouch()
const;
1646 MCFOLD
bool $supportsKeyboardMouse()
const;
1648 MCFOLD
bool $supportsGamepad()
const;
1650 MCFOLD ::ClipboardFeatureFlags $getClipboardFeatures()
const;
1652 MCAPI
bool $supportsClipboardSet()
const;
1654 MCAPI
bool $supportsClipboardGet()
const;
1656 MCAPI
bool $supportsClipboardAsyncGet()
const;
1658 MCFOLD
void $setClipboard(::std::string
const& value)
const;
1660 MCAPI ::std::wstring $getClipboardText()
const;
1662 MCFOLD
void $getClipboardTextAsync(::std::function<
void(::std::string
const&)>)
const;
1664 MCFOLD
bool $supportsShare()
const;
1666 MCFOLD
void $share()
const;
1668 MCAPI
bool $allowSplitScreen();
1670 MCAPI
float $splitScreenRenderDistScalar(uint numPlayers);
1672 MCAPI
float $uiOpenRenderDistScalar();
1676 MCAPI
void $openStoragePermissionRequest(
1677 ::PermissionRequestReason,
1678 ::std::function<
void(::StoragePermissionResult)> resultCallback
1681 MCFOLD
void $setStorageDirectory(
1682 ::FileStorageDirectory dir,
1685 ::std::function<
void(
bool)> onComplete
1688 MCFOLD ::FileStorageDirectory $setInitialStorageDirectory(::FileStorageDirectory);
1690 MCFOLD ::FileStorageDirectory $getStorageDirectory()
const;
1692 MCFOLD
void $setStorageDirectoryChangeDenied(::std::function<
void(::FileStorageDirectory)>);
1694 MCFOLD ::Bedrock::PubSub::Subscription
1695 $addStorageDirectoryChangedSubscriber(::std::function<
void(
::Core::Path const&)> callback);
1697 MCAPI
void $runStoragePermissionResultCallback(::StoragePermissionResult result);
1699 MCFOLD
bool $hasExternalStoragePermission();
1701 MCFOLD
bool $delayOptionSaveUntilCloudSync()
const;
1703 MCFOLD
void $updateTextEditBoxPosition(
1706 float const guiScale
1709 MCAPI ::BatteryMonitorInterface
const& $getBatteryMonitorInterface()
const;
1711 MCAPI ::ThermalMonitorInterface
const& $getThermalMonitorInterface()
const;
1713 MCFOLD
void $trialCorrelationStart();
1715 MCAPI
void $setAllowLostFocusToasts(
bool allowLostFocusToasts);
1717 MCAPI
void $setShowLostFocusToasts(
bool showLostFocusToasts);
1719 MCAPI
bool $getShowLostFocusToasts();
1721 MCAPI ::std::string $getDeviceId()
const;
1725 MCAPI
void $registerUriListener(::std::string
const& verb,
::UriListener& listener);
1727 MCAPI
void $unregisterUriListener(
::UriListener const& listener);
1731 MCAPI
void $notifyUriListenerRegistrationDone();
1733 MCFOLD
void $showXboxLiveUserSettings();
1735 MCAPI ::Bedrock::NotNullNonOwnerPtr<::ThrottledFileWriteManager> $getThrottledFileWriteManager()
const;
1737 MCAPI
void $_notifyUriListeners(
::ActivationUri const& uri,
bool ignoreVerb);