108 ReadMode& operator=(ReadMode
const&);
109 ReadMode(ReadMode
const&);
118 ::ll::TypedStorage<8, 8, uint64> mFreeMemoryMaximumBytes;
119 ::ll::TypedStorage<1, 1, bool> mRequestedRestart;
120 ::ll::TypedStorage<1, 1, bool> mPointerFocusLost;
121 ::ll::TypedStorage<1, 1, bool> mKeyboardVisible;
122 ::ll::TypedStorage<1, 1, bool> mOnInitUriListenerRegDone;
123 ::ll::TypedStorage<8, 16, ::std::multimap<float, ::AppPlatformListener*>> mListeners;
124 ::ll::TypedStorage<8, 104, ::Core::Subject<::NetworkChangeObserver, ::Bedrock::Threading::Mutex>>
125 mNetworkChangeSubject;
126 ::ll::TypedStorage<1, 1, ::NetworkConnectionType> mNetworkConnectionType;
128 ::ll::TypedStorage<8, 8, void*> mHWND;
129 ::ll::TypedStorage<8, 64, ::std::unordered_multimap<::std::string, ::UriListener*>> mUriListeners;
131 ::ll::TypedStorage<8, 64, ::std::function<void(::StoragePermissionResult)>> mStoragePermissionRequestResultCallback;
132 ::ll::TypedStorage<1, 4, ::AppLifecycleContext> mAppLifecycleContext;
133 ::ll::TypedStorage<4, 4, ::AppFocusState> mFocusState;
134 ::ll::TypedStorage<8, 80, ::Bedrock::Threading::Mutex> mShareLock;
135 ::ll::TypedStorage<8, 32, ::std::string> mShareTitle;
136 ::ll::TypedStorage<8, 32, ::std::string> mShareText;
137 ::ll::TypedStorage<8, 32, ::std::string> mShareUri;
138 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::IFileAccess>> mDefaultFileAccess;
139 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::IFileAccess>> mPackageFileAccess;
140 ::ll::TypedStorage<8, 8, uint64> mMaximumMemoryUsage;
141 ::ll::TypedStorage<8, 32, ::std::string> mLocale;
142 ::ll::TypedStorage<8, 8, double> mActiveSeconds;
143 ::ll::TypedStorage<8, 8, double> mLastActiveTime;
144 ::ll::TypedStorage<1, 1, bool> mAppIsActive;
145 ::ll::TypedStorage<8, 40, ::std::optional<::std::string>> mDeviceTier;
146 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::AppPlatformNetworkSettings>> mAppPlatformNetworkSettings;
147 ::ll::TypedStorage<1, 1, ::std::atomic<bool>> mTerminating;
148 ::ll::TypedStorage<1, 1, ::std::atomic<bool>> mSuspended;
149 ::ll::TypedStorage<4, 4, int> mForcedDpi;
150 ::ll::TypedStorage<4, 4, ::UIScalingRules> mForcedUIScalingRules;
151 ::ll::TypedStorage<1, 1, bool> mForceUIScalingRules;
152 ::ll::TypedStorage<1, 1, bool> mShowLostFocusToasts;
153 ::ll::TypedStorage<1, 1, bool> mAllowLostFocusToasts;
154 ::ll::TypedStorage<1, 1, bool> mAreThreadsFrozen;
155 ::ll::TypedStorage<1, 1, bool> mIsLowMemoryDevice;
156 ::ll::TypedStorage<1, 1, bool> mIsLowPhysicalMemoryDevice;
157 ::ll::TypedStorage<1, 1, bool> mIsUserStorageInitialized;
158 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>> mScratchPath;
159 ::ll::TypedStorage<8, 80, ::Bedrock::Threading::Mutex> mScratchPathMutex;
160 ::ll::TypedStorage<8, 32, ::std::string> mLastDeviceSessionId;
161 ::ll::TypedStorage<8, 80, ::std::recursive_mutex> mListenerLock;
162 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Bedrock::SignalReceiver>> mSignalRcvr;
163 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Bedrock::PlatformRuntimeInfo>> mPlatformRuntimeInfo;
164 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Bedrock::PlatformBuildInfo>> mPlatformBuildInfo;
165 ::ll::TypedStorage<8, 16, ::Bedrock::UniqueService<::Core::LoadTimeProfiler>> mProfiler;
166 ::ll::TypedStorage<8, 16, ::Bedrock::UniqueService<::Bedrock::IApplicationDataStores>> mApplicationDataStores;
167 ::ll::TypedStorage<8, 16, ::Bedrock::UniqueService<::Bedrock::DeviceIdManager>> mDeviceIdManager;
168 ::ll::TypedStorage<8, 16, ::Bedrock::UniqueService<::Bedrock::FilePickerManager>> mFilePickerManager;
169 ::ll::TypedStorage<8, 8, ::ServiceRegistrationToken<::AppPlatform>> mAppPlatformServiceRegistrationToken;
170 ::ll::TypedStorage<4, 4, uint> mCPUBoostCounter;
171 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mLoadTimerOptionSubscription;
178 ::ll::TypedStorage<8, 8, int64> mCurrentMemorySeverityIdx;
179 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::HardwareMemoryTierUtil>> mHardwareMemoryTierUtil;
181 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ThrottledFileWriteManager>> mThrottledFileWriteManager;
183 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::IAppPlatformImpl>>> mImpl;
193 virtual ~AppPlatform() ;
195 virtual void initialize();
197 virtual void teardown();
199 virtual void initAppPlatformNetworkSettings() ;
201 virtual uint64 getHighPerformanceThreadsCount()
const;
203 virtual uint64 getTotalHardwareThreadsCount()
const;
205 virtual void initializeGraphicsDeviceTier();
211 virtual ::ProcessExecutionState getProcessExecutionState()
const;
213 virtual void restartApp(
bool restart);
215 virtual bool restartRequested() ;
217 virtual ::Core::PathBuffer<::std::string> getPackagePath()
const = 0;
219 virtual int const numberOfThrottledTreatmentPacksToImportPerMinute() const ;
221 virtual
bool const areTreatmentPacksThrottled() const ;
226 virtual ::Core::PathBuffer<::std::string> getDataUrl()
const = 0;
234 virtual int getKeyFromKeyCode(
int,
int,
int);
236 virtual void textEditComponentGainedFocus(
237 ::std::string
const& currentText,
244 virtual void textEditComponentLostFocus();
246 virtual void showKeyboard(
247 ::std::string
const& currentText,
252 int const controllerId,
253 ::glm::vec2
const& position,
255 ::InputMode inputMode
258 virtual void hideKeyboard();
260 virtual bool blankLineDismissesChat()
const;
262 virtual bool signWrapsTextEntry()
const;
264 virtual bool isFullScreenKeyboard()
const;
266 virtual bool actionSuspendsApp(::AppAction)
const;
268 virtual float getKeyboardHeight()
const;
270 virtual bool refocusMouse(
bool lostMouse,
bool oldMouseGrabbed);
272 virtual void setMousePointerType(::Bedrock::Input::PointerType pointerType);
274 virtual void hideMousePointer();
276 virtual void showMousePointer();
278 virtual void postInteractiveSignIn();
280 virtual bool useHardwareMouse();
282 virtual void provideHardwareMouseImageData(
::mce::Image const&);
284 virtual bool hasCustomSoftwareCursor()
const;
286 virtual ::Core::PathBuffer<::std::string> getCustomSoftwareCursorAsset()
const;
288 virtual bool getPointerFocus();
290 virtual void setPointerFocus(
bool lostFocus);
292 virtual bool isInvertScrollEnabled()
const;
294 virtual void toggleSimulateTouchWithMouse();
296 virtual void _fireAppSuspended();
298 virtual void _fireAppResumed();
300 virtual void _fireAppFocusLost();
302 virtual void _fireAppFocusGained();
304 virtual void _fireResizeBegin();
306 virtual void _fireResizeEnd();
308 virtual void _fireDeviceLost();
310 virtual void _fireSurfaceCreated();
312 virtual void _fireSurfaceDestroyed();
314 virtual void _fireAppConfigurationChanged();
316 virtual void _fireAppPaused();
318 virtual void _fireAppUnpaused();
320 virtual void swapBuffers() = 0;
322 virtual void discardBackbuffer();
324 virtual ::std::string getSystemLocale()
const = 0;
326 virtual ::std::string getTermsOfUseHyperlink()
const;
328 virtual void pickImage(::std::shared_ptr<::ImagePickingCallback> callback) = 0;
330 virtual void pickFile(::std::shared_ptr<::FilePickerSettings> settings);
332 virtual bool supportsAlbumExport()
const;
334 virtual bool supportsPDFExport()
const;
336 virtual ::std::shared_ptr<::PDFWriter> createPlatformPDFWriter();
338 virtual void shareFile(
::Core::Path const&, ::std::function<
void(
bool)>);
340 virtual bool hasHardwareBackButton();
342 virtual bool supportsMSAA()
const;
344 virtual bool supports3rdPartyServers()
const;
346 virtual bool supportsManualAddedServers()
const;
348 virtual bool supportsFilePicking()
const;
350 virtual bool supportsTouch()
const;
352 virtual bool supportsKeyboardMouse()
const;
354 virtual bool supportsGamepad()
const;
356 virtual ::ClipboardFeatureFlags getClipboardFeatures()
const;
358 virtual bool supportsClipboardSet()
const;
360 virtual bool supportsClipboardGet()
const;
362 virtual bool supportsClipboardAsyncGet()
const;
364 virtual void setClipboard(::std::string
const& value)
const;
366 virtual ::std::wstring getClipboardText()
const;
368 virtual void getClipboardTextAsync(::std::function<
void(::std::string
const&)>)
const;
370 virtual bool supportsShare()
const;
372 virtual void share()
const;
374 virtual bool allowSplitScreen();
376 virtual float splitScreenRenderDistScalar(uint numPlayers);
378 virtual float uiOpenRenderDistScalar();
382 virtual void openStoragePermissionRequest(
383 ::PermissionRequestReason resultCallback,
384 ::std::function<
void(::StoragePermissionResult)>
387 virtual void setStorageDirectory(
388 ::FileStorageDirectory dir,
391 ::std::function<
void(
bool)> onComplete
394 virtual ::FileStorageDirectory setInitialStorageDirectory(::FileStorageDirectory);
396 virtual ::FileStorageDirectory getStorageDirectory()
const;
398 virtual void setStorageDirectoryChangeDenied(::std::function<
void(::FileStorageDirectory)>);
400 virtual ::Bedrock::PubSub::Subscription
401 addStorageDirectoryChangedSubscriber(::std::function<
void(
::Core::Path const&)> callback);
403 virtual void runStoragePermissionResultCallback(::StoragePermissionResult result);
405 virtual bool hasExternalStoragePermission();
407 virtual bool delayOptionSaveUntilCloudSync()
const;
411 virtual ::BatteryMonitorInterface
const& getBatteryMonitorInterface()
const;
413 virtual ::ThermalMonitorInterface
const& getThermalMonitorInterface()
const;
415 virtual void trialCorrelationStart();
417 virtual void setAllowLostFocusToasts(
bool allowLostFocusToasts);
419 virtual void setShowLostFocusToasts(
bool showLostFocusToasts);
421 virtual bool getShowLostFocusToasts();
423 virtual double getTimeSFromProcessStart()
const = 0;
426 virtual ::Bedrock::Threading::Async<::IntegrityTokenResult> requestIntegrityToken(::std::string
const& nonceToken);
428 virtual void setIntegrityToken(::std::string
const&);
430 virtual void setIntegrityTokenErrorMessage(::std::string
const&);
432 virtual bool supportsInPackageRecursion()
const;
434 virtual bool supportsXboxLiveAchievements()
const;
436 virtual void hideSplashScreen();
438 virtual ::std::string getFeedbackBugsLink()
const;
440 virtual ::std::string getFeedbackHelpLink()
const;
442 virtual auto getModalErrorMessageProc() -> ::AssertDialogResponse (*)(::std::string
const&, ::std::string
const&);
444 virtual void updateLocalization(::std::string
const&);
446 virtual void setSleepEnabled(
bool);
448 virtual ::Core::PathBuffer<::std::string> getScratchPath();
450 virtual ::Core::PathBuffer<::std::string> getInternalPackStoragePath()
const;
452 virtual ::Core::PathBuffer<::std::string> getSettingsPath();
454 virtual ::Core::PathBuffer<::std::string> getLoggingPath() const ;
456 virtual ::Core::PathBuffer<::
std::
string> getPackagedShaderCachePath();
458 virtual ::Core::PathBuffer<::
std::
string> getShaderCachePath();
460 virtual ::Core::PathBuffer<::
std::
string> getUserdataPathForLevels() const;
462 virtual ::Core::PathBuffer<::
std::
string> getCacheStoragePath();
464 virtual ::Core::PathBuffer<::
std::
string> getOnDiskScratchPath();
466 virtual ::Core::PathBuffer<::
std::
string> getOnDiskPackScratchPath();
468 virtual ::Core::PathBuffer<::
std::
string> getLevelInfoCachePath() const;
470 virtual ::Core::PathBuffer<::
std::
string> getCatalogSearchScratchPath();
472 virtual ::Core::PathBuffer<::
std::
string> getUserStorageRootPath() const;
474 virtual ::
std::shared_ptr<::Core::FileStorageArea> getOrCreateStorageAreaForUser(::Social::UserCreationData const&);
476 virtual
bool hasSeparatedStorageAreasForContentAcquisition() const;
478 virtual uint64 getOptimalLDBSize();
480 virtual
int getMaxLDBFilesOpen() const;
482 virtual
bool getDisableLDBSeekCompactions() const;
484 virtual
void showDialog(
int);
486 virtual
void createUserInput();
488 virtual
void createUserInput(
int dialogId);
490 virtual
int getUserInputStatus();
492 virtual ::
std::vector<::
std::
string> getUserInput();
494 virtual ::Bedrock::NotNullNonOwnerPtr<::
IFileAccess> getFileAccess(::ResourceFileSystem fileSystem);
496 virtual ::Core::PathBuffer<::
std::
string> copyImportFileToTempFolder(::Core::
Path const& filePath);
498 virtual
void registerFileForCollectionWithCrashDump(::Core::
Path const&);
500 virtual
void registerExperimentsActiveCrashDump(::
std::vector<::
std::
string> const& activeExperiments) const;
502 virtual
int getScreenWidth() const;
504 virtual
int getScreenHeight() const;
506 virtual
int getDisplayWidth();
508 virtual
int getDisplayHeight();
510 virtual
void setScreenSize(
int width,
int height);
512 virtual
void setWindowSize(
int width,
int height);
514 virtual
void setWindowText(::
std::
string const& title);
516 virtual ::
std::optional<::OperationMode> getOperationMode() const;
518 virtual
bool allowContentLogWriteToDisk();
520 virtual uint getMaxClubsRequests() const;
522 virtual
void queueForMainThread_DEPRECATED(::
std::function<
void()> callback) = 0;
524 virtual ::
MPMCQueue<::
std::function<
void()>>& getMainThreadQueue() = 0;
526 virtual
bool supportsLaunchingLegacyVersion() const;
528 virtual
void launchLegacyVersion();
530 virtual
bool canManageLegacyData() const;
532 virtual
bool supportsDayOneExperience() const;
534 virtual
bool canMigrateWorldData() const;
536 virtual
bool isContentAutoUpdateAllowed() const;
538 virtual
int getMaxSimultaneousDownloads() const;
540 virtual uint getMaxSimultaneousServiceRequests() const;
542 virtual
bool isDownloadAndImportBlocking() const;
544 virtual
bool isDownloadBuffered() const;
546 virtual
bool supportsAutoSaveOnDBCompaction() const;
548 virtual ::
std::
string getTextBoxBackend() const = 0;
550 virtual
void setTextBoxBackend(::
std::
string const& newText) = 0;
552 virtual
int getCaretPosition() const = 0;
554 virtual
void setCaretPosition(
int position) = 0;
558 virtual
bool supportsVibration() const;
560 virtual
void vibrate(
int);
562 virtual ::Core::PathBuffer<::
std::
string> getAssetFileFullPath(::Core::
Path const& filename);
564 virtual ::Bedrock::Result<::
std::
string> _readAssetFileInternal(::Core::PathView filename);
566 virtual
bool hasAssetFile(::Core::
Path const& filename);
568 virtual
bool copyAssetFile(::Core::
Path const& filename, ::Core::
Path const& destination);
570 virtual ::
std::set<::Core::PathBuffer<::
std::
string>>
571 listAssetFilesIn(::Core::
Path const& path, ::
std::
string const& extension) const;
573 virtual
bool supportsClientUpdate() const;
575 virtual ::
std::
string getClientUpdateUrl() const;
577 virtual
int checkLicense();
579 virtual
bool hasBuyButtonWhenInvalidLicense();
581 virtual
bool isNetworkAvailable() const ;
583 virtual
bool isLANAvailable() const ;
585 virtual
bool isNetworkEnabled(
bool) const ;
587 virtual
void setNetworkAllowed(
bool);
589 virtual
bool isNetworkAllowed() const;
591 virtual
bool isInternetAvailable() const ;
593 virtual ::
std::optional<
bool> isOnWifiConnectionTelemetryValue();
595 virtual ::NetworkConnectionType getNetworkConnectionType();
597 virtual
void setNetworkConnectionType(::NetworkConnectionType connectionType);
599 virtual
int getDefaultNetworkMaxPlayers() const ;
601 virtual
bool multiplayerRequiresPremiumAccess() const ;
603 virtual
bool multiplayerRequiresUGCEnabled() const ;
605 virtual
bool isCrossPlatformToggleVisible() const;
607 virtual
bool isTelemetryAllowed();
609 virtual
bool isTrialWorldsTransferToFullGameAllowed() const;
611 virtual
void buyGame();
613 virtual
void finish();
615 virtual
bool canLaunchUri(::
std::
string const&);
617 virtual
void launchUri(::
std::
string const& uri);
619 virtual
void launchSettings();
621 virtual
bool useXboxControlHelpers() const;
623 virtual ::PlatformType getPlatformType() const;
625 virtual
bool isCentennial() const;
627 virtual ::
std::
string getPackageFamilyName() const;
629 virtual ::BuildPlatform getBuildPlatform() const ;
631 virtual ::
std::
string getSubPlatformString() const = 0;
633 virtual
int getNumberOfParticleFramesToInterpolate() const;
635 virtual
int getDpi() const;
637 virtual
void setDpi(
int dpi);
639 virtual ::UIScalingRules getUIScalingRules() const;
641 virtual
void setUIScalingRules(::UIScalingRules UIScalingRules);
643 virtual
bool hasIDEProfiler();
645 virtual ::
std::
string getPlatformStringVar(
int);
647 virtual ::
std::
string getApplicationId() const = 0;
649 virtual uint64 getFreeMemory() const = 0;
651 virtual uint64 getMemoryLimit() const = 0;
653 virtual uint64 getUsedMemory() = 0;
655 virtual uint64 getTotalPhysicalMemory() const = 0;
657 virtual uint64 getMaximumUsedMemory();
659 virtual uint64 getLowMemoryEventThreshold(::LowMemorySeverity) const;
661 virtual uint64 getLowMemoryEventRecoveryThreshold(::LowMemorySeverity severity) const;
663 virtual uint64 getLowPhysicalMemoryThreshold() const ;
665 virtual
void calculateIfLowMemoryDevice();
667 virtual
bool isLowMemoryDevice() const ;
669 virtual
bool isLowPhysicalMemoryDevice() const ;
671 virtual uint64 getTextureMemoryBudget() const;
673 virtual uint64 getSingleMipDefaultMemoryBudget() const;
675 virtual
void readyForApplicationExitInfo() const;
677 virtual ::DeviceSunsetTier getDeviceSunsetTier() const;
679 virtual
int getMaxSimRadiusInChunks() const;
681 virtual ::
std::vector<::
std::
string> getBroadcastAddresses();
683 virtual ::
std::vector<::
std::
string> getIPAddresses();
685 virtual
bool useAppPlatformForTelemetryIPAddress();
687 virtual ::
std::
string getModelName();
689 virtual
bool usesHDRBrightness() const;
691 virtual
void updateBootstrapSettingsFromTreatmentsAsync();
694 virtual ::std::string getDeviceId() const ;
696 virtual ::
std::
string createUUID() = 0;
698 virtual
bool isTablet() const = 0;
700 virtual
void registerUriListener(::
UriListener& listener);
702 virtual
void registerUriListener(::
std::
string const& verb, ::
UriListener& listener);
704 virtual
void unregisterUriListener(::
UriListener const& listener);
708 virtual
void notifyUriListenerRegistrationDone();
711 virtual void setFullscreenMode(::FullscreenMode
const fullscreenMode);
713 virtual bool isNetworkThrottled()
const;
715 virtual bool isLANAllowed() const ;
717 virtual
bool doesLANRequireMultiplayerRestrictions() const;
719 virtual
void collectGraphicsHardwareDetails();
721 virtual ::
std::
string getEdition() const;
723 virtual ::OsVersion getOSVersion() const;
725 virtual
void setThreadsFrozen(
bool frozen);
727 virtual
bool areThreadsFrozen() const;
729 virtual
float getDefaultSafeZoneScaleX() const;
731 virtual
float getDefaultSafeZoneScaleY() const;
733 virtual
float getDefaultSafeZoneScaleAll() const;
735 virtual
float getDefaultScreenPositionX() const;
737 virtual
float getDefaultScreenPositionY() const;
739 virtual
bool isQuitCapable() const;
741 virtual
bool requireControllerAtStartup() const;
743 virtual
bool notifyControllerConnectionStateChange() const;
745 virtual
bool platformRequiresControllerApplet() const;
747 virtual ::InputMode getDefaultInputMode() const;
749 virtual ::AppFocusState getFocusState();
753 virtual uint64 calculateAvailableDiskFreeSpace(::Core::
Path const& rootPath) = 0;
755 virtual
bool supportsFliteTTS() const;
763 virtual
bool devHotReloadRenderResources() const;
765 virtual
bool shouldPauseDownloadsWhenEnterGame() const;
767 virtual
bool compareAppReceiptToLocalReceipt(::
std::
string const&);
769 virtual ::mce::UUID const& getThirdPartyPackUUID() const;
771 virtual
bool saveTreatmentPacksAsZips() const;
773 virtual
bool saveEncryptedPacksAsZips() const;
775 virtual
bool saveEncryptedWorldTemplatePacksAsZips() const;
777 virtual
bool allowsResourcePackDevelopment() const;
779 virtual
bool supportsLegacySinglePremiumCacheDirectory() const;
781 virtual
bool supportsWorldShare() const;
783 virtual
bool hasJournalingFilesystem() const;
785 virtual
bool isAutoCompactionEnabled() const;
787 virtual ::
std::chrono::nanoseconds getLevelSaveInterval() const;
789 virtual ::
std::chrono::nanoseconds getOptionsSaveInterval() const;
791 virtual
bool hasPlatformSpecificInvites() const ;
793 virtual
bool usePlatformProfilePicturesOnly() const;
795 virtual
bool allowBetaXblSignIn() const;
797 virtual
bool requiresXboxLiveSigninToPlay() const;
799 virtual
bool requiresLiveGoldForMultiplayer() const;
801 virtual
bool shouldRegisterForXboxLiveNotifications() const;
803 virtual
bool isRealmsEnabled() const ;
805 virtual
bool minimizeBackgroundDownloads() const;
807 virtual
bool requiresAutoSaveIconExplanationPopup() const;
811 virtual uint maxFileDataRequestConcurrency() const;
813 virtual
void goToExternalConsumablesStoreListing() const ;
815 virtual
float getStoreNetworkFailureTimeout() const;
817 virtual ::
std::shared_ptr<::Core::FileStorageArea>
818 createLoggingStorageArea(::Core::FileAccessType fileAccessType, ::Core::PathView loggingPath);
820 virtual
void handlePlatformSpecificCommerceError(uint);
822 virtual
bool isEduMode() const;
824 virtual
bool importAsFlatFile() const;
826 virtual
bool isWebviewSupported() const;
828 virtual ::
std::shared_ptr<::
WebviewInterface> createWebview(::Webview::PlatformArguments&&) const;
830 virtual
bool canAppSelfTerminate() const = 0;
832 virtual
bool getPlatformTTSExists() const;
834 virtual
bool getPlatformTTSEnabled() const;
836 virtual ::
std::variant<::HWND__*, ::
std::monostate> getRenderSurfaceParameters() const;
838 virtual
bool shouldRemoveGraphicsDeviceOnAppTermination() const;
840 virtual
bool isJoinableViaExternalServers() const;
842 virtual
void onPrimaryUserNetworkReady();
844 virtual
bool isDisplayInitialized() const;
846 virtual
bool usesAsyncOptionSaving() const;
848 virtual
void showPlatformStoreIcon(
bool);
850 virtual
void showPlatformEmptyStoreDialog(::
std::function<
void(
bool)>&& callback) ;
853 virtual void showXboxLiveUserSettings();
856 virtual void initializeGameStreaming();
858 virtual void notifyNetworkConfigurationChanged();
860 virtual void setKeepScreenOnFlag(
bool);
862 virtual void initializeMulticast()
const;
864 virtual void requestMulticastReceivePermission();
866 virtual bool hasMulticastReceivePermission()
const;
868 virtual void releaseMulticastReceivePermission()
const;
870 virtual void onMinecraftGameInitComplete();
872 virtual void onFullGameUnlock();
874 virtual bool is24HourTimeFormat()
const;
876 virtual ::Bedrock::Threading::Async<bool> showOSUserDialog(::std::string, ::std::string, ::std::string);
879 virtual ::Bedrock::NotNullNonOwnerPtr<::ThrottledFileWriteManager> getThrottledFileWriteManager()
const;
882 virtual ::Core::PathBuffer<::std::string> _getCurrentStoragePath()
const = 0;
884 virtual ::Core::PathBuffer<::std::string> _getExternalStoragePath()
const = 0;
886 virtual ::Core::PathBuffer<::std::string> _getInternalStoragePath()
const = 0;
888 virtual ::Core::PathBuffer<::std::string> _getUserdataPath()
const = 0;
890 virtual ::Core::PathBuffer<::std::string> _getSharedDataPath()
const = 0;
893 virtual void _notifyUriListeners(
::ActivationUri const& uri,
bool ignoreVerb);
896 virtual bool _tryEnableCPUBoost();
898 virtual void _disableCPUBoost();
900 virtual ::Bedrock::CommonPlatform* getPlatformShim()
const;
902 virtual void _initializeFileStorageAreas();
904 virtual void _teardownFileStorageAreas();
906 virtual int getPlatformDpi()
const;
908 virtual ::UIScalingRules getPlatformUIScalingRules()
const;
910 virtual ::Core::PathBuffer<::std::string> getPlatformTempPath()
const = 0;
912 virtual void _onInitialize();
914 virtual void _onTeardown();
920 MCAPI AppPlatform(
bool registerService, ::std::unique_ptr<::IAppPlatformImpl> impl);
931 MCAPI
void _fireAppTerminated();
935 MCAPI ::IAppPlatformImpl& _getImpl();
938 MCAPI
void _initializeLoadProfiler();
941 MCAPI
void _terminateListeners();
943 MCFOLD ::std::unique_ptr<::Bedrock::PlatformRuntimeInfo>& accessPlatformRuntimeInformation_Shim();
949 MCAPI
void checkAndTriggerOnLowMemory();
951 MCAPI
void disableCPUBoost();
953 MCAPI ::Bedrock::NotNullNonOwnerPtr<::Bedrock::IApplicationDataStores> getApplicationDataStores();
956 MCFOLD ::Core::PathBuffer<::std::string> getCurrentStoragePath()
const;
959 MCAPI ::UIProfile getDefaultUIProfile()
const;
961 MCAPI ::std::string getDeviceIdWarning()
const;
963 MCAPI ::Core::PathBuffer<::std::string> getExternalStoragePath()
const;
965 MCAPI uint64 getFreeMemoryTestable()
const;
968 MCAPI ::std::string getGraphicsDeviceTier()
const;
970 MCFOLD ::Core::PathBuffer<::std::string> getInternalStoragePath()
const;
972 MCAPI ::std::optional<::std::locale> getLocaleForDateTimeFormatting()
const;
976 MCAPI ::std::unique_ptr<::Bedrock::PlatformRuntimeInfo>
const& getPlatformRuntimeInformation()
const;
979 MCAPI ::std::string getShareText()
const;
981 MCAPI ::std::string getShareTitle()
const;
983 MCAPI ::std::string getShareUri()
const;
985 MCAPI
double getTotalActiveSeconds();
988 MCFOLD ::Core::PathBuffer<::std::string> getUserdataPath()
const;
990 MCAPI
bool isTerminating()
const;
995 MCAPI ::mce::Image loadTexture(
::Core::Path const& filename);
997 MCAPI ::mce::Image loadTextureFromStream(::std::string
const& fileStream);
999 MCAPI
void notifyElapsedSeconds(
double seconds);
1002 MCAPI
void notifyUserStorageInitialized();
1005 MCAPI
void processSignals();
1008 MCAPI ::Bedrock::Result<::std::string>
1012 MCAPI
bool requiresNetworkOutageMessaging()
const;
1014 MCAPI
void setShareData(::std::string shareTitle, ::std::string shareText, ::std::string shareUri);
1016 MCAPI
void setShareMetaData(::std::string
const& shareTitle, ::std::string
const& shareText);
1018 MCAPI
bool tryEnableCPUBoost();
1025 MCAPI static ::Bedrock::Result<::std::string> _readAssetFileGeneric(
::Core::PathView filename);
1028 MCAPI
static bool hasPendingProtocolActivation();
1030 MCAPI
static void imGuiAddInputChar(ushort c);
1032 MCAPI
static bool isInitialized();
1034 MCAPI
static bool mouseInputHandledByImGui();
1036 MCAPI
static void setPendingProtocolActivation(
::ActivationUri const& uri);
1038 MCAPI
static bool updateImGuiKeyboard(uchar param,
bool isDown);
1040 MCAPI
static void updateImGuiMouseButton(uchar button,
bool isDown);
1042 MCAPI
static void updateImGuiMousePosition(
float x,
float y);
1044 MCAPI
static void updateImGuiMouseScrollBar(
float value);
1051 MCAPI static ::Core::PathBuffer<::Core::BasicStackString<char, 1024>>
const& HOME_PATH();
1053 MCAPI static ::Core::PathBuffer<::Core::BasicStackString<char, 1024>>
const& LOG_PATH();
1055 MCAPI static ::Core::PathBuffer<::Core::BasicStackString<char, 1024>>
const& SETTINGS_PATH();
1057 MCAPI static ::Core::PathBuffer<::Core::BasicStackString<char, 1024>>
const& SHADERCACHE_PATH();
1059 MCAPI
static bool& mIsInitialized();
1061 MCAPI static ::ActivationUri& mPendingProtocolActivation();
1063 MCAPI static ::Bedrock::Threading::Mutex& mProtocolMutex();
1069 MCAPI
void* $ctor(
bool registerService, ::std::unique_ptr<::IAppPlatformImpl> impl);
1081 MCAPI
void $initialize();
1083 MCAPI
void $teardown();
1085 MCAPI
void $initAppPlatformNetworkSettings();
1087 MCAPI uint64 $getHighPerformanceThreadsCount()
const;
1089 MCAPI uint64 $getTotalHardwareThreadsCount()
const;
1091 MCFOLD
void $initializeGraphicsDeviceTier();
1097 MCAPI ::ProcessExecutionState $getProcessExecutionState()
const;
1099 MCFOLD
void $restartApp(
bool restart);
1101 MCFOLD
bool $restartRequested();
1103 MCFOLD
int const $numberOfThrottledTreatmentPacksToImportPerMinute()
const;
1105 MCFOLD
bool const $areTreatmentPacksThrottled()
const;
1107 MCAPI ::HardwareMemoryTierUtil
const& $getHardwareMemoryTierUtil()
const;
1109 MCAPI ::Bedrock::Threading::Async<::IntegrityTokenResult> $requestIntegrityToken(::std::string
const& nonceToken);
1111 MCFOLD
void $setIntegrityToken(::std::string
const&);
1113 MCFOLD
void $setIntegrityTokenErrorMessage(::std::string
const&);
1115 MCFOLD
bool $supportsInPackageRecursion()
const;
1117 MCFOLD
bool $supportsXboxLiveAchievements()
const;
1119 MCFOLD
void $hideSplashScreen();
1121 MCAPI ::std::string $getFeedbackBugsLink()
const;
1123 MCAPI ::std::string $getFeedbackHelpLink()
const;
1125 MCAPI
auto $getModalErrorMessageProc() -> ::AssertDialogResponse (*)(::std::string
const&, ::std::string
const&);
1127 MCFOLD
void $updateLocalization(::std::string
const&);
1129 MCFOLD
void $setSleepEnabled(
bool);
1131 MCAPI ::Core::PathBuffer<::std::string> $getScratchPath();
1133 MCFOLD ::Core::PathBuffer<::std::string> $getInternalPackStoragePath()
const;
1135 MCAPI ::Core::PathBuffer<::std::string> $getSettingsPath();
1137 MCFOLD ::Core::PathBuffer<::std::string> $getLoggingPath()
const;
1139 MCFOLD ::Core::PathBuffer<::std::string> $getPackagedShaderCachePath();
1141 MCAPI ::Core::PathBuffer<::std::string> $getShaderCachePath();
1143 MCFOLD ::Core::PathBuffer<::std::string> $getUserdataPathForLevels()
const;
1145 MCFOLD ::Core::PathBuffer<::std::string> $getCacheStoragePath();
1147 MCFOLD ::Core::PathBuffer<::std::string> $getOnDiskScratchPath();
1149 MCAPI ::Core::PathBuffer<::std::string> $getOnDiskPackScratchPath();
1151 MCFOLD ::Core::PathBuffer<::std::string> $getLevelInfoCachePath()
const;
1153 MCFOLD ::Core::PathBuffer<::std::string> $getCatalogSearchScratchPath();
1155 MCFOLD ::Core::PathBuffer<::std::string> $getUserStorageRootPath()
const;
1159 MCFOLD
bool $hasSeparatedStorageAreasForContentAcquisition()
const;
1161 MCFOLD uint64 $getOptimalLDBSize();
1163 MCFOLD
int $getMaxLDBFilesOpen()
const;
1165 MCFOLD
bool $getDisableLDBSeekCompactions()
const;
1167 MCFOLD
void $showDialog(
int);
1169 MCFOLD
void $createUserInput();
1171 MCAPI
void $createUserInput(
int dialogId);
1173 MCFOLD
int $getUserInputStatus();
1175 MCFOLD ::std::vector<::std::string> $getUserInput();
1177 MCAPI ::Bedrock::NotNullNonOwnerPtr<::IFileAccess> $getFileAccess(::ResourceFileSystem fileSystem);
1179 MCAPI ::Core::PathBuffer<::std::string> $copyImportFileToTempFolder(
::Core::Path const& filePath);
1181 MCFOLD
void $registerFileForCollectionWithCrashDump(
::Core::Path const&);
1183 MCFOLD
void $registerExperimentsActiveCrashDump(::std::vector<::std::string>
const& activeExperiments)
const;
1185 MCAPI
int $getScreenWidth()
const;
1187 MCAPI
int $getScreenHeight()
const;
1189 MCAPI
int $getDisplayWidth();
1191 MCFOLD
int $getDisplayHeight();
1193 MCFOLD
void $setScreenSize(
int width,
int height);
1195 MCFOLD
void $setWindowSize(
int width,
int height);
1197 MCFOLD
void $setWindowText(::std::string
const& title);
1199 MCFOLD ::std::optional<::OperationMode> $getOperationMode()
const;
1201 MCFOLD
bool $allowContentLogWriteToDisk();
1203 MCFOLD uint $getMaxClubsRequests()
const;
1205 MCFOLD
bool $supportsLaunchingLegacyVersion()
const;
1207 MCFOLD
void $launchLegacyVersion();
1209 MCFOLD
bool $canManageLegacyData()
const;
1211 MCFOLD
bool $supportsDayOneExperience()
const;
1213 MCFOLD
bool $canMigrateWorldData()
const;
1215 MCFOLD
bool $isContentAutoUpdateAllowed()
const;
1217 MCAPI
int $getMaxSimultaneousDownloads()
const;
1219 MCFOLD uint $getMaxSimultaneousServiceRequests()
const;
1221 MCFOLD
bool $isDownloadAndImportBlocking()
const;
1223 MCFOLD
bool $isDownloadBuffered()
const;
1225 MCFOLD
bool $supportsAutoSaveOnDBCompaction()
const;
1229 MCFOLD
bool $supportsVibration()
const;
1231 MCFOLD
void $vibrate(
int);
1233 MCAPI ::Core::PathBuffer<::std::string> $getAssetFileFullPath(
::Core::Path const& filename);
1235 MCAPI ::Bedrock::Result<::std::string> $_readAssetFileInternal(
::Core::PathView filename);
1237 MCAPI
bool $hasAssetFile(
::Core::Path const& filename);
1241 MCAPI ::std::set<::Core::PathBuffer<::std::string>>
1242 $listAssetFilesIn(
::Core::Path const& path, ::std::string
const& extension)
const;
1244 MCFOLD
bool $supportsClientUpdate()
const;
1246 MCAPI ::std::string $getClientUpdateUrl()
const;
1248 MCFOLD
int $checkLicense();
1250 MCFOLD
bool $hasBuyButtonWhenInvalidLicense();
1252 MCAPI
bool $isNetworkAvailable()
const;
1254 MCFOLD
bool $isLANAvailable()
const;
1256 MCFOLD
bool $isNetworkEnabled(
bool)
const;
1258 MCFOLD
void $setNetworkAllowed(
bool);
1260 MCFOLD
bool $isNetworkAllowed()
const;
1262 MCFOLD
bool $isInternetAvailable()
const;
1264 MCFOLD ::std::optional<bool> $isOnWifiConnectionTelemetryValue();
1266 MCFOLD ::NetworkConnectionType $getNetworkConnectionType();
1268 MCAPI
void $setNetworkConnectionType(::NetworkConnectionType connectionType);
1270 MCAPI
int $getDefaultNetworkMaxPlayers()
const;
1272 MCFOLD
bool $multiplayerRequiresPremiumAccess()
const;
1274 MCFOLD
bool $multiplayerRequiresUGCEnabled()
const;
1276 MCFOLD
bool $isCrossPlatformToggleVisible()
const;
1278 MCFOLD
bool $isTelemetryAllowed();
1280 MCFOLD
void $buyGame();
1282 MCFOLD
void $finish();
1284 MCFOLD
bool $canLaunchUri(::std::string
const&);
1286 MCFOLD
void $launchUri(::std::string
const& uri);
1288 MCFOLD
void $launchSettings();
1290 MCFOLD
bool $useXboxControlHelpers()
const;
1292 MCFOLD ::PlatformType $getPlatformType()
const;
1294 MCFOLD
bool $isCentennial()
const;
1296 MCFOLD ::std::string $getPackageFamilyName()
const;
1298 MCFOLD ::BuildPlatform $getBuildPlatform()
const;
1300 MCFOLD
int $getNumberOfParticleFramesToInterpolate()
const;
1302 MCAPI
int $getDpi()
const;
1304 MCAPI
void $setDpi(
int dpi);
1306 MCAPI ::UIScalingRules $getUIScalingRules()
const;
1308 MCAPI
void $setUIScalingRules(::UIScalingRules UIScalingRules);
1310 MCFOLD
bool $hasIDEProfiler();
1312 MCAPI ::std::string $getPlatformStringVar(
int);
1314 MCAPI uint64 $getMaximumUsedMemory();
1316 MCFOLD uint64 $getLowMemoryEventThreshold(::LowMemorySeverity)
const;
1318 MCAPI uint64 $getLowMemoryEventRecoveryThreshold(::LowMemorySeverity severity)
const;
1320 MCAPI uint64 $getLowPhysicalMemoryThreshold()
const;
1322 MCAPI
void $calculateIfLowMemoryDevice();
1324 MCFOLD
bool $isLowMemoryDevice()
const;
1326 MCFOLD
bool $isLowPhysicalMemoryDevice()
const;
1328 MCFOLD uint64 $getTextureMemoryBudget()
const;
1330 MCFOLD uint64 $getSingleMipDefaultMemoryBudget()
const;
1332 MCFOLD
void $readyForApplicationExitInfo()
const;
1334 MCFOLD ::DeviceSunsetTier $getDeviceSunsetTier()
const;
1336 MCAPI
int $getMaxSimRadiusInChunks()
const;
1338 MCFOLD ::std::vector<::std::string> $getBroadcastAddresses();
1340 MCFOLD ::std::vector<::std::string> $getIPAddresses();
1342 MCFOLD
bool $useAppPlatformForTelemetryIPAddress();
1344 MCAPI ::std::string $getModelName();
1346 MCFOLD
bool $usesHDRBrightness()
const;
1348 MCFOLD
void $updateBootstrapSettingsFromTreatmentsAsync();
1350 MCFOLD
void $setFullscreenMode(::FullscreenMode
const fullscreenMode);
1352 MCAPI
bool $isNetworkThrottled()
const;
1354 MCFOLD
bool $isLANAllowed()
const;
1356 MCFOLD
bool $doesLANRequireMultiplayerRestrictions()
const;
1358 MCAPI
void $collectGraphicsHardwareDetails();
1360 MCAPI ::std::string $getEdition()
const;
1362 MCFOLD ::OsVersion $getOSVersion()
const;
1364 MCAPI
void $setThreadsFrozen(
bool frozen);
1366 MCAPI
bool $areThreadsFrozen()
const;
1368 MCFOLD
float $getDefaultSafeZoneScaleX()
const;
1370 MCFOLD
float $getDefaultSafeZoneScaleY()
const;
1372 MCFOLD
float $getDefaultSafeZoneScaleAll()
const;
1374 MCFOLD
float $getDefaultScreenPositionX()
const;
1376 MCFOLD
float $getDefaultScreenPositionY()
const;
1378 MCAPI
bool $isQuitCapable()
const;
1380 MCFOLD
bool $requireControllerAtStartup()
const;
1382 MCFOLD
bool $notifyControllerConnectionStateChange()
const;
1384 MCFOLD
bool $platformRequiresControllerApplet()
const;
1386 MCAPI ::InputMode $getDefaultInputMode()
const;
1388 MCAPI ::AppFocusState $getFocusState();
1390 MCFOLD ::AppLifecycleContext& $getAppLifecycleContext();
1392 MCFOLD
bool $supportsFliteTTS()
const;
1394 MCAPI ::std::unique_ptr<::SecureStorage> $getSecureStorage();
1396 MCAPI ::SecureStorageKey $getSecureStorageKey(::std::string
const&);
1400 MCFOLD
bool $devHotReloadRenderResources()
const;
1402 MCFOLD
bool $shouldPauseDownloadsWhenEnterGame()
const;
1404 MCFOLD
bool $compareAppReceiptToLocalReceipt(::std::string
const&);
1406 MCAPI ::mce::UUID
const& $getThirdPartyPackUUID()
const;
1408 MCFOLD
bool $saveTreatmentPacksAsZips()
const;
1410 MCFOLD
bool $saveEncryptedPacksAsZips()
const;
1412 MCFOLD
bool $saveEncryptedWorldTemplatePacksAsZips()
const;
1414 MCFOLD
bool $allowsResourcePackDevelopment()
const;
1416 MCFOLD
bool $supportsLegacySinglePremiumCacheDirectory()
const;
1418 MCFOLD
bool $supportsWorldShare()
const;
1420 MCFOLD
bool $hasJournalingFilesystem()
const;
1422 MCFOLD
bool $isAutoCompactionEnabled()
const;
1424 MCAPI ::std::chrono::nanoseconds $getLevelSaveInterval()
const;
1426 MCAPI ::std::chrono::nanoseconds $getOptionsSaveInterval()
const;
1428 MCFOLD
bool $hasPlatformSpecificInvites()
const;
1430 MCFOLD
bool $usePlatformProfilePicturesOnly()
const;
1432 MCFOLD
bool $allowBetaXblSignIn()
const;
1434 MCFOLD
bool $requiresXboxLiveSigninToPlay()
const;
1436 MCFOLD
bool $requiresLiveGoldForMultiplayer()
const;
1438 MCFOLD
bool $shouldRegisterForXboxLiveNotifications()
const;
1440 MCAPI
bool $isRealmsEnabled()
const;
1442 MCFOLD
bool $minimizeBackgroundDownloads()
const;
1444 MCFOLD
bool $requiresAutoSaveIconExplanationPopup()
const;
1446 MCAPI ::IPlatformScreenshots& $getPlatformScreenshots();
1448 MCFOLD uint $maxFileDataRequestConcurrency()
const;
1450 MCFOLD
void $goToExternalConsumablesStoreListing()
const;
1452 MCAPI
float $getStoreNetworkFailureTimeout()
const;
1454 MCAPI ::std::shared_ptr<::Core::FileStorageArea>
1455 $createLoggingStorageArea(::Core::FileAccessType fileAccessType,
::Core::PathView loggingPath);
1457 MCFOLD
void $handlePlatformSpecificCommerceError(uint);
1459 MCFOLD
bool $isEduMode()
const;
1461 MCFOLD
bool $importAsFlatFile()
const;
1463 MCFOLD
bool $isWebviewSupported()
const;
1467 MCFOLD
bool $getPlatformTTSExists()
const;
1469 MCFOLD
bool $getPlatformTTSEnabled()
const;
1471 MCAPI ::std::variant<::HWND__*, ::std::monostate> $getRenderSurfaceParameters()
const;
1473 MCFOLD
bool $shouldRemoveGraphicsDeviceOnAppTermination()
const;
1475 MCFOLD
bool $isJoinableViaExternalServers()
const;
1477 MCFOLD
void $onPrimaryUserNetworkReady();
1479 MCFOLD
bool $isDisplayInitialized()
const;
1481 MCFOLD
bool $usesAsyncOptionSaving()
const;
1483 MCFOLD
void $showPlatformStoreIcon(
bool);
1485 MCAPI
void $showPlatformEmptyStoreDialog(::std::function<
void(
bool)>&& callback);
1487 MCFOLD
void $initializeGameStreaming();
1489 MCAPI
void $notifyNetworkConfigurationChanged();
1491 MCFOLD
void $setKeepScreenOnFlag(
bool);
1493 MCFOLD
void $initializeMulticast()
const;
1495 MCFOLD
void $requestMulticastReceivePermission();
1497 MCFOLD
bool $hasMulticastReceivePermission()
const;
1499 MCFOLD
void $releaseMulticastReceivePermission()
const;
1501 MCFOLD
void $onMinecraftGameInitComplete();
1503 MCFOLD
void $onFullGameUnlock();
1505 MCFOLD
bool $is24HourTimeFormat()
const;
1507 MCAPI ::Bedrock::Threading::Async<bool> $showOSUserDialog(::std::string, ::std::string, ::std::string);
1509 MCFOLD
bool $_tryEnableCPUBoost();
1511 MCFOLD
void $_disableCPUBoost();
1513 MCFOLD ::Bedrock::CommonPlatform* $getPlatformShim()
const;
1515 MCFOLD
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 MCFOLD
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 MCFOLD
bool $getPointerFocus();
1590 MCFOLD
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 resultCallback,
1678 ::std::function<
void(::StoragePermissionResult)>
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;
1705 MCAPI ::BatteryMonitorInterface
const& $getBatteryMonitorInterface()
const;
1707 MCAPI ::ThermalMonitorInterface
const& $getThermalMonitorInterface()
const;
1709 MCFOLD
void $trialCorrelationStart();
1711 MCAPI
void $setAllowLostFocusToasts(
bool allowLostFocusToasts);
1713 MCAPI
void $setShowLostFocusToasts(
bool showLostFocusToasts);
1715 MCAPI
bool $getShowLostFocusToasts();
1717 MCAPI ::std::string $getDeviceId()
const;
1721 MCAPI
void $registerUriListener(::std::string
const& verb,
::UriListener& listener);
1723 MCAPI
void $unregisterUriListener(
::UriListener const& listener);
1727 MCAPI
void $notifyUriListenerRegistrationDone();
1729 MCFOLD
void $showXboxLiveUserSettings();
1731 MCAPI ::Bedrock::NotNullNonOwnerPtr<::ThrottledFileWriteManager> $getThrottledFileWriteManager()
const;
1733 MCAPI
void $_notifyUriListeners(
::ActivationUri const& uri,
bool ignoreVerb);