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 void initializeScreenDependentResources();
203 virtual uint64 getHighPerformanceThreadsCount()
const;
205 virtual uint64 getTotalHardwareThreadsCount()
const;
207 virtual void initializeGraphicsDeviceTier();
213 virtual ::ProcessExecutionState getProcessExecutionState()
const;
215 virtual void restartApp(
bool restart);
217 virtual bool restartRequested() ;
219 virtual ::Core::PathBuffer<::std::string> getPackagePath()
const = 0;
221 virtual int const numberOfThrottledTreatmentPacksToImportPerMinute() const ;
223 virtual
bool const areTreatmentPacksThrottled() const ;
228 virtual ::Core::PathBuffer<::std::string> getDataUrl()
const = 0;
236 virtual int getKeyFromKeyCode(
int keyCode,
int metaState,
int deviceId);
238 virtual void textEditComponentGainedFocus(
239 ::std::string
const& currentText,
246 virtual void textEditComponentLostFocus();
248 virtual void showKeyboard(
249 ::std::string
const& currentText,
254 int const controllerId,
255 ::glm::vec2
const& position,
257 ::InputMode inputMode
260 virtual void hideKeyboard();
262 virtual bool blankLineDismissesChat()
const;
264 virtual bool signWrapsTextEntry()
const;
266 virtual bool isFullScreenKeyboard()
const;
268 virtual bool actionSuspendsApp(::AppAction)
const;
270 virtual float getKeyboardHeight()
const;
272 virtual bool refocusMouse(
bool lostMouse,
bool oldMouseGrabbed);
274 virtual void setMousePointerType(::Bedrock::Input::PointerType pointerType);
276 virtual void hideMousePointer();
278 virtual void showMousePointer();
280 virtual void postInteractiveSignIn();
282 virtual bool useHardwareMouse();
284 virtual void provideHardwareMouseImageData(
::mce::Image const& imageData);
286 virtual bool hasCustomSoftwareCursor()
const;
288 virtual ::Core::PathBuffer<::std::string> getCustomSoftwareCursorAsset()
const;
290 virtual bool getPointerFocus();
292 virtual void setPointerFocus(
bool lostFocus);
294 virtual bool isInvertScrollEnabled()
const;
296 virtual void toggleSimulateTouchWithMouse();
298 virtual void _fireAppSuspended();
300 virtual void _fireAppResumed();
302 virtual void _fireAppFocusLost();
304 virtual void _fireAppFocusGained();
306 virtual void _fireResizeBegin();
308 virtual void _fireResizeEnd();
310 virtual void _fireDeviceLost();
312 virtual void _fireSurfaceCreated();
314 virtual void _fireSurfaceDestroyed();
316 virtual void _fireAppConfigurationChanged();
318 virtual void _fireAppPaused();
320 virtual void _fireAppUnpaused();
322 virtual void swapBuffers() = 0;
324 virtual void discardBackbuffer();
326 virtual ::std::string getSystemLocale()
const = 0;
328 virtual ::std::string getTermsOfUseHyperlink()
const;
330 virtual void pickImage(::std::shared_ptr<::ImagePickingCallback> callback) = 0;
332 virtual void pickFile(::std::shared_ptr<::FilePickerSettings> settings);
334 virtual bool supportsAlbumExport()
const;
336 virtual bool supportsPDFExport()
const;
338 virtual ::std::shared_ptr<::PDFWriter> createPlatformPDFWriter();
340 virtual void shareFile(
::Core::Path const& path, ::std::function<
void(
bool)> onCompletionCallback);
342 virtual bool hasHardwareBackButton();
344 virtual bool supportsMSAA()
const;
346 virtual bool supports3rdPartyServers()
const;
348 virtual bool supportsManualAddedServers()
const;
350 virtual bool supportsFilePicking()
const;
352 virtual bool supportsTouch()
const;
354 virtual bool supportsKeyboardMouse()
const;
356 virtual bool supportsGamepad()
const;
358 virtual ::ClipboardFeatureFlags getClipboardFeatures()
const;
360 virtual bool supportsClipboardSet()
const;
362 virtual bool supportsClipboardGet()
const;
364 virtual bool supportsClipboardAsyncGet()
const;
366 virtual void setClipboard(::std::string
const& value)
const;
368 virtual ::std::wstring getClipboardText()
const;
370 virtual void getClipboardTextAsync(::std::function<
void(::std::string
const&)> callback)
const;
372 virtual bool supportsShare()
const;
374 virtual void share()
const;
376 virtual bool allowSplitScreen();
378 virtual float splitScreenRenderDistScalar(uint numPlayers);
380 virtual float uiOpenRenderDistScalar();
384 virtual void openStoragePermissionRequest(
385 ::PermissionRequestReason reason,
386 ::std::function<
void(::StoragePermissionResult)> resultCallback
389 virtual void setStorageDirectory(
390 ::FileStorageDirectory dir,
393 ::std::function<
void(
bool)> onComplete
396 virtual ::FileStorageDirectory setInitialStorageDirectory(::FileStorageDirectory dir);
398 virtual ::FileStorageDirectory getStorageDirectory()
const;
400 virtual void setStorageDirectoryChangeDenied(::std::function<
void(::FileStorageDirectory)> callback);
402 virtual ::Bedrock::PubSub::Subscription
403 addStorageDirectoryChangedSubscriber(::std::function<
void(
::Core::Path const&)> callback);
405 virtual void runStoragePermissionResultCallback(::StoragePermissionResult result);
407 virtual bool hasExternalStoragePermission();
409 virtual bool delayOptionSaveUntilCloudSync()
const;
411 virtual void updateTextEditBoxPosition(
417 virtual ::BatteryMonitorInterface
const& getBatteryMonitorInterface()
const;
419 virtual ::ThermalMonitorInterface
const& getThermalMonitorInterface()
const;
421 virtual void trialCorrelationStart();
423 virtual void setAllowLostFocusToasts(
bool allowLostFocusToasts);
425 virtual void setShowLostFocusToasts(
bool showLostFocusToasts);
427 virtual bool getShowLostFocusToasts();
429 virtual double getTimeSFromProcessStart()
const = 0;
432 virtual ::Bedrock::Threading::Async<::IntegrityTokenResult> requestIntegrityToken(::std::string
const& nonceToken);
434 virtual void setIntegrityToken(::std::string
const& integrityToken);
436 virtual void setIntegrityTokenErrorMessage(::std::string
const& errorMessage);
438 virtual bool supportsInPackageRecursion()
const;
440 virtual bool supportsXboxLiveAchievements()
const;
442 virtual void hideSplashScreen();
444 virtual ::std::string getFeedbackBugsLink()
const;
446 virtual ::std::string getFeedbackHelpLink()
const;
448 virtual auto getModalErrorMessageProc() -> ::AssertDialogResponse (*)(::std::string
const&, ::std::string
const&);
450 virtual void updateLocalization(::std::string
const& loc);
452 virtual void setSleepEnabled(
bool enabled);
454 virtual ::Core::PathBuffer<::std::string> getScratchPath();
456 virtual ::Core::PathBuffer<::std::string> getInternalPackStoragePath()
const;
458 virtual ::Core::PathBuffer<::std::string> getSettingsPath();
460 virtual ::Core::PathBuffer<::std::string> getLoggingPath() const ;
462 virtual ::Core::PathBuffer<::
std::
string> getPackagedShaderCachePath();
464 virtual ::Core::PathBuffer<::
std::
string> getShaderCachePath();
466 virtual ::Core::PathBuffer<::
std::
string> getUserdataPathForLevels() const;
468 virtual ::Core::PathBuffer<::
std::
string> getCacheStoragePath();
470 virtual ::Core::PathBuffer<::
std::
string> getOnDiskScratchPath();
472 virtual ::Core::PathBuffer<::
std::
string> getOnDiskPackScratchPath();
474 virtual ::Core::PathBuffer<::
std::
string> getLevelInfoCachePath() const;
476 virtual ::Core::PathBuffer<::
std::
string> getCatalogSearchScratchPath();
478 virtual ::Core::PathBuffer<::
std::
string> getUserStorageRootPath() const;
480 virtual ::
std::shared_ptr<::Core::FileStorageArea> getOrCreateStorageAreaForUser(::Social::UserCreationData const&);
482 virtual
bool hasSeparatedStorageAreasForContentAcquisition() const;
484 virtual uint64 getOptimalLDBSize();
486 virtual
int getMaxLDBFilesOpen() const;
488 virtual
bool getDisableLDBSeekCompactions() const;
490 virtual
void showDialog(
int dialogId);
492 virtual
void createUserInput();
494 virtual
void createUserInput(
int dialogId);
496 virtual
int getUserInputStatus();
498 virtual ::
std::vector<::
std::
string> getUserInput();
500 virtual ::Bedrock::NotNullNonOwnerPtr<::
IFileAccess> getFileAccess(::ResourceFileSystem fileSystem);
502 virtual ::Core::PathBuffer<::
std::
string> copyImportFileToTempFolder(::Core::
Path const& filePath);
504 virtual
void registerFileForCollectionWithCrashDump(::Core::
Path const& fileName);
506 virtual
void registerExperimentsActiveCrashDump(::
std::vector<::
std::
string> const& activeExperiments) const;
508 virtual
int getScreenWidth() const;
510 virtual
int getScreenHeight() const;
512 virtual
int getDisplayWidth();
514 virtual
int getDisplayHeight();
516 virtual
void setScreenSize(
int width,
int height);
518 virtual
void setWindowSize(
int width,
int height);
520 virtual
void setWindowText(::
std::
string const& title);
522 virtual ::
std::optional<::OperationMode> getOperationMode() const;
524 virtual
bool allowContentLogWriteToDisk();
526 virtual uint getMaxClubsRequests() const;
528 virtual
void queueForMainThread_DEPRECATED(::
std::function<
void()> callback) = 0;
530 virtual ::
MPMCQueue<::
std::function<
void()>>& getMainThreadQueue() = 0;
532 virtual
bool supportsLaunchingLegacyVersion() const;
534 virtual
void launchLegacyVersion();
536 virtual
bool canManageLegacyData() const;
538 virtual
bool supportsDayOneExperience() const;
540 virtual
bool canMigrateWorldData() const;
542 virtual
bool isContentAutoUpdateAllowed() const;
544 virtual
int getMaxSimultaneousDownloads() const;
546 virtual uint getMaxSimultaneousServiceRequests() const;
548 virtual
bool isDownloadAndImportBlocking() const;
550 virtual
bool isDownloadBuffered() const;
552 virtual
bool supportsAutoSaveOnDBCompaction() const;
554 virtual ::
std::
string getTextBoxBackend() const = 0;
556 virtual
void setTextBoxBackend(::
std::
string const& newText) = 0;
558 virtual
int getCaretPosition() const = 0;
560 virtual
void setCaretPosition(
int position) = 0;
564 virtual
bool supportsVibration() const;
566 virtual
void vibrate(
int milliSeconds);
568 virtual ::Core::PathBuffer<::
std::
string> getAssetFileFullPath(::Core::
Path const& filename);
570 virtual ::Bedrock::Result<::
std::
string> _readAssetFileInternal(::Core::PathView filename);
572 virtual
bool hasAssetFile(::Core::
Path const& filename);
574 virtual
bool copyAssetFile(::Core::
Path const& filename, ::Core::
Path const& destination);
576 virtual ::
std::set<::Core::PathBuffer<::
std::
string>>
577 listAssetFilesIn(::Core::
Path const& path, ::
std::
string const& extension) const;
579 virtual
bool supportsClientUpdate() const;
581 virtual ::
std::
string getClientUpdateUrl() const;
583 virtual
int checkLicense();
585 virtual
bool hasBuyButtonWhenInvalidLicense();
587 virtual
bool isNetworkAvailable() const ;
589 virtual
bool isLANAvailable() const ;
591 virtual
bool isNetworkEnabled(
bool onlyWifiAllowed) const ;
593 virtual
void setNetworkAllowed(
bool allowed);
595 virtual
bool isNetworkAllowed() const;
597 virtual
bool isInternetAvailable() const ;
599 virtual ::
std::optional<
bool> isOnWifiConnectionTelemetryValue();
601 virtual ::NetworkConnectionType getNetworkConnectionType();
603 virtual
void setNetworkConnectionType(::NetworkConnectionType connectionType);
605 virtual
int getDefaultNetworkMaxPlayers() const ;
607 virtual
bool multiplayerRequiresPremiumAccess() const ;
609 virtual
bool multiplayerRequiresUGCEnabled() const ;
611 virtual
bool isCrossPlatformToggleVisible() const;
613 virtual
bool isTelemetryAllowed();
615 virtual
bool isTrialWorldsTransferToFullGameAllowed() const;
617 virtual
void buyGame();
619 virtual
void finish();
621 virtual
bool canLaunchUri(::
std::
string const& uri);
623 virtual
void launchUri(::
std::
string const& uri);
625 virtual
void launchSettings();
627 virtual
bool useXboxControlHelpers() const;
629 virtual ::PlatformType getPlatformType() const;
631 virtual
bool isCentennial() const;
633 virtual ::
std::
string getPackageFamilyName() const;
635 virtual ::BuildPlatform getBuildPlatform() const ;
637 virtual ::
std::
string getSubPlatformString() const = 0;
639 virtual
int getNumberOfParticleFramesToInterpolate() const;
641 virtual
int getDpi() const;
643 virtual
void setDpi(
int dpi);
645 virtual ::UIScalingRules getUIScalingRules() const;
647 virtual
void setUIScalingRules(::UIScalingRules UIScalingRules);
649 virtual
bool hasIDEProfiler();
651 virtual ::
std::
string getPlatformStringVar(
int stringId);
653 virtual ::
std::
string getApplicationId() const = 0;
655 virtual uint64 getFreeMemory() const = 0;
657 virtual uint64 getMemoryLimit() const = 0;
659 virtual uint64 getUsedMemory() = 0;
661 virtual uint64 getTotalPhysicalMemory() const = 0;
663 virtual uint64 getMaximumUsedMemory();
665 virtual uint64 getLowMemoryEventThreshold(::LowMemorySeverity) const;
667 virtual uint64 getLowMemoryEventRecoveryThreshold(::LowMemorySeverity severity) const;
669 virtual uint64 getLowPhysicalMemoryThreshold() const ;
671 virtual
void calculateIfLowMemoryDevice();
673 virtual
bool isLowMemoryDevice() const ;
675 virtual
bool isLowPhysicalMemoryDevice() const ;
677 virtual uint64 getTextureMemoryBudget() const;
679 virtual uint64 getSingleMipDefaultMemoryBudget() const;
681 virtual
void readyForApplicationExitInfo() const;
683 virtual ::DeviceSunsetTier getDeviceSunsetTier() const;
685 virtual
int getMaxSimRadiusInChunks() const;
687 virtual ::
std::vector<::
std::
string> getBroadcastAddresses();
689 virtual ::
std::vector<::
std::
string> getIPAddresses();
691 virtual
bool useAppPlatformForTelemetryIPAddress();
693 virtual ::
std::
string getModelName();
695 virtual
bool usesHDRBrightness() const;
697 virtual
void updateBootstrapSettingsFromTreatmentsAsync();
700 virtual ::std::string getDeviceId() const ;
702 virtual ::
std::
string createUUID() = 0;
704 virtual
bool isTablet() const = 0;
706 virtual
void registerUriListener(::
UriListener& listener);
708 virtual
void registerUriListener(::
std::
string const& verb, ::
UriListener& listener);
710 virtual
void unregisterUriListener(::
UriListener const& listener);
714 virtual
void notifyUriListenerRegistrationDone();
717 virtual void setFullscreenMode(::FullscreenMode
const fullscreenMode);
719 virtual bool isNetworkThrottled()
const;
721 virtual bool isLANAllowed() const ;
723 virtual
bool doesLANRequireMultiplayerRestrictions() const;
725 virtual
void collectGraphicsHardwareDetails();
727 virtual ::
std::
string getEdition() const;
729 virtual ::OsVersion getOSVersion() const;
731 virtual
void setThreadsFrozen(
bool frozen);
733 virtual
bool areThreadsFrozen() const;
735 virtual
float getDefaultSafeZoneScaleX() const;
737 virtual
float getDefaultSafeZoneScaleY() const;
739 virtual
float getDefaultSafeZoneScaleAll() const;
741 virtual
float getDefaultScreenPositionX() const;
743 virtual
float getDefaultScreenPositionY() const;
745 virtual
bool isQuitCapable() const;
747 virtual
bool requireControllerAtStartup() const;
749 virtual
bool notifyControllerConnectionStateChange() const;
751 virtual
bool platformRequiresControllerApplet() const;
753 virtual ::InputMode getDefaultInputMode() const;
755 virtual ::AppFocusState getFocusState();
759 virtual uint64 calculateAvailableDiskFreeSpace(::Core::
Path const& rootPath) = 0;
761 virtual
bool supportsFliteTTS() const;
767 virtual
void setSecureStorageKey(::
std::
string const& key, ::
SecureStorageKey const& value) ;
769 virtual
bool devHotReloadRenderResources() const;
771 virtual
bool shouldPauseDownloadsWhenEnterGame() const;
773 virtual
bool compareAppReceiptToLocalReceipt(::
std::
string const& otherReceipt);
775 virtual ::mce::UUID const& getThirdPartyPackUUID() const;
777 virtual
bool saveTreatmentPacksAsZips() const;
779 virtual
bool saveEncryptedPacksAsZips() const;
781 virtual
bool saveEncryptedWorldTemplatePacksAsZips() const;
783 virtual
bool allowsResourcePackDevelopment() const;
785 virtual
bool supportsLegacySinglePremiumCacheDirectory() const;
787 virtual
bool supportsWorldShare() const;
789 virtual
bool hasJournalingFilesystem() const;
791 virtual
bool isAutoCompactionEnabled() const;
793 virtual ::
std::chrono::nanoseconds getLevelSaveInterval() const;
795 virtual ::
std::chrono::nanoseconds getOptionsSaveInterval() const;
797 virtual
bool hasPlatformSpecificInvites() const ;
799 virtual
bool usePlatformProfilePicturesOnly() const;
801 virtual
bool allowBetaXblSignIn() const;
803 virtual
bool requiresXboxLiveSigninToPlay() const;
805 virtual
bool requiresLiveGoldForMultiplayer() const;
807 virtual
bool shouldRegisterForXboxLiveNotifications() const;
809 virtual
bool isRealmsEnabled() const ;
811 virtual
bool minimizeBackgroundDownloads() const;
813 virtual
bool requiresAutoSaveIconExplanationPopup() const;
817 virtual uint maxFileDataRequestConcurrency() const;
819 virtual
void goToExternalConsumablesStoreListing() const ;
821 virtual
float getStoreNetworkFailureTimeout() const;
823 virtual ::
std::shared_ptr<::Core::FileStorageArea>
824 createLoggingStorageArea(::Core::FileAccessType fileAccessType, ::Core::PathView loggingPath);
826 virtual
void handlePlatformSpecificCommerceError(uint error);
828 virtual
bool isEduMode() const;
830 virtual
bool importAsFlatFile() const;
832 virtual
bool isWebviewSupported() const;
834 virtual ::
std::shared_ptr<::
WebviewInterface> createWebview(::Webview::PlatformArguments&&) const;
836 virtual
bool canAppSelfTerminate() const = 0;
838 virtual
bool getPlatformTTSExists() const;
840 virtual
bool getPlatformTTSEnabled() const;
842 virtual ::
std::variant<::HWND__*, ::
std::monostate> getRenderSurfaceParameters() const;
844 virtual
bool shouldRemoveGraphicsDeviceOnAppTermination() const;
846 virtual
bool isJoinableViaExternalServers() const;
848 virtual
void onPrimaryUserNetworkReady();
850 virtual
bool isDisplayInitialized() const;
852 virtual
bool usesAsyncOptionSaving() const;
854 virtual
void showPlatformStoreIcon(
bool shouldShow);
856 virtual
void showPlatformEmptyStoreDialog(::
std::function<
void(
bool)>&& callback) ;
859 virtual void showXboxLiveUserSettings();
862 virtual void initializeGameStreaming();
864 virtual void notifyNetworkConfigurationChanged();
866 virtual void setKeepScreenOnFlag(
bool);
868 virtual void initializeMulticast()
const;
870 virtual void requestMulticastReceivePermission();
872 virtual bool hasMulticastReceivePermission()
const;
874 virtual void releaseMulticastReceivePermission()
const;
876 virtual void onMinecraftGameInitComplete();
878 virtual void onFullGameUnlock();
880 virtual bool is24HourTimeFormat()
const;
882 virtual ::Bedrock::Threading::Async<bool> showOSUserDialog(::std::string, ::std::string, ::std::string);
885 virtual ::Bedrock::NotNullNonOwnerPtr<::ThrottledFileWriteManager> getThrottledFileWriteManager()
const;
888 virtual ::Core::PathBuffer<::std::string> _getCurrentStoragePath()
const = 0;
890 virtual ::Core::PathBuffer<::std::string> _getExternalStoragePath()
const = 0;
892 virtual ::Core::PathBuffer<::std::string> _getInternalStoragePath()
const = 0;
894 virtual ::Core::PathBuffer<::std::string> _getUserdataPath()
const = 0;
896 virtual ::Core::PathBuffer<::std::string> _getSharedDataPath()
const = 0;
899 virtual void _notifyUriListeners(
::ActivationUri const& uri,
bool ignoreVerb);
902 virtual bool _tryEnableCPUBoost();
904 virtual void _disableCPUBoost();
906 virtual ::Bedrock::CommonPlatform* getPlatformShim()
const;
908 virtual void _initializeFileStorageAreas();
910 virtual void _teardownFileStorageAreas();
912 virtual int getPlatformDpi()
const;
914 virtual ::UIScalingRules getPlatformUIScalingRules()
const;
916 virtual ::Core::PathBuffer<::std::string> getPlatformTempPath()
const = 0;
918 virtual void _onInitialize();
920 virtual void _onTeardown();
926 MCAPI AppPlatform(
bool registerService, ::std::unique_ptr<::IAppPlatformImpl> impl);
937 MCAPI
void _fireAppTerminated();
940 MCAPI
void _initializeLoadProfiler();
943 MCAPI ::Bedrock::NotNullNonOwnerPtr<::Bedrock::IApplicationDataStores> getApplicationDataStores();
945 MCAPI ::UIProfile getDefaultUIProfile()
const;
949 MCFOLD ::Core::PathBuffer<::std::string> getInternalStoragePath()
const;
952 MCAPI ::std::optional<::std::locale> getLocaleForDateTimeFormatting()
const;
957 MCAPI
double getTotalActiveSeconds();
960 MCFOLD ::Core::PathBuffer<::std::string> getUserdataPath()
const;
965 MCAPI ::mce::Image loadTexture(
::Core::Path const& filename);
967 MCAPI ::mce::Image loadTextureFromStream(::std::string
const& fileStream);
970 MCAPI ::Bedrock::Result<::std::string>
974 MCAPI
bool requiresNetworkOutageMessaging()
const;
976 MCAPI
void setShareData(::std::string shareTitle, ::std::string shareText, ::std::string shareUri);
983 MCAPI static ::Bedrock::Result<::std::string> _readAssetFileGeneric(
::Core::PathView filename);
986 MCAPI
static bool mouseInputHandledByImGui();
988 MCAPI
static void updateImGuiMousePosition(
float x,
float y);
995 MCAPI static ::Core::PathBuffer<::Core::BasicStackString<char, 1024>>
const& HOME_PATH();
997 MCAPI static ::Core::PathBuffer<::Core::BasicStackString<char, 1024>>
const& SETTINGS_PATH();
999 MCAPI static ::Core::PathBuffer<::Core::BasicStackString<char, 1024>>
const& SHADERCACHE_PATH();
1001 MCAPI
static bool& mIsInitialized();
1003 MCAPI static ::ActivationUri& mPendingProtocolActivation();
1005 MCAPI static ::Bedrock::Threading::Mutex& mProtocolMutex();
1011 MCAPI
void* $ctor(
bool registerService, ::std::unique_ptr<::IAppPlatformImpl> impl);
1023 MCAPI
void $initialize();
1025 MCAPI
void $teardown();
1027 MCAPI
void $initAppPlatformNetworkSettings();
1029 MCFOLD
void $initializeScreenDependentResources();
1031 MCAPI uint64 $getHighPerformanceThreadsCount()
const;
1033 MCAPI uint64 $getTotalHardwareThreadsCount()
const;
1035 MCFOLD
void $initializeGraphicsDeviceTier();
1041 MCAPI ::ProcessExecutionState $getProcessExecutionState()
const;
1043 MCAPI
void $restartApp(
bool restart);
1045 MCFOLD
bool $restartRequested();
1047 MCFOLD
int const $numberOfThrottledTreatmentPacksToImportPerMinute()
const;
1049 MCFOLD
bool const $areTreatmentPacksThrottled()
const;
1051 MCAPI ::HardwareMemoryTierUtil
const& $getHardwareMemoryTierUtil()
const;
1053 MCAPI ::Bedrock::Threading::Async<::IntegrityTokenResult> $requestIntegrityToken(::std::string
const& nonceToken);
1055 MCFOLD
void $setIntegrityToken(::std::string
const& integrityToken);
1057 MCFOLD
void $setIntegrityTokenErrorMessage(::std::string
const& errorMessage);
1059 MCFOLD
bool $supportsInPackageRecursion()
const;
1061 MCFOLD
bool $supportsXboxLiveAchievements()
const;
1063 MCFOLD
void $hideSplashScreen();
1065 MCAPI ::std::string $getFeedbackBugsLink()
const;
1067 MCAPI ::std::string $getFeedbackHelpLink()
const;
1069 MCAPI
auto $getModalErrorMessageProc() -> ::AssertDialogResponse (*)(::std::string
const&, ::std::string
const&);
1071 MCFOLD
void $updateLocalization(::std::string
const& loc);
1073 MCFOLD
void $setSleepEnabled(
bool enabled);
1075 MCAPI ::Core::PathBuffer<::std::string> $getScratchPath();
1077 MCFOLD ::Core::PathBuffer<::std::string> $getInternalPackStoragePath()
const;
1079 MCAPI ::Core::PathBuffer<::std::string> $getSettingsPath();
1081 MCFOLD ::Core::PathBuffer<::std::string> $getLoggingPath()
const;
1083 MCFOLD ::Core::PathBuffer<::std::string> $getPackagedShaderCachePath();
1085 MCAPI ::Core::PathBuffer<::std::string> $getShaderCachePath();
1087 MCFOLD ::Core::PathBuffer<::std::string> $getUserdataPathForLevels()
const;
1089 MCFOLD ::Core::PathBuffer<::std::string> $getCacheStoragePath();
1091 MCFOLD ::Core::PathBuffer<::std::string> $getOnDiskScratchPath();
1093 MCAPI ::Core::PathBuffer<::std::string> $getOnDiskPackScratchPath();
1095 MCFOLD ::Core::PathBuffer<::std::string> $getLevelInfoCachePath()
const;
1097 MCFOLD ::Core::PathBuffer<::std::string> $getCatalogSearchScratchPath();
1099 MCAPI ::Core::PathBuffer<::std::string> $getUserStorageRootPath()
const;
1103 MCFOLD
bool $hasSeparatedStorageAreasForContentAcquisition()
const;
1105 MCFOLD uint64 $getOptimalLDBSize();
1107 MCAPI
int $getMaxLDBFilesOpen()
const;
1109 MCFOLD
bool $getDisableLDBSeekCompactions()
const;
1111 MCFOLD
void $showDialog(
int dialogId);
1113 MCFOLD
void $createUserInput();
1115 MCAPI
void $createUserInput(
int dialogId);
1117 MCFOLD
int $getUserInputStatus();
1119 MCFOLD ::std::vector<::std::string> $getUserInput();
1121 MCAPI ::Bedrock::NotNullNonOwnerPtr<::IFileAccess> $getFileAccess(::ResourceFileSystem fileSystem);
1123 MCAPI ::Core::PathBuffer<::std::string> $copyImportFileToTempFolder(
::Core::Path const& filePath);
1125 MCFOLD
void $registerFileForCollectionWithCrashDump(
::Core::Path const& fileName);
1127 MCFOLD
void $registerExperimentsActiveCrashDump(::std::vector<::std::string>
const& activeExperiments)
const;
1129 MCAPI
int $getScreenWidth()
const;
1131 MCAPI
int $getScreenHeight()
const;
1133 MCAPI
int $getDisplayWidth();
1135 MCAPI
int $getDisplayHeight();
1137 MCFOLD
void $setScreenSize(
int width,
int height);
1139 MCFOLD
void $setWindowSize(
int width,
int height);
1141 MCFOLD
void $setWindowText(::std::string
const& title);
1143 MCFOLD ::std::optional<::OperationMode> $getOperationMode()
const;
1145 MCFOLD
bool $allowContentLogWriteToDisk();
1147 MCFOLD uint $getMaxClubsRequests()
const;
1149 MCFOLD
bool $supportsLaunchingLegacyVersion()
const;
1151 MCFOLD
void $launchLegacyVersion();
1153 MCFOLD
bool $canManageLegacyData()
const;
1155 MCFOLD
bool $supportsDayOneExperience()
const;
1157 MCFOLD
bool $canMigrateWorldData()
const;
1159 MCFOLD
bool $isContentAutoUpdateAllowed()
const;
1161 MCAPI
int $getMaxSimultaneousDownloads()
const;
1163 MCFOLD uint $getMaxSimultaneousServiceRequests()
const;
1165 MCFOLD
bool $isDownloadAndImportBlocking()
const;
1167 MCFOLD
bool $isDownloadBuffered()
const;
1169 MCFOLD
bool $supportsAutoSaveOnDBCompaction()
const;
1173 MCFOLD
bool $supportsVibration()
const;
1175 MCFOLD
void $vibrate(
int milliSeconds);
1177 MCAPI ::Core::PathBuffer<::std::string> $getAssetFileFullPath(
::Core::Path const& filename);
1179 MCAPI ::Bedrock::Result<::std::string> $_readAssetFileInternal(
::Core::PathView filename);
1181 MCAPI
bool $hasAssetFile(
::Core::Path const& filename);
1185 MCAPI ::std::set<::Core::PathBuffer<::std::string>>
1186 $listAssetFilesIn(
::Core::Path const& path, ::std::string
const& extension)
const;
1188 MCFOLD
bool $supportsClientUpdate()
const;
1190 MCAPI ::std::string $getClientUpdateUrl()
const;
1192 MCFOLD
int $checkLicense();
1194 MCFOLD
bool $hasBuyButtonWhenInvalidLicense();
1196 MCAPI
bool $isNetworkAvailable()
const;
1198 MCFOLD
bool $isLANAvailable()
const;
1200 MCFOLD
bool $isNetworkEnabled(
bool onlyWifiAllowed)
const;
1202 MCFOLD
void $setNetworkAllowed(
bool allowed);
1204 MCFOLD
bool $isNetworkAllowed()
const;
1206 MCFOLD
bool $isInternetAvailable()
const;
1208 MCFOLD ::std::optional<bool> $isOnWifiConnectionTelemetryValue();
1210 MCFOLD ::NetworkConnectionType $getNetworkConnectionType();
1212 MCAPI
void $setNetworkConnectionType(::NetworkConnectionType connectionType);
1214 MCAPI
int $getDefaultNetworkMaxPlayers()
const;
1216 MCFOLD
bool $multiplayerRequiresPremiumAccess()
const;
1218 MCFOLD
bool $multiplayerRequiresUGCEnabled()
const;
1220 MCFOLD
bool $isCrossPlatformToggleVisible()
const;
1222 MCFOLD
bool $isTelemetryAllowed();
1224 MCFOLD
void $buyGame();
1226 MCFOLD
void $finish();
1228 MCFOLD
bool $canLaunchUri(::std::string
const& uri);
1230 MCFOLD
void $launchUri(::std::string
const& uri);
1232 MCFOLD
void $launchSettings();
1234 MCFOLD
bool $useXboxControlHelpers()
const;
1236 MCFOLD ::PlatformType $getPlatformType()
const;
1238 MCFOLD
bool $isCentennial()
const;
1240 MCFOLD ::std::string $getPackageFamilyName()
const;
1242 MCFOLD ::BuildPlatform $getBuildPlatform()
const;
1244 MCFOLD
int $getNumberOfParticleFramesToInterpolate()
const;
1246 MCAPI
int $getDpi()
const;
1248 MCAPI
void $setDpi(
int dpi);
1250 MCAPI ::UIScalingRules $getUIScalingRules()
const;
1252 MCAPI
void $setUIScalingRules(::UIScalingRules UIScalingRules);
1254 MCFOLD
bool $hasIDEProfiler();
1256 MCAPI ::std::string $getPlatformStringVar(
int stringId);
1258 MCAPI uint64 $getMaximumUsedMemory();
1260 MCAPI uint64 $getLowPhysicalMemoryThreshold()
const;
1262 MCAPI
void $calculateIfLowMemoryDevice();
1264 MCFOLD
bool $isLowMemoryDevice()
const;
1266 MCFOLD
bool $isLowPhysicalMemoryDevice()
const;
1268 MCFOLD uint64 $getTextureMemoryBudget()
const;
1270 MCFOLD uint64 $getSingleMipDefaultMemoryBudget()
const;
1272 MCFOLD
void $readyForApplicationExitInfo()
const;
1274 MCFOLD ::DeviceSunsetTier $getDeviceSunsetTier()
const;
1276 MCAPI
int $getMaxSimRadiusInChunks()
const;
1278 MCFOLD ::std::vector<::std::string> $getBroadcastAddresses();
1280 MCFOLD ::std::vector<::std::string> $getIPAddresses();
1282 MCFOLD
bool $useAppPlatformForTelemetryIPAddress();
1284 MCAPI ::std::string $getModelName();
1286 MCFOLD
bool $usesHDRBrightness()
const;
1288 MCFOLD
void $updateBootstrapSettingsFromTreatmentsAsync();
1290 MCFOLD
void $setFullscreenMode(::FullscreenMode
const fullscreenMode);
1292 MCAPI
bool $isNetworkThrottled()
const;
1294 MCFOLD
bool $isLANAllowed()
const;
1296 MCFOLD
bool $doesLANRequireMultiplayerRestrictions()
const;
1298 MCAPI
void $collectGraphicsHardwareDetails();
1300 MCAPI ::std::string $getEdition()
const;
1302 MCFOLD ::OsVersion $getOSVersion()
const;
1304 MCAPI
void $setThreadsFrozen(
bool frozen);
1306 MCAPI
bool $areThreadsFrozen()
const;
1308 MCFOLD
float $getDefaultSafeZoneScaleX()
const;
1310 MCFOLD
float $getDefaultSafeZoneScaleY()
const;
1312 MCFOLD
float $getDefaultSafeZoneScaleAll()
const;
1314 MCFOLD
float $getDefaultScreenPositionX()
const;
1316 MCFOLD
float $getDefaultScreenPositionY()
const;
1318 MCAPI
bool $isQuitCapable()
const;
1320 MCFOLD
bool $requireControllerAtStartup()
const;
1322 MCFOLD
bool $notifyControllerConnectionStateChange()
const;
1324 MCFOLD
bool $platformRequiresControllerApplet()
const;
1327 MCAPI ::InputMode $getDefaultInputMode()
const;
1330 MCAPI ::AppFocusState $getFocusState();
1332 MCFOLD ::AppLifecycleContext& $getAppLifecycleContext();
1334 MCFOLD
bool $supportsFliteTTS()
const;
1336 MCAPI ::std::unique_ptr<::SecureStorage> $getSecureStorage();
1338 MCAPI ::SecureStorageKey $getSecureStorageKey(::std::string
const& key);
1340 MCFOLD
void $setSecureStorageKey(::std::string
const& key,
::SecureStorageKey const& value);
1342 MCFOLD
bool $devHotReloadRenderResources()
const;
1344 MCFOLD
bool $shouldPauseDownloadsWhenEnterGame()
const;
1346 MCFOLD
bool $compareAppReceiptToLocalReceipt(::std::string
const& otherReceipt);
1348 MCAPI ::mce::UUID
const& $getThirdPartyPackUUID()
const;
1350 MCFOLD
bool $saveTreatmentPacksAsZips()
const;
1352 MCFOLD
bool $saveEncryptedPacksAsZips()
const;
1354 MCFOLD
bool $saveEncryptedWorldTemplatePacksAsZips()
const;
1356 MCFOLD
bool $allowsResourcePackDevelopment()
const;
1358 MCFOLD
bool $supportsLegacySinglePremiumCacheDirectory()
const;
1360 MCFOLD
bool $supportsWorldShare()
const;
1362 MCFOLD
bool $hasJournalingFilesystem()
const;
1364 MCFOLD
bool $isAutoCompactionEnabled()
const;
1366 MCAPI ::std::chrono::nanoseconds $getLevelSaveInterval()
const;
1368 MCAPI ::std::chrono::nanoseconds $getOptionsSaveInterval()
const;
1370 MCFOLD
bool $hasPlatformSpecificInvites()
const;
1372 MCFOLD
bool $usePlatformProfilePicturesOnly()
const;
1374 MCFOLD
bool $allowBetaXblSignIn()
const;
1376 MCFOLD
bool $requiresXboxLiveSigninToPlay()
const;
1378 MCFOLD
bool $requiresLiveGoldForMultiplayer()
const;
1380 MCFOLD
bool $shouldRegisterForXboxLiveNotifications()
const;
1382 MCAPI
bool $isRealmsEnabled()
const;
1384 MCFOLD
bool $minimizeBackgroundDownloads()
const;
1386 MCFOLD
bool $requiresAutoSaveIconExplanationPopup()
const;
1388 MCAPI ::IPlatformScreenshots& $getPlatformScreenshots();
1390 MCFOLD uint $maxFileDataRequestConcurrency()
const;
1392 MCFOLD
void $goToExternalConsumablesStoreListing()
const;
1394 MCAPI
float $getStoreNetworkFailureTimeout()
const;
1396 MCAPI ::std::shared_ptr<::Core::FileStorageArea>
1397 $createLoggingStorageArea(::Core::FileAccessType fileAccessType,
::Core::PathView loggingPath);
1399 MCFOLD
void $handlePlatformSpecificCommerceError(uint error);
1401 MCFOLD
bool $isEduMode()
const;
1403 MCFOLD
bool $importAsFlatFile()
const;
1405 MCFOLD
bool $isWebviewSupported()
const;
1409 MCFOLD
bool $getPlatformTTSExists()
const;
1411 MCFOLD
bool $getPlatformTTSEnabled()
const;
1413 MCAPI ::std::variant<::HWND__*, ::std::monostate> $getRenderSurfaceParameters()
const;
1415 MCFOLD
bool $shouldRemoveGraphicsDeviceOnAppTermination()
const;
1417 MCFOLD
bool $isJoinableViaExternalServers()
const;
1419 MCFOLD
void $onPrimaryUserNetworkReady();
1421 MCFOLD
bool $isDisplayInitialized()
const;
1423 MCFOLD
bool $usesAsyncOptionSaving()
const;
1425 MCFOLD
void $showPlatformStoreIcon(
bool shouldShow);
1427 MCAPI
void $showPlatformEmptyStoreDialog(::std::function<
void(
bool)>&& callback);
1429 MCFOLD
void $initializeGameStreaming();
1431 MCAPI
void $notifyNetworkConfigurationChanged();
1433 MCFOLD
void $setKeepScreenOnFlag(
bool);
1435 MCFOLD
void $initializeMulticast()
const;
1437 MCFOLD
void $requestMulticastReceivePermission();
1439 MCFOLD
bool $hasMulticastReceivePermission()
const;
1441 MCFOLD
void $releaseMulticastReceivePermission()
const;
1443 MCFOLD
void $onMinecraftGameInitComplete();
1445 MCFOLD
void $onFullGameUnlock();
1447 MCFOLD
bool $is24HourTimeFormat()
const;
1449 MCAPI ::Bedrock::Threading::Async<bool> $showOSUserDialog(::std::string, ::std::string, ::std::string);
1451 MCFOLD
bool $_tryEnableCPUBoost();
1453 MCFOLD
void $_disableCPUBoost();
1455 MCFOLD ::Bedrock::CommonPlatform* $getPlatformShim()
const;
1457 MCFOLD
void $_initializeFileStorageAreas();
1459 MCAPI
void $_teardownFileStorageAreas();
1461 MCFOLD
int $getPlatformDpi()
const;
1463 MCAPI ::UIScalingRules $getPlatformUIScalingRules()
const;
1465 MCFOLD
void $_onInitialize();
1467 MCFOLD
void $_onTeardown();
1476 MCFOLD
int $getKeyFromKeyCode(
int keyCode,
int metaState,
int deviceId);
1478 MCFOLD
void $textEditComponentGainedFocus(
1479 ::std::string
const& currentText,
1486 MCFOLD
void $textEditComponentLostFocus();
1488 MCFOLD
void $hideKeyboard();
1490 MCAPI
bool $blankLineDismissesChat()
const;
1492 MCFOLD
bool $signWrapsTextEntry()
const;
1494 MCFOLD
bool $isFullScreenKeyboard()
const;
1496 MCFOLD
bool $actionSuspendsApp(::AppAction)
const;
1498 MCFOLD
float $getKeyboardHeight()
const;
1500 MCAPI
bool $refocusMouse(
bool lostMouse,
bool oldMouseGrabbed);
1502 MCFOLD
void $setMousePointerType(::Bedrock::Input::PointerType pointerType);
1504 MCFOLD
void $hideMousePointer();
1506 MCFOLD
void $showMousePointer();
1508 MCFOLD
void $postInteractiveSignIn();
1510 MCFOLD
bool $useHardwareMouse();
1512 MCFOLD
void $provideHardwareMouseImageData(
::mce::Image const& imageData);
1514 MCFOLD
bool $hasCustomSoftwareCursor()
const;
1516 MCFOLD ::Core::PathBuffer<::std::string> $getCustomSoftwareCursorAsset()
const;
1518 MCAPI
bool $getPointerFocus();
1520 MCAPI
void $setPointerFocus(
bool lostFocus);
1522 MCFOLD
bool $isInvertScrollEnabled()
const;
1524 MCFOLD
void $toggleSimulateTouchWithMouse();
1526 MCAPI
void $_fireAppSuspended();
1528 MCAPI
void $_fireAppResumed();
1530 MCFOLD
void $_fireAppFocusLost();
1532 MCAPI
void $_fireAppFocusGained();
1534 MCAPI
void $_fireResizeBegin();
1536 MCAPI
void $_fireResizeEnd();
1538 MCAPI
void $_fireDeviceLost();
1540 MCAPI
void $_fireSurfaceCreated();
1542 MCAPI
void $_fireSurfaceDestroyed();
1544 MCFOLD
void $_fireAppConfigurationChanged();
1546 MCAPI
void $_fireAppPaused();
1548 MCAPI
void $_fireAppUnpaused();
1550 MCFOLD
void $discardBackbuffer();
1552 MCAPI ::std::string $getTermsOfUseHyperlink()
const;
1554 MCFOLD
void $pickFile(::std::shared_ptr<::FilePickerSettings> settings);
1556 MCFOLD
bool $supportsAlbumExport()
const;
1558 MCFOLD
bool $supportsPDFExport()
const;
1560 MCFOLD ::std::shared_ptr<::PDFWriter> $createPlatformPDFWriter();
1562 MCFOLD
void $shareFile(
::Core::Path const& path, ::std::function<
void(
bool)> onCompletionCallback);
1564 MCFOLD
bool $hasHardwareBackButton();
1566 MCFOLD
bool $supportsMSAA()
const;
1568 MCFOLD
bool $supports3rdPartyServers()
const;
1570 MCFOLD
bool $supportsManualAddedServers()
const;
1572 MCFOLD
bool $supportsFilePicking()
const;
1574 MCFOLD
bool $supportsTouch()
const;
1576 MCFOLD
bool $supportsKeyboardMouse()
const;
1578 MCFOLD
bool $supportsGamepad()
const;
1580 MCFOLD ::ClipboardFeatureFlags $getClipboardFeatures()
const;
1582 MCAPI
bool $supportsClipboardSet()
const;
1584 MCAPI
bool $supportsClipboardGet()
const;
1586 MCAPI
bool $supportsClipboardAsyncGet()
const;
1588 MCFOLD
void $setClipboard(::std::string
const& value)
const;
1590 MCAPI ::std::wstring $getClipboardText()
const;
1592 MCFOLD
void $getClipboardTextAsync(::std::function<
void(::std::string
const&)> callback)
const;
1594 MCFOLD
bool $supportsShare()
const;
1596 MCFOLD
void $share()
const;
1598 MCAPI
bool $allowSplitScreen();
1600 MCAPI
float $splitScreenRenderDistScalar(uint numPlayers);
1602 MCAPI
float $uiOpenRenderDistScalar();
1606 MCAPI
void $openStoragePermissionRequest(
1607 ::PermissionRequestReason reason,
1608 ::std::function<
void(::StoragePermissionResult)> resultCallback
1611 MCFOLD
void $setStorageDirectory(
1612 ::FileStorageDirectory dir,
1615 ::std::function<
void(
bool)> onComplete
1618 MCFOLD ::FileStorageDirectory $setInitialStorageDirectory(::FileStorageDirectory dir);
1620 MCFOLD ::FileStorageDirectory $getStorageDirectory()
const;
1622 MCFOLD
void $setStorageDirectoryChangeDenied(::std::function<
void(::FileStorageDirectory)> callback);
1624 MCFOLD ::Bedrock::PubSub::Subscription
1625 $addStorageDirectoryChangedSubscriber(::std::function<
void(
::Core::Path const&)> callback);
1627 MCAPI
void $runStoragePermissionResultCallback(::StoragePermissionResult result);
1629 MCFOLD
bool $hasExternalStoragePermission();
1631 MCFOLD
bool $delayOptionSaveUntilCloudSync()
const;
1633 MCFOLD
void $updateTextEditBoxPosition(
1636 float const guiScale
1639 MCAPI ::BatteryMonitorInterface
const& $getBatteryMonitorInterface()
const;
1641 MCAPI ::ThermalMonitorInterface
const& $getThermalMonitorInterface()
const;
1643 MCFOLD
void $trialCorrelationStart();
1645 MCAPI
void $setAllowLostFocusToasts(
bool allowLostFocusToasts);
1647 MCAPI
void $setShowLostFocusToasts(
bool showLostFocusToasts);
1649 MCAPI
bool $getShowLostFocusToasts();
1651 MCFOLD uint64 $getLowMemoryEventThreshold(::LowMemorySeverity)
const;
1653 MCAPI uint64 $getLowMemoryEventRecoveryThreshold(::LowMemorySeverity severity)
const;
1655 MCAPI ::std::string $getDeviceId()
const;
1659 MCAPI
void $registerUriListener(::std::string
const& verb,
::UriListener& listener);
1661 MCAPI
void $unregisterUriListener(
::UriListener const& listener);
1665 MCAPI
void $notifyUriListenerRegistrationDone();
1667 MCFOLD
void $showXboxLiveUserSettings();
1669 MCAPI ::Bedrock::NotNullNonOwnerPtr<::ThrottledFileWriteManager> $getThrottledFileWriteManager()
const;
1671 MCAPI
void $_notifyUriListeners(
::ActivationUri const& uri,
bool ignoreVerb);