3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/social/MultiplayerServiceIdentifier.h"
7#include "mc/deps/application/DeviceSunsetTier.h"
8#include "mc/deps/application/IAppPlatform.h"
9#include "mc/deps/application/LowMemorySeverity.h"
10#include "mc/deps/application/OsVersion.h"
11#include "mc/deps/core/NetworkConnectionType.h"
12#include "mc/deps/core/debug/AssertDialogResponse.h"
13#include "mc/deps/core/file/FileAccessType.h"
14#include "mc/deps/core/file/PathBuffer.h"
15#include "mc/deps/core/platform/ARVRPlatform.h"
16#include "mc/deps/core/platform/AppFocusState.h"
17#include "mc/deps/core/platform/BuildPlatform.h"
18#include "mc/deps/core/platform/FullscreenMode.h"
19#include "mc/deps/core/platform/OperationMode.h"
20#include "mc/deps/core/platform/PlatformType.h"
21#include "mc/deps/core/platform/UIScalingRules.h"
22#include "mc/deps/core/resource/ResourceFileSystem.h"
23#include "mc/deps/core/secure_storage/ISecureStorageKeySystem.h"
24#include "mc/deps/core/string/BasicStackString.h"
25#include "mc/deps/core/threading/IAsyncResult.h"
26#include "mc/deps/core/threading/MPMCQueue.h"
27#include "mc/deps/core/utility/NonOwnerPointer.h"
28#include "mc/deps/core/utility/pub_sub/Connector.h"
29#include "mc/deps/input/InputMode.h"
30#include "mc/deps/input/VRControllerType.h"
42namespace Core {
class FileStorageArea; }
43namespace Core {
class Path; }
44namespace Social {
class MultiplayerService; }
45namespace Social {
struct UserCreationData; }
46namespace Webview {
class PlatformArguments; }
47namespace mce {
class UUID; }
126 virtual void initialize();
129 virtual void teardown();
132 virtual void initAppPlatformNetworkSettings() ;
135 virtual void initializeScreenDependentResources();
138 virtual uint64 getHighPerformanceThreadsCount()
const;
141 virtual uint64 getTotalHardwareThreadsCount()
const;
144 virtual void initializeGraphicsDeviceTier();
153 virtual void restartApp(
bool restart);
156 virtual bool restartRequested() ;
159 virtual ::Core::PathBuffer<::std::string> getPackagePath()
const = 0;
162 virtual int const numberOfThrottledTreatmentPacksToImportPerMinute()
const ;
165 virtual bool const areTreatmentPacksThrottled()
const ;
168 virtual bool hasFastAlphaTest()
const;
171 virtual ::std::shared_ptr<::Bedrock::Threading::IAsyncResult<::IntegrityTokenResult>>
172 requestIntegrityToken(::std::string
const& nonceToken);
175 virtual void setIntegrityToken(::std::string
const& integrityToken);
178 virtual void setIntegrityTokenErrorMessage(::std::string
const& errorMessage);
181 virtual bool supportsInPackageRecursion()
const;
184 virtual bool supportsXboxLiveAchievements()
const;
187 virtual void hideSplashScreen();
190 virtual ::std::string getFeedbackBugsLink()
const;
193 virtual ::std::string getFeedbackHelpLink()
const;
196 virtual auto getModalErrorMessageProc() -> ::AssertDialogResponse (*)(::std::string
const&, ::std::string
const&);
199 virtual void updateLocalization(::std::string
const& loc);
202 virtual void setSleepEnabled(
bool enabled);
205 virtual ::Core::PathBuffer<::std::string> getScratchPath();
208 virtual ::Core::PathBuffer<::std::string> getInternalPackStoragePath()
const;
211 virtual ::Core::PathBuffer<::std::string> getSettingsPath();
214 virtual ::Core::PathBuffer<::std::string> getLoggingPath()
const ;
217 virtual ::Core::PathBuffer<::std::string> getPackagedShaderCachePath();
220 virtual ::Core::PathBuffer<::std::string> getShaderCachePath();
223 virtual ::Core::PathBuffer<::std::string> getUserdataPathForLevels()
const;
226 virtual ::Core::PathBuffer<::std::string> getCacheStoragePath();
229 virtual ::Core::PathBuffer<::std::string> getOnDiskScratchPath();
232 virtual ::Core::PathBuffer<::std::string> getOnDiskPackScratchPath();
235 virtual ::Core::PathBuffer<::std::string> getLevelInfoCachePath()
const;
238 virtual ::Core::PathBuffer<::std::string> getCatalogSearchScratchPath();
241 virtual ::Core::PathBuffer<::std::string> getUserStorageRootPath()
const;
247 virtual bool hasSeparatedStorageAreasForContentAcquisition()
const;
250 virtual uint64 getOptimalLDBSize();
253 virtual int getMaxLDBFilesOpen()
const;
256 virtual bool getDisableLDBSeekCompactions()
const;
259 virtual void showDialog(
int dialogId);
262 virtual void createUserInput();
265 virtual void createUserInput(
int dialogId);
268 virtual int getUserInputStatus();
271 virtual ::std::vector<::std::string> getUserInput();
274 virtual ::Bedrock::NotNullNonOwnerPtr<::IFileAccess> getFileAccess(::ResourceFileSystem fileSystem);
277 virtual ::Core::PathBuffer<::std::string> copyImportFileToTempFolder(
::Core::Path const& filePath);
280 virtual void registerFileForCollectionWithCrashDump(
::Core::Path const& fileName);
283 virtual void registerExperimentsActiveCrashDump(::std::vector<::std::string>
const& activeExperiments)
const;
286 virtual int getScreenWidth()
const;
289 virtual int getScreenHeight()
const;
292 virtual int getDisplayWidth();
295 virtual int getDisplayHeight();
298 virtual void setScreenSize(
int width,
int height);
301 virtual void setWindowSize(
int width,
int height);
304 virtual void setWindowText(::std::string
const& title);
307 virtual ::std::optional<::OperationMode> getOperationMode()
const;
310 virtual bool allowContentLogWriteToDisk();
313 virtual uint getMaxClubsRequests()
const;
316 virtual void queueForMainThread_DEPRECATED(::std::function<
void()>) = 0;
319 virtual ::MPMCQueue<::std::function<void()>>& getMainThreadQueue() = 0;
322 virtual bool supportsLaunchingLegacyVersion()
const;
325 virtual void launchLegacyVersion();
328 virtual bool canManageLegacyData()
const;
331 virtual bool supportsDayOneExperience()
const;
334 virtual bool canMigrateWorldData()
const;
337 virtual bool isContentAutoUpdateAllowed()
const;
340 virtual int getMaxSimultaneousDownloads()
const;
343 virtual uint getMaxSimultaneousServiceRequests()
const;
346 virtual bool isDownloadAndImportBlocking()
const;
349 virtual bool isDownloadBuffered()
const;
352 virtual bool supportsAutoSaveOnDBCompaction()
const;
355 virtual ::std::string getTextBoxBackend()
const = 0;
358 virtual void setTextBoxBackend(::std::string
const&) = 0;
361 virtual int getCaretPosition()
const = 0;
364 virtual void setCaretPosition(
int) = 0;
367 virtual bool supportsVibration()
const;
370 virtual void vibrate(
int milliSeconds);
373 virtual ::Core::PathBuffer<::std::string> getAssetFileFullPath(
::Core::Path const& filename);
376 virtual ::std::string readAssetFile(
::Core::Path const& filename);
379 virtual bool hasAssetFile(
::Core::Path const& filename);
385 virtual ::std::set<::Core::PathBuffer<::std::string>>
386 listAssetFilesIn(
::Core::Path const& path, ::std::string
const& extension)
const;
389 virtual bool supportsClientUpdate()
const;
392 virtual ::std::string getClientUpdateUrl()
const;
395 virtual int checkLicense();
398 virtual bool hasBuyButtonWhenInvalidLicense();
401 virtual bool isNetworkAvailable()
const ;
404 virtual bool isLANAvailable()
const ;
407 virtual bool isNetworkEnabled(
bool onlyWifiAllowed)
const ;
410 virtual void setNetworkAllowed(
bool allowed);
413 virtual bool isNetworkAllowed()
const;
416 virtual bool isInternetAvailable()
const ;
419 virtual ::std::optional<bool> isOnWifiConnectionTelemetryValue();
422 virtual ::NetworkConnectionType getNetworkConnectionType();
425 virtual void setNetworkConnectionType(::NetworkConnectionType connectionType);
428 virtual int getDefaultNetworkMaxPlayers()
const;
431 virtual bool multiplayerRequiresPremiumAccess()
const ;
434 virtual bool multiplayerRequiresUGCEnabled()
const ;
437 virtual bool isCrossPlatformToggleVisible()
const;
440 virtual bool isTelemetryAllowed();
443 virtual bool isTrialWorldsTransferToFullGameAllowed()
const;
446 virtual void buyGame();
449 virtual void finish();
452 virtual bool canLaunchUri(::std::string
const& uri);
455 virtual void launchUri(::std::string
const& uri);
458 virtual void launchSettings();
461 virtual bool useXboxControlHelpers()
const;
464 virtual ::PlatformType getPlatformType()
const;
467 virtual bool isCentennial()
const;
470 virtual ::std::string getPackageFamilyName()
const;
473 virtual ::BuildPlatform getBuildPlatform()
const ;
476 virtual ::std::string getPlatformString()
const = 0;
479 virtual ::std::string getSubPlatformString()
const = 0;
482 virtual void setARVRPlatform(::ARVRPlatform);
485 virtual ::ARVRPlatform getARVRPlatform()
const ;
488 virtual int getNumberOfParticleFramesToInterpolate()
const;
491 virtual int getDpi()
const;
494 virtual void setDpi(
int dpi);
497 virtual ::UIScalingRules getUIScalingRules()
const;
500 virtual void setUIScalingRules(::UIScalingRules UIScalingRules);
503 virtual void setVRControllerType(::VRControllerType controllerType);
506 virtual ::VRControllerType getVRControllerType()
const;
509 virtual bool hasIDEProfiler();
512 virtual ::std::string getPlatformStringVar(
int stringId);
515 virtual ::std::string getApplicationId()
const = 0;
518 virtual uint64 getFreeMemory()
const = 0;
521 virtual uint64 getMemoryLimit()
const = 0;
524 virtual uint64 getUsedMemory() = 0;
527 virtual uint64 getTotalPhysicalMemory()
const = 0;
530 virtual uint64 getMaximumUsedMemory();
533 virtual uint64 getLowMemoryEventThreshold(::LowMemorySeverity)
const;
536 virtual uint64 getLowMemoryEventRecoveryThreshold(::LowMemorySeverity severity)
const;
539 virtual uint64 getLowPhysicalMemoryThreshold()
const ;
542 virtual void calculateIfLowMemoryDevice();
545 virtual bool isLowMemoryDevice()
const ;
548 virtual bool isLowPhysicalMemoryDevice()
const ;
551 virtual uint64 getTextureMemoryBudget()
const;
554 virtual uint64 getSingleMipDefaultMemoryBudget()
const;
557 virtual void readyForApplicationExitInfo()
const;
560 virtual ::DeviceSunsetTier getDeviceSunsetTier()
const;
563 virtual int getMaxSimRadiusInChunks()
const;
566 virtual ::std::vector<::std::string> getBroadcastAddresses();
569 virtual ::std::vector<::std::string> getIPAddresses();
572 virtual bool useAppPlatformForTelemetryIPAddress();
575 virtual ::std::string getModelName();
578 virtual bool usesHDRBrightness()
const;
581 virtual void updateBootstrapSettingsFromTreatmentsAsync();
584 virtual void setFullscreenMode(::FullscreenMode
const fullscreenMode);
587 virtual bool isNetworkThrottled()
const;
590 virtual bool isLANAllowed()
const ;
593 virtual bool doesLANRequireMultiplayerRestrictions()
const;
596 virtual void collectGraphicsHardwareDetails();
599 virtual ::std::string getEdition()
const;
602 virtual ::OsVersion getOSVersion()
const;
605 virtual bool isWin10Arm()
const;
608 virtual void setThreadsFrozen(
bool frozen);
611 virtual bool areThreadsFrozen()
const;
614 virtual float getDefaultSafeZoneScaleX()
const;
617 virtual float getDefaultSafeZoneScaleY()
const;
620 virtual float getDefaultSafeZoneScaleAll()
const;
623 virtual float getDefaultScreenPositionX()
const;
626 virtual float getDefaultScreenPositionY()
const;
629 virtual bool isQuitCapable()
const;
632 virtual bool requireControllerAtStartup()
const;
635 virtual bool notifyControllerConnectionStateChange()
const;
638 virtual bool platformRequiresControllerApplet()
const;
641 virtual ::InputMode getDefaultInputMode()
const;
644 virtual ::AppFocusState getFocusState();
647 virtual ::AppLifecycleContext& getAppLifecycleContext();
650 virtual uint64 calculateAvailableDiskFreeSpace(
::Core::Path const&) = 0;
653 virtual bool supportsFliteTTS()
const;
656 virtual ::std::unique_ptr<::SecureStorage> getSecureStorage();
659 virtual ::SecureStorageKey getSecureStorageKey(::std::string
const& key) ;
662 virtual void setSecureStorageKey(::std::string
const& key,
::SecureStorageKey const& value) ;
665 virtual bool devHotReloadRenderResources()
const;
668 virtual bool shouldPauseDownloadsWhenEnterGame()
const;
671 virtual bool compareAppReceiptToLocalReceipt(::std::string
const& otherReceipt);
674 virtual ::mce::UUID
const& getThirdPartyPackUUID()
const;
677 virtual bool saveTreatmentPacksAsZips()
const;
680 virtual bool saveEncryptedPacksAsZips()
const;
683 virtual bool saveEncryptedWorldTemplatePacksAsZips()
const;
686 virtual bool allowsResourcePackDevelopment()
const;
689 virtual bool supportsLegacySinglePremiumCacheDirectory()
const;
692 virtual bool supportsWorldShare()
const;
695 virtual bool hasJournalingFilesystem()
const;
698 virtual bool isAutoCompactionEnabled()
const;
701 virtual ::std::chrono::nanoseconds getLevelSaveInterval()
const;
704 virtual ::std::chrono::nanoseconds getOptionsSaveInterval()
const;
707 virtual bool hasPlatformSpecificInvites()
const;
710 virtual bool usePlatformProfilePicturesOnly()
const;
713 virtual bool allowBetaXblSignIn()
const;
716 virtual bool requiresXboxLiveSigninToPlay()
const;
719 virtual bool requiresLiveGoldForMultiplayer()
const;
722 virtual bool shouldRegisterForXboxLiveNotifications()
const;
725 virtual bool isRealmsEnabled()
const ;
728 virtual bool minimizeBackgroundDownloads()
const;
731 virtual bool requiresAutoSaveIconExplanationPopup()
const;
734 virtual ::std::optional<::ScreenshotOptions> getExtraLevelSaveDataIconParams(::std::string
const& levelId)
const;
737 virtual ::std::vector<::std::shared_ptr<::Social::MultiplayerService>> getMultiplayerServiceListToRegister()
const;
740 virtual ::std::vector<::Social::MultiplayerServiceIdentifier>
741 getBroadcastingMultiplayerServiceIds(
bool xblBroadcast,
bool platformBroadcast)
const ;
744 virtual uint maxFileDataRequestConcurrency()
const;
747 virtual void goToExternalConsumablesStoreListing()
const;
750 virtual float getStoreNetworkFailureTimeout()
const;
753 virtual ::std::shared_ptr<::Core::FileStorageArea>
754 createLoggingStorageArea(::Core::FileAccessType fileAccessType,
::Core::Path const& loggingPath);
757 virtual void handlePlatformSpecificCommerceError(uint error);
760 virtual bool isEduMode()
const;
763 virtual bool importAsFlatFile()
const;
766 virtual bool isWebviewSupported()
const;
772 virtual bool canAppSelfTerminate()
const = 0;
775 virtual bool getPlatformTTSExists()
const;
778 virtual bool getPlatformTTSEnabled()
const;
781 virtual ::std::variant<::HWND__*, ::std::monostate> getRenderSurfaceParameters()
const;
784 virtual bool shouldRemoveGraphicsDeviceOnAppTermination()
const;
787 virtual bool isJoinableViaExternalServers()
const;
790 virtual void onPrimaryUserNetworkReady();
793 virtual bool isDisplayInitialized()
const;
796 virtual bool usesAsyncOptionSaving()
const;
799 virtual void showPlatformStoreIcon(
bool shouldShow);
802 virtual void showPlatformEmptyStoreDialog(::std::function<
void(
bool)>&& callback);
805 virtual bool supportsVRModeSwap()
const;
808 virtual bool canSwapVRMode(
bool const inVRMode)
const;
811 virtual void tryEnterVRMode(
bool duringStartup, ::std::function<
void(
bool)> callback);
814 virtual void exitVRMode(::std::function<
void()> callback);
817 virtual void initializeGameStreaming();
820 virtual void notifyNetworkConfigurationChanged();
823 virtual void setKeepScreenOnFlag(
bool);
826 virtual void initializeMulticast()
const;
829 virtual void requestMulticastReceivePermission();
832 virtual bool hasMulticastReceivePermission()
const;
835 virtual void releaseMulticastReceivePermission()
const;
838 virtual void onMinecraftGameInitComplete();
841 virtual void onFullGameUnlock();
844 virtual bool is24HourTimeFormat()
const;
847 virtual ::std::shared_ptr<::Bedrock::Threading::IAsyncResult<bool>>
848 showOSUserDialog(::std::string, ::std::string, ::std::string);
851 virtual ::Core::PathBuffer<::std::string> _getCurrentStoragePath()
const = 0;
854 virtual ::Core::PathBuffer<::std::string> _getExternalStoragePath()
const = 0;
857 virtual ::Core::PathBuffer<::std::string> _getInternalStoragePath()
const = 0;
860 virtual ::Core::PathBuffer<::std::string> _getUserdataPath()
const = 0;
863 virtual bool _tryEnableCPUBoost();
866 virtual void _disableCPUBoost();
869 virtual void _initializeFileStorageAreas();
872 virtual void _teardownFileStorageAreas();
875 virtual int getPlatformDpi()
const;
878 virtual ::UIScalingRules getPlatformUIScalingRules()
const;
881 virtual ::Core::PathBuffer<::std::string> getPlatformTempPath()
const = 0;
884 virtual void _onInitialize();
887 virtual void _onTeardown();
909 MCNAPI static ::Core::PathBuffer<::Core::BasicStackString<char, 1024>>
const&
HOME_PATH();
911 MCNAPI static ::Core::PathBuffer<::Core::BasicStackString<char, 1024>>
const&
LOG_PATH();
913 MCNAPI static ::Core::PathBuffer<::Core::BasicStackString<char, 1024>>
const&
SETTINGS_PATH();
915 MCNAPI static ::Core::PathBuffer<::Core::BasicStackString<char, 1024>>
const&
SHADERCACHE_PATH();
921 MCNAPI
void*
$ctor(
bool registerService);
961 MCNAPI ::std::shared_ptr<::Bedrock::Threading::IAsyncResult<::IntegrityTokenResult>>
1030 MCNAPI ::Bedrock::NotNullNonOwnerPtr<::IFileAccess>
$getFileAccess(::ResourceFileSystem fileSystem);
1092 MCNAPI ::std::set<::Core::PathBuffer<::std::string>>
1313 MCNAPI ::std::vector<::Social::MultiplayerServiceIdentifier>
1322 MCNAPI ::std::shared_ptr<::Core::FileStorageArea>
1383 MCNAPI ::std::shared_ptr<::Bedrock::Threading::IAsyncResult<bool>>
Definition AppLifecycleContext.h:5
Definition IFileAccess.h:15
Definition ISecureStorageKeySystem.h:10
Definition SecureStorageKey.h:5
Definition SecureStorage.h:5
Definition WebviewInterface.h:5
Definition IntegrityTokenResult.h:5
Definition ScreenshotOptions.h:5
Definition UserCreationData.h:7