LeviLamina
Loading...
Searching...
No Matches
AppPlatform.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/MousePointerType.h"
7#include "mc/client/social/MultiplayerServiceIdentifier.h"
8#include "mc/deps/application/AppAction.h"
9#include "mc/deps/application/ClipboardFeatureFlags.h"
10#include "mc/deps/application/DeviceSunsetTier.h"
11#include "mc/deps/application/IAppPlatform.h"
12#include "mc/deps/application/LowMemorySeverity.h"
13#include "mc/deps/application/OsVersion.h"
14#include "mc/deps/application/StoragePermissionResult.h"
15#include "mc/deps/core/NetworkConnectionType.h"
16#include "mc/deps/core/debug/AssertDialogResponse.h"
17#include "mc/deps/core/file/FileAccessType.h"
18#include "mc/deps/core/file/PathBuffer.h"
19#include "mc/deps/core/platform/AppFocusState.h"
20#include "mc/deps/core/platform/BuildPlatform.h"
21#include "mc/deps/core/platform/FileStorageDirectory.h"
22#include "mc/deps/core/platform/FullscreenMode.h"
23#include "mc/deps/core/platform/OperationMode.h"
24#include "mc/deps/core/platform/PermissionRequestReason.h"
25#include "mc/deps/core/platform/PlatformType.h"
26#include "mc/deps/core/platform/UIScalingRules.h"
27#include "mc/deps/core/resource/ResourceFileSystem.h"
28#include "mc/deps/core/secure_storage/ISecureStorageKeySystem.h"
29#include "mc/deps/core/string/BasicStackString.h"
30#include "mc/deps/core/threading/Async.h"
31#include "mc/deps/core/threading/MPMCQueue.h"
32#include "mc/deps/core/utility/NonOwnerPointer.h"
33#include "mc/deps/core/utility/pub_sub/Connector.h"
34#include "mc/deps/input/InputMode.h"
35#include "mc/options/UIProfile.h"
36
37// auto generated forward declare list
38// clang-format off
39class ActivationUri;
46class IFileAccess;
49class PDFWriter;
50class PropertyBag;
52class RectangleArea;
53class SecureStorage;
57class UriListener;
59namespace ApplicationSignal { class ClipboardCopy; }
60namespace ApplicationSignal { class ClipboardPaste; }
61namespace ApplicationSignal { class ClipboardPasteRequest; }
62namespace Bedrock { class IApplicationDataStores; }
63namespace Bedrock::PubSub { class Subscription; }
64namespace Bedrock::Threading { class Mutex; }
65namespace Core { class FileStorageArea; }
66namespace Core { class Path; }
67namespace Core { class PathView; }
68namespace mce { class UUID; }
69namespace mce { struct Image; }
71namespace Social { struct MultiplayerService; }
72namespace Social { struct UserCreationData; }
73namespace Webview { struct PlatformArguments; }
74// clang-format on
75
76class AppPlatform : public ::IAppPlatform, public ::ISecureStorageKeySystem {
77public:
78 // member variables
79 // NOLINTBEGIN
88#ifdef LL_PLAT_C
91#endif
138#ifdef LL_PLAT_C
140#endif
142 // NOLINTEND
143
144public:
145 // prevent constructor by default
146 AppPlatform& operator=(AppPlatform const&);
147 AppPlatform(AppPlatform const&);
148 AppPlatform();
149
150public:
151 // virtual functions
152 // NOLINTBEGIN
153 virtual ~AppPlatform() /*override*/;
154
155 virtual void initialize();
156
157 virtual void teardown();
158
159 virtual void initAppPlatformNetworkSettings() /*override*/;
160
161 virtual void initializeScreenDependentResources();
162
163 virtual uint64 getHighPerformanceThreadsCount() const;
164
165 virtual uint64 getTotalHardwareThreadsCount() const;
166
167 virtual void initializeGraphicsDeviceTier();
168
169 virtual void addListener(::AppPlatformListener* l, float priority);
170
171 virtual void removeListener(::AppPlatformListener* l);
172
173 virtual void restartApp(bool restart);
174
175 virtual bool restartRequested() /*override*/;
176
177 virtual ::Core::PathBuffer<::std::string> getPackagePath() const = 0;
178
179 virtual int const numberOfThrottledTreatmentPacksToImportPerMinute() const /*override*/;
180
181 virtual bool const areTreatmentPacksThrottled() const /*override*/;
182
183 virtual ::HardwareMemoryTierUtil const& getHardwareMemoryTierUtil() const /*override*/;
184
185#ifdef LL_PLAT_C
186 virtual ::Core::PathBuffer<::std::string> getDataUrl() const = 0;
187
188 virtual void loadPNG(::mce::Image& out, ::Core::Path const& filename);
189
190 virtual void loadTGA(::mce::Image& out, ::Core::Path const& filename);
191
192 virtual void loadJPEG(::mce::Image& out, ::Core::Path const& filename);
193
194 virtual int getKeyFromKeyCode(int keyCode, int metaState, int deviceId);
195
196 virtual void textEditComponentGainedFocus(::std::string const&, int, bool, bool, bool);
197
198 virtual void textEditComponentLostFocus();
199
200 virtual void
201 showKeyboard(::std::string const&, int, bool, bool, bool, int const, ::glm::vec2 const&, float, ::InputMode);
202
203 virtual void hideKeyboard();
204
205 virtual bool blankLineDismissesChat() const;
206
207 virtual bool signWrapsTextEntry() const;
208
209 virtual bool isFullScreenKeyboard() const;
210
211 virtual bool actionSuspendsApp(::AppAction) const;
212
213 virtual float getKeyboardHeight() const;
214
215 virtual bool refocusMouse(bool lostMouse, bool oldMouseGrabbed);
216
217 virtual void setMousePointerType(::ui::MousePointerType);
218
219 virtual void hideMousePointer();
220
221 virtual void showMousePointer();
222
223 virtual void postInteractiveSignIn();
224
225 virtual bool useHardwareMouse();
226
227 virtual void provideHardwareMouseImageData(::mce::Image const& imageData);
228
229 virtual bool hasCustomSoftwareCursor() const;
230
231 virtual ::Core::PathBuffer<::std::string> getCustomSoftwareCursorAsset() const;
232
233 virtual bool getPointerFocus();
234
235 virtual void setPointerFocus(bool lostFocus);
236
237 virtual void toggleSimulateTouchWithMouse();
238
239 virtual void _fireAppSuspended();
240
241 virtual void _fireAppResumed();
242
243 virtual void _fireAppFocusLost();
244
245 virtual void _fireAppFocusGained();
246
247 virtual void _fireResizeBegin();
248
249 virtual void _fireResizeEnd();
250
251 virtual void _fireDeviceLost();
252
253 virtual void _fireSurfaceCreated();
254
255 virtual void _fireSurfaceDestroyed();
256
257 virtual void _fireAppConfigurationChanged();
258
259 virtual void _fireAppPaused();
260
261 virtual void _fireAppUnpaused();
262
263 virtual void swapBuffers() = 0;
264
265 virtual void discardBackbuffer();
266
267 virtual ::std::string getSystemLocale() const = 0;
268
269 virtual ::std::string getTermsOfUseHyperlink() const;
270
271 virtual void pickImage(::std::shared_ptr<::ImagePickingCallback>) = 0;
272
273 virtual void pickFile(::std::shared_ptr<::FilePickerSettings> settings);
274
275 virtual bool supportsAlbumExport() const;
276
277 virtual bool supportsPDFExport() const;
278
279 virtual ::std::shared_ptr<::PDFWriter> createPlatformPDFWriter();
280
281 virtual void shareFile(::Core::Path const& path, ::std::function<void(bool)> onCompletionCallback);
282
283 virtual bool hasHardwareBackButton();
284
285 virtual bool supportsMSAA() const;
286
287 virtual bool supports3rdPartyServers() const;
288
289 virtual bool supportsManualAddedServers() const;
290
291 virtual bool supportsFilePicking() const;
292
293 virtual bool supportsTouch() const;
294
295 virtual bool supportsKeyboardMouse() const;
296
297 virtual bool supportsGamepad() const;
298
299 virtual ::ClipboardFeatureFlags getClipboardFeatures() const;
300
301 virtual bool supportsClipboardSet() const;
302
303 virtual bool supportsClipboardGet() const;
304
305 virtual bool supportsClipboardAsyncGet() const;
306
307 virtual void setClipboard(::std::string const& value) const;
308
309 virtual ::std::wstring getClipboardText() const;
310
311 virtual void getClipboardTextAsync(::std::function<void(::std::string const&)> callback) const;
312
313 virtual bool supportsShare() const;
314
315 virtual void share() const;
316
317 virtual bool allowSplitScreen();
318
319 virtual float splitScreenRenderDistScalar(uint numPlayers);
320
321 virtual float uiOpenRenderDistScalar();
322
323 virtual void pushNotificationReceived(::PushNotificationMessage const& msg);
324
325 virtual void openStoragePermissionRequest(
326 ::PermissionRequestReason reason,
327 ::std::function<void(::StoragePermissionResult)> resultCallback
328 );
329
330 virtual void setStorageDirectory(
331 ::FileStorageDirectory dir,
332 bool isCallback,
333 ::PropertyBag const& extraData,
334 ::std::function<void(bool)>
335 );
336
337 virtual ::FileStorageDirectory setInitialStorageDirectory(::FileStorageDirectory dir);
338
339 virtual ::FileStorageDirectory getStorageDirectory() const;
340
341 virtual void setStorageDirectoryChangeDenied(::std::function<void(::FileStorageDirectory)> callback);
342
343 virtual ::Bedrock::PubSub::Subscription
344 addStorageDirectoryChangedSubscriber(::std::function<void(::Core::Path const&)>);
345
346 virtual void runStoragePermissionResultCallback(::StoragePermissionResult result);
347
348 virtual bool hasExternalStoragePermission();
349
350 virtual bool delayOptionSaveUntilCloudSync() const;
351
352 virtual void updateTextEditBoxPosition(
353 ::RectangleArea const& controlPosition,
354 ::RectangleArea const& selectionPosition,
355 float const guiScale
356 );
357
358 virtual ::BatteryMonitorInterface const& getBatteryMonitorInterface() const;
359
360 virtual ::ThermalMonitorInterface const& getThermalMonitorInterface() const;
361
362 virtual void trialCorrelationStart();
363
364 virtual void setAllowLostFocusToasts(bool allowLostFocusToasts);
365
366 virtual void setShowLostFocusToasts(bool showLostFocusToasts);
367
368 virtual bool getShowLostFocusToasts();
369
370 virtual double getTimeSFromProcessStart() const = 0;
371
372#endif
373 virtual ::Bedrock::Threading::Async<::IntegrityTokenResult> requestIntegrityToken(::std::string const& nonceToken);
374
375 virtual void setIntegrityToken(::std::string const& integrityToken);
376
377 virtual void setIntegrityTokenErrorMessage(::std::string const& errorMessage);
378
379 virtual bool supportsInPackageRecursion() const;
380
381 virtual bool supportsXboxLiveAchievements() const;
382
383 virtual void hideSplashScreen();
384
385 virtual ::std::string getFeedbackBugsLink() const;
386
387 virtual ::std::string getFeedbackHelpLink() const;
388
389 virtual auto getModalErrorMessageProc() -> ::AssertDialogResponse (*)(::std::string const&, ::std::string const&);
390
391 virtual void updateLocalization(::std::string const& loc);
392
393 virtual void setSleepEnabled(bool enabled);
394
395 virtual ::Core::PathBuffer<::std::string> getScratchPath();
396
397 virtual ::Core::PathBuffer<::std::string> getInternalPackStoragePath() const;
398
399 virtual ::Core::PathBuffer<::std::string> getSettingsPath();
400
401 virtual ::Core::PathBuffer<::std::string> getLoggingPath() const /*override*/;
402
403 virtual ::Core::PathBuffer<::std::string> getPackagedShaderCachePath();
404
405 virtual ::Core::PathBuffer<::std::string> getShaderCachePath();
406
407 virtual ::Core::PathBuffer<::std::string> getUserdataPathForLevels() const;
408
409 virtual ::Core::PathBuffer<::std::string> getCacheStoragePath();
410
411 virtual ::Core::PathBuffer<::std::string> getOnDiskScratchPath();
412
413 virtual ::Core::PathBuffer<::std::string> getOnDiskPackScratchPath();
414
415 virtual ::Core::PathBuffer<::std::string> getLevelInfoCachePath() const;
416
417 virtual ::Core::PathBuffer<::std::string> getCatalogSearchScratchPath();
418
419 virtual ::Core::PathBuffer<::std::string> getUserStorageRootPath() const;
420
421 virtual ::std::shared_ptr<::Core::FileStorageArea> getOrCreateStorageAreaForUser(::Social::UserCreationData const&);
422
423 virtual bool hasSeparatedStorageAreasForContentAcquisition() const;
424
425 virtual uint64 getOptimalLDBSize();
426
427 virtual int getMaxLDBFilesOpen() const;
428
429 virtual bool getDisableLDBSeekCompactions() const;
430
431 virtual void showDialog(int dialogId);
432
433 virtual void createUserInput();
434
435 virtual void createUserInput(int dialogId);
436
437 virtual int getUserInputStatus();
438
439 virtual ::std::vector<::std::string> getUserInput();
440
441 virtual ::Bedrock::NotNullNonOwnerPtr<::IFileAccess> getFileAccess(::ResourceFileSystem fileSystem);
442
443 virtual ::Core::PathBuffer<::std::string> copyImportFileToTempFolder(::Core::Path const& filePath);
444
445 virtual void registerFileForCollectionWithCrashDump(::Core::Path const& fileName);
446
447 virtual void registerExperimentsActiveCrashDump(::std::vector<::std::string> const& activeExperiments) const;
448
449 virtual int getScreenWidth() const;
450
451 virtual int getScreenHeight() const;
452
453 virtual int getDisplayWidth();
454
455 virtual int getDisplayHeight();
456
457 virtual void setScreenSize(int width, int height);
458
459 virtual void setWindowSize(int width, int height);
460
461 virtual void setWindowText(::std::string const& title);
462
463 virtual ::std::optional<::OperationMode> getOperationMode() const;
464
465 virtual bool allowContentLogWriteToDisk();
466
467 virtual uint getMaxClubsRequests() const;
468
469 virtual void queueForMainThread_DEPRECATED(::std::function<void()>) = 0;
470
471 virtual ::MPMCQueue<::std::function<void()>>& getMainThreadQueue() = 0;
472
473 virtual bool supportsLaunchingLegacyVersion() const;
474
475 virtual void launchLegacyVersion();
476
477 virtual bool canManageLegacyData() const;
478
479 virtual bool supportsDayOneExperience() const;
480
481 virtual bool canMigrateWorldData() const;
482
483 virtual bool isContentAutoUpdateAllowed() const;
484
485 virtual int getMaxSimultaneousDownloads() const;
486
487 virtual uint getMaxSimultaneousServiceRequests() const;
488
489 virtual bool isDownloadAndImportBlocking() const;
490
491 virtual bool isDownloadBuffered() const;
492
493 virtual bool supportsAutoSaveOnDBCompaction() const;
494
495 virtual ::std::string getTextBoxBackend() const = 0;
496
497 virtual void setTextBoxBackend(::std::string const&) = 0;
498
499 virtual int getCaretPosition() const = 0;
500
501 virtual void setCaretPosition(int) = 0;
502
503 virtual bool supportsVibration() const;
504
505 virtual void vibrate(int milliSeconds);
506
507 virtual ::Core::PathBuffer<::std::string> getAssetFileFullPath(::Core::Path const& filename);
508
509 virtual ::std::string _readAssetFileInternal(::Core::Path const& filename);
510
511 virtual bool hasAssetFile(::Core::Path const& filename);
512
513 virtual bool copyAssetFile(::Core::Path const& filename, ::Core::Path const& destination);
514
515 virtual ::std::set<::Core::PathBuffer<::std::string>>
516 listAssetFilesIn(::Core::Path const& path, ::std::string const& extension) const;
517
518 virtual bool supportsClientUpdate() const;
519
520 virtual ::std::string getClientUpdateUrl() const;
521
522 virtual int checkLicense();
523
524 virtual bool hasBuyButtonWhenInvalidLicense();
525
526 virtual bool isNetworkAvailable() const /*override*/;
527
528 virtual bool isLANAvailable() const /*override*/;
529
530 virtual bool isNetworkEnabled(bool onlyWifiAllowed) const /*override*/;
531
532 virtual void setNetworkAllowed(bool allowed);
533
534 virtual bool isNetworkAllowed() const;
535
536 virtual bool isInternetAvailable() const /*override*/;
537
538 virtual ::std::optional<bool> isOnWifiConnectionTelemetryValue();
539
540 virtual ::NetworkConnectionType getNetworkConnectionType();
541
542 virtual void setNetworkConnectionType(::NetworkConnectionType connectionType);
543
544 virtual int getDefaultNetworkMaxPlayers() const;
545
546 virtual bool multiplayerRequiresPremiumAccess() const /*override*/;
547
548 virtual bool multiplayerRequiresUGCEnabled() const /*override*/;
549
550 virtual bool isCrossPlatformToggleVisible() const;
551
552 virtual bool isTelemetryAllowed();
553
554 virtual bool isTrialWorldsTransferToFullGameAllowed() const;
555
556 virtual void buyGame();
557
558 virtual void finish();
559
560 virtual bool canLaunchUri(::std::string const& uri);
561
562 virtual void launchUri(::std::string const& uri);
563
564 virtual void launchSettings();
565
566 virtual bool useXboxControlHelpers() const;
567
568 virtual ::PlatformType getPlatformType() const;
569
570 virtual bool isCentennial() const;
571
572 virtual ::std::string getPackageFamilyName() const;
573
574 virtual ::BuildPlatform getBuildPlatform() const /*override*/;
575
576 virtual ::std::string getSubPlatformString() const = 0;
577
578 virtual int getNumberOfParticleFramesToInterpolate() const;
579
580 virtual int getDpi() const;
581
582 virtual void setDpi(int dpi);
583
584 virtual ::UIScalingRules getUIScalingRules() const;
585
586 virtual void setUIScalingRules(::UIScalingRules UIScalingRules);
587
588 virtual bool hasIDEProfiler();
589
590 virtual ::std::string getPlatformStringVar(int stringId);
591
592 virtual ::std::string getApplicationId() const = 0;
593
594 virtual uint64 getFreeMemory() const = 0;
595
596 virtual uint64 getMemoryLimit() const = 0;
597
598 virtual uint64 getUsedMemory() = 0;
599
600 virtual uint64 getTotalPhysicalMemory() const = 0;
601
602 virtual uint64 getMaximumUsedMemory();
603
604 virtual uint64 getLowMemoryEventThreshold(::LowMemorySeverity) const;
605
606 virtual uint64 getLowMemoryEventRecoveryThreshold(::LowMemorySeverity severity) const;
607
608 virtual uint64 getLowPhysicalMemoryThreshold() const /*override*/;
609
610 virtual void calculateIfLowMemoryDevice();
611
612 virtual bool isLowMemoryDevice() const /*override*/;
613
614 virtual bool isLowPhysicalMemoryDevice() const /*override*/;
615
616 virtual uint64 getTextureMemoryBudget() const;
617
618 virtual uint64 getSingleMipDefaultMemoryBudget() const;
619
620 virtual void readyForApplicationExitInfo() const;
621
622 virtual ::DeviceSunsetTier getDeviceSunsetTier() const;
623
624 virtual int getMaxSimRadiusInChunks() const;
625
626 virtual ::std::vector<::std::string> getBroadcastAddresses();
627
628 virtual ::std::vector<::std::string> getIPAddresses();
629
630 virtual bool useAppPlatformForTelemetryIPAddress();
631
632 virtual ::std::string getModelName();
633
634 virtual bool usesHDRBrightness() const;
635
636 virtual void updateBootstrapSettingsFromTreatmentsAsync();
637
638#ifdef LL_PLAT_C
639 virtual ::std::string getDeviceId() const /*override*/;
640
641 virtual ::std::string createUUID() = 0;
642
643 virtual bool isTablet() const = 0;
644
645 virtual void registerUriListener(::UriListener& listener);
646
647 virtual void registerUriListener(::std::string const& verb, ::UriListener& listener);
648
649 virtual void unregisterUriListener(::UriListener const& listener);
650
651 virtual void notifyUriListeners(::ActivationUri const& uri);
652
653 virtual void notifyUriListenerRegistrationDone();
654
655#endif
656 virtual void setFullscreenMode(::FullscreenMode const fullscreenMode);
657
658 virtual bool isNetworkThrottled() const;
659
660 virtual bool isLANAllowed() const /*override*/;
661
662 virtual bool doesLANRequireMultiplayerRestrictions() const;
663
664 virtual void collectGraphicsHardwareDetails();
665
666 virtual ::std::string getEdition() const;
667
668 virtual ::OsVersion getOSVersion() const;
669
670 virtual void setThreadsFrozen(bool frozen);
671
672 virtual bool areThreadsFrozen() const;
673
674 virtual float getDefaultSafeZoneScaleX() const;
675
676 virtual float getDefaultSafeZoneScaleY() const;
677
678 virtual float getDefaultSafeZoneScaleAll() const;
679
680 virtual float getDefaultScreenPositionX() const;
681
682 virtual float getDefaultScreenPositionY() const;
683
684 virtual bool isQuitCapable() const;
685
686 virtual bool requireControllerAtStartup() const;
687
688 virtual bool notifyControllerConnectionStateChange() const;
689
690 virtual bool platformRequiresControllerApplet() const;
691
692 virtual ::InputMode getDefaultInputMode() const;
693
694 virtual ::AppFocusState getFocusState();
695
696 virtual ::AppLifecycleContext& getAppLifecycleContext();
697
698 virtual uint64 calculateAvailableDiskFreeSpace(::Core::Path const&) = 0;
699
700 virtual bool supportsFliteTTS() const;
701
702 virtual ::std::unique_ptr<::SecureStorage> getSecureStorage();
703
704 virtual ::SecureStorageKey getSecureStorageKey(::std::string const& key) /*override*/;
705
706 virtual void setSecureStorageKey(::std::string const& key, ::SecureStorageKey const& value) /*override*/;
707
708 virtual bool devHotReloadRenderResources() const;
709
710 virtual bool shouldPauseDownloadsWhenEnterGame() const;
711
712 virtual bool compareAppReceiptToLocalReceipt(::std::string const& otherReceipt);
713
714 virtual ::mce::UUID const& getThirdPartyPackUUID() const;
715
716 virtual bool saveTreatmentPacksAsZips() const;
717
718 virtual bool saveEncryptedPacksAsZips() const;
719
720 virtual bool saveEncryptedWorldTemplatePacksAsZips() const;
721
722 virtual bool allowsResourcePackDevelopment() const;
723
724 virtual bool supportsLegacySinglePremiumCacheDirectory() const;
725
726 virtual bool supportsWorldShare() const;
727
728 virtual bool hasJournalingFilesystem() const;
729
730 virtual bool isAutoCompactionEnabled() const;
731
732 virtual ::std::chrono::nanoseconds getLevelSaveInterval() const;
733
734 virtual ::std::chrono::nanoseconds getOptionsSaveInterval() const;
735
736 virtual bool hasPlatformSpecificInvites() const /*override*/;
737
738 virtual bool usePlatformProfilePicturesOnly() const;
739
740 virtual bool allowBetaXblSignIn() const;
741
742 virtual bool requiresXboxLiveSigninToPlay() const;
743
744 virtual bool requiresLiveGoldForMultiplayer() const;
745
746 virtual bool shouldRegisterForXboxLiveNotifications() const;
747
748 virtual bool isRealmsEnabled() const /*override*/;
749
750 virtual bool minimizeBackgroundDownloads() const;
751
752 virtual bool requiresAutoSaveIconExplanationPopup() const;
753
754 virtual ::IPlatformScreenshots& getPlatformScreenshots();
755
756 virtual ::std::vector<::std::shared_ptr<::Social::MultiplayerService>> getMultiplayerServiceListToRegister() const;
757
758 virtual ::std::vector<::Social::MultiplayerServiceIdentifier>
759 getBroadcastingMultiplayerServiceIds(bool xblBroadcast, bool platformBroadcast) const /*override*/;
760
761 virtual uint maxFileDataRequestConcurrency() const;
762
763 virtual void goToExternalConsumablesStoreListing() const /*override*/;
764
765 virtual float getStoreNetworkFailureTimeout() const;
766
767 virtual ::std::shared_ptr<::Core::FileStorageArea>
768 createLoggingStorageArea(::Core::FileAccessType fileAccessType, ::Core::PathView loggingPath);
769
770 virtual void handlePlatformSpecificCommerceError(uint error);
771
772 virtual bool isEduMode() const;
773
774 virtual bool importAsFlatFile() const;
775
776 virtual bool isWebviewSupported() const;
777
778 virtual ::std::shared_ptr<::WebviewInterface> createWebview(::Webview::PlatformArguments&&) const;
779
780 virtual bool canAppSelfTerminate() const = 0;
781
782 virtual bool getPlatformTTSExists() const;
783
784 virtual bool getPlatformTTSEnabled() const;
785
786 virtual ::std::variant<::HWND__*, ::std::monostate> getRenderSurfaceParameters() const;
787
788 virtual bool shouldRemoveGraphicsDeviceOnAppTermination() const;
789
790 virtual bool isJoinableViaExternalServers() const;
791
792 virtual void onPrimaryUserNetworkReady();
793
794 virtual bool isDisplayInitialized() const;
795
796 virtual bool usesAsyncOptionSaving() const;
797
798 virtual void showPlatformStoreIcon(bool shouldShow);
799
800 virtual void showPlatformEmptyStoreDialog(::std::function<void(bool)>&& callback) /*override*/;
801
802#ifdef LL_PLAT_C
803 virtual void showXboxLiveUserSettings();
804
805#endif
806 virtual void initializeGameStreaming();
807
808 virtual void notifyNetworkConfigurationChanged();
809
810 virtual void setKeepScreenOnFlag(bool);
811
812 virtual void initializeMulticast() const;
813
814 virtual void requestMulticastReceivePermission();
815
816 virtual bool hasMulticastReceivePermission() const;
817
818 virtual void releaseMulticastReceivePermission() const;
819
820 virtual void onMinecraftGameInitComplete();
821
822 virtual void onFullGameUnlock();
823
824 virtual bool is24HourTimeFormat() const;
825
826 virtual ::Bedrock::Threading::Async<bool> showOSUserDialog(::std::string, ::std::string, ::std::string);
827
828#ifdef LL_PLAT_C
829 virtual ::Bedrock::NotNullNonOwnerPtr<::ThrottledFileWriteManager> getThrottledFileWriteManager() const;
830
831#endif
832 virtual ::Core::PathBuffer<::std::string> _getCurrentStoragePath() const = 0;
833
834 virtual ::Core::PathBuffer<::std::string> _getExternalStoragePath() const = 0;
835
836 virtual ::Core::PathBuffer<::std::string> _getInternalStoragePath() const = 0;
837
838 virtual ::Core::PathBuffer<::std::string> _getUserdataPath() const = 0;
839
840#ifdef LL_PLAT_C
841 virtual void _notifyUriListeners(::ActivationUri const& uri, bool ignoreVerb);
842
843#endif
844 virtual bool _tryEnableCPUBoost();
845
846 virtual void _disableCPUBoost();
847
848 virtual void _initializeFileStorageAreas();
849
850 virtual void _teardownFileStorageAreas();
851
852 virtual int getPlatformDpi() const;
853
854 virtual ::UIScalingRules getPlatformUIScalingRules() const;
855
856 virtual ::Core::PathBuffer<::std::string> getPlatformTempPath() const = 0;
857
858 virtual void _onInitialize();
859
860 virtual void _onTeardown();
861 // NOLINTEND
862
863public:
864 // member functions
865 // NOLINTBEGIN
866 MCAPI AppPlatform(bool registerService, ::std::unique_ptr<::IAppPlatformImpl> impl);
867
868 MCAPI_C void _clipboardCopyHandler(::ApplicationSignal::ClipboardCopy const& signal);
869
870 MCAPI_C void _clipboardPasteHandler(::ApplicationSignal::ClipboardPaste const& signal);
871
872 MCAPI_C void _clipboardPasteRequestHandler(::ApplicationSignal::ClipboardPasteRequest const& signal);
873
874 MCAPI void _fireAppTerminated();
875
876 MCAPI void _initializeLoadProfiler();
877
878 MCAPI_C ::Bedrock::NotNullNonOwnerPtr<::Bedrock::IApplicationDataStores> getApplicationDataStores();
879
880 MCAPI_C ::UIProfile getDefaultUIProfile() const;
881
882 MCFOLD_S ::Core::PathBuffer<::std::string> getInternalStoragePath() const;
883
884 MCAPI ::std::optional<::std::locale> getLocaleForDateTimeFormatting() const;
885
886 MCAPI ::gsl::not_null<::Bedrock::PubSub::Connector<void(::LowMemorySeverity)>*> getOnLowMemoryConnector();
887
888 MCAPI_C double getTotalActiveSeconds();
889
890 MCFOLD ::Core::PathBuffer<::std::string> getUserdataPath() const;
891
892 MCAPI_C void loadImage(::mce::Image& out, ::Core::Path const& filename);
893
894 MCAPI_C ::mce::Image loadTexture(::Core::Path const& filename);
895
896 MCAPI_C ::mce::Image loadTextureFromStream(::std::string const& fileStream);
897
898 MCAPI_C bool requiresNetworkOutageMessaging() const;
899
900 MCAPI_C void setShareData(::std::string shareTitle, ::std::string shareText, ::std::string shareUri);
901 // NOLINTEND
902
903public:
904 // static functions
905 // NOLINTBEGIN
906 MCAPI_C static bool updateImGuiKeyboard(uchar param, bool isDown);
907 // NOLINTEND
908
909public:
910 // static variables
911 // NOLINTBEGIN
912 MCAPI static ::Core::PathBuffer<::Core::BasicStackString<char, 1024>> const& HOME_PATH();
913
914 MCAPI static ::Core::PathBuffer<::Core::BasicStackString<char, 1024>> const& LOG_PATH();
915
916 MCAPI static ::Core::PathBuffer<::Core::BasicStackString<char, 1024>> const& SETTINGS_PATH();
917
918 MCAPI static ::Core::PathBuffer<::Core::BasicStackString<char, 1024>> const& SHADERCACHE_PATH();
919
920 MCAPI_C static bool& mIsInitialized();
921
922 MCAPI_C static ::ActivationUri& mPendingProtocolActivation();
923
924 MCAPI_C static ::Bedrock::Threading::Mutex& mProtocolMutex();
925 // NOLINTEND
926
927public:
928 // constructor thunks
929 // NOLINTBEGIN
930 MCAPI void* $ctor(bool registerService, ::std::unique_ptr<::IAppPlatformImpl> impl);
931 // NOLINTEND
932
933public:
934 // destructor thunk
935 // NOLINTBEGIN
936 MCAPI void $dtor();
937 // NOLINTEND
938
939public:
940 // virtual function thunks
941 // NOLINTBEGIN
942 MCAPI void $initialize();
943
944 MCAPI void $teardown();
945
946 MCAPI void $initAppPlatformNetworkSettings();
947
948 MCFOLD void $initializeScreenDependentResources();
949
950 MCAPI uint64 $getHighPerformanceThreadsCount() const;
951
952 MCAPI uint64 $getTotalHardwareThreadsCount() const;
953
954 MCFOLD void $initializeGraphicsDeviceTier();
955
956 MCAPI void $addListener(::AppPlatformListener* l, float priority);
957
958 MCAPI void $removeListener(::AppPlatformListener* l);
959
960 MCAPI void $restartApp(bool restart);
961
962 MCFOLD bool $restartRequested();
963
964 MCFOLD int const $numberOfThrottledTreatmentPacksToImportPerMinute() const;
965
966 MCFOLD bool const $areTreatmentPacksThrottled() const;
967
968 MCAPI ::HardwareMemoryTierUtil const& $getHardwareMemoryTierUtil() const;
969
970 MCAPI ::Bedrock::Threading::Async<::IntegrityTokenResult> $requestIntegrityToken(::std::string const& nonceToken);
971
972 MCFOLD void $setIntegrityToken(::std::string const& integrityToken);
973
974 MCFOLD void $setIntegrityTokenErrorMessage(::std::string const& errorMessage);
975
976 MCFOLD bool $supportsInPackageRecursion() const;
977
978 MCFOLD bool $supportsXboxLiveAchievements() const;
979
980 MCFOLD void $hideSplashScreen();
981
982 MCAPI ::std::string $getFeedbackBugsLink() const;
983
984 MCAPI ::std::string $getFeedbackHelpLink() const;
985
986 MCAPI auto $getModalErrorMessageProc() -> ::AssertDialogResponse (*)(::std::string const&, ::std::string const&);
987
988 MCFOLD void $updateLocalization(::std::string const& loc);
989
990 MCFOLD void $setSleepEnabled(bool enabled);
991
992 MCAPI ::Core::PathBuffer<::std::string> $getScratchPath();
993
994 MCFOLD ::Core::PathBuffer<::std::string> $getInternalPackStoragePath() const;
995
996 MCAPI ::Core::PathBuffer<::std::string> $getSettingsPath();
997
998 MCFOLD ::Core::PathBuffer<::std::string> $getLoggingPath() const;
999
1000 MCFOLD ::Core::PathBuffer<::std::string> $getPackagedShaderCachePath();
1001
1002 MCAPI ::Core::PathBuffer<::std::string> $getShaderCachePath();
1003
1004 MCFOLD ::Core::PathBuffer<::std::string> $getUserdataPathForLevels() const;
1005
1006 MCFOLD ::Core::PathBuffer<::std::string> $getCacheStoragePath();
1007
1008 MCFOLD ::Core::PathBuffer<::std::string> $getOnDiskScratchPath();
1009
1010 MCAPI ::Core::PathBuffer<::std::string> $getOnDiskPackScratchPath();
1011
1012 MCFOLD ::Core::PathBuffer<::std::string> $getLevelInfoCachePath() const;
1013
1014 MCFOLD ::Core::PathBuffer<::std::string> $getCatalogSearchScratchPath();
1015
1016 MCAPI ::Core::PathBuffer<::std::string> $getUserStorageRootPath() const;
1017
1018 MCFOLD ::std::shared_ptr<::Core::FileStorageArea> $getOrCreateStorageAreaForUser(::Social::UserCreationData const&);
1019
1020 MCFOLD bool $hasSeparatedStorageAreasForContentAcquisition() const;
1021
1022 MCFOLD uint64 $getOptimalLDBSize();
1023
1024 MCAPI int $getMaxLDBFilesOpen() const;
1025
1026 MCFOLD bool $getDisableLDBSeekCompactions() const;
1027
1028 MCFOLD void $showDialog(int dialogId);
1029
1030 MCFOLD void $createUserInput();
1031
1032 MCAPI void $createUserInput(int dialogId);
1033
1034 MCFOLD int $getUserInputStatus();
1035
1036 MCFOLD ::std::vector<::std::string> $getUserInput();
1037
1038 MCAPI ::Bedrock::NotNullNonOwnerPtr<::IFileAccess> $getFileAccess(::ResourceFileSystem fileSystem);
1039
1040 MCAPI ::Core::PathBuffer<::std::string> $copyImportFileToTempFolder(::Core::Path const& filePath);
1041
1042 MCFOLD void $registerFileForCollectionWithCrashDump(::Core::Path const& fileName);
1043
1044 MCFOLD void $registerExperimentsActiveCrashDump(::std::vector<::std::string> const& activeExperiments) const;
1045
1046 MCAPI int $getScreenWidth() const;
1047
1048 MCAPI int $getScreenHeight() const;
1049
1050 MCAPI int $getDisplayWidth();
1051
1052 MCAPI int $getDisplayHeight();
1053
1054 MCFOLD void $setScreenSize(int width, int height);
1055
1056 MCFOLD void $setWindowSize(int width, int height);
1057
1058 MCFOLD void $setWindowText(::std::string const& title);
1059
1060 MCFOLD ::std::optional<::OperationMode> $getOperationMode() const;
1061
1062 MCFOLD bool $allowContentLogWriteToDisk();
1063
1064 MCFOLD uint $getMaxClubsRequests() const;
1065
1066 MCFOLD bool $supportsLaunchingLegacyVersion() const;
1067
1068 MCFOLD void $launchLegacyVersion();
1069
1070 MCFOLD bool $canManageLegacyData() const;
1071
1072 MCFOLD bool $supportsDayOneExperience() const;
1073
1074 MCFOLD bool $canMigrateWorldData() const;
1075
1076 MCFOLD bool $isContentAutoUpdateAllowed() const;
1077
1078 MCAPI int $getMaxSimultaneousDownloads() const;
1079
1080 MCFOLD uint $getMaxSimultaneousServiceRequests() const;
1081
1082 MCFOLD bool $isDownloadAndImportBlocking() const;
1083
1084 MCFOLD bool $isDownloadBuffered() const;
1085
1086 MCFOLD bool $supportsAutoSaveOnDBCompaction() const;
1087
1088 MCFOLD bool $supportsVibration() const;
1089
1090 MCFOLD void $vibrate(int milliSeconds);
1091
1092 MCAPI ::Core::PathBuffer<::std::string> $getAssetFileFullPath(::Core::Path const& filename);
1093
1094 MCAPI ::std::string $_readAssetFileInternal(::Core::Path const& filename);
1095
1096 MCAPI bool $hasAssetFile(::Core::Path const& filename);
1097
1098 MCAPI bool $copyAssetFile(::Core::Path const& filename, ::Core::Path const& destination);
1099
1100 MCAPI ::std::set<::Core::PathBuffer<::std::string>>
1101 $listAssetFilesIn(::Core::Path const& path, ::std::string const& extension) const;
1102
1103 MCFOLD bool $supportsClientUpdate() const;
1104
1105 MCAPI ::std::string $getClientUpdateUrl() const;
1106
1107 MCFOLD int $checkLicense();
1108
1109 MCFOLD bool $hasBuyButtonWhenInvalidLicense();
1110
1111 MCAPI bool $isNetworkAvailable() const;
1112
1113 MCFOLD bool $isLANAvailable() const;
1114
1115 MCFOLD bool $isNetworkEnabled(bool onlyWifiAllowed) const;
1116
1117 MCFOLD void $setNetworkAllowed(bool allowed);
1118
1119 MCFOLD bool $isNetworkAllowed() const;
1120
1121 MCFOLD bool $isInternetAvailable() const;
1122
1123 MCFOLD ::std::optional<bool> $isOnWifiConnectionTelemetryValue();
1124
1125 MCFOLD ::NetworkConnectionType $getNetworkConnectionType();
1126
1127 MCAPI void $setNetworkConnectionType(::NetworkConnectionType connectionType);
1128
1129 MCAPI int $getDefaultNetworkMaxPlayers() const;
1130
1131 MCFOLD bool $multiplayerRequiresPremiumAccess() const;
1132
1133 MCFOLD bool $multiplayerRequiresUGCEnabled() const;
1134
1135 MCFOLD bool $isCrossPlatformToggleVisible() const;
1136
1137 MCFOLD bool $isTelemetryAllowed();
1138
1139 MCFOLD void $buyGame();
1140
1141 MCFOLD void $finish();
1142
1143 MCFOLD bool $canLaunchUri(::std::string const& uri);
1144
1145 MCFOLD void $launchUri(::std::string const& uri);
1146
1147 MCFOLD void $launchSettings();
1148
1149 MCFOLD bool $useXboxControlHelpers() const;
1150
1151 MCFOLD ::PlatformType $getPlatformType() const;
1152
1153 MCFOLD bool $isCentennial() const;
1154
1155 MCFOLD ::std::string $getPackageFamilyName() const;
1156
1157 MCFOLD ::BuildPlatform $getBuildPlatform() const;
1158
1159 MCFOLD int $getNumberOfParticleFramesToInterpolate() const;
1160
1161 MCAPI int $getDpi() const;
1162
1163 MCAPI void $setDpi(int dpi);
1164
1165 MCAPI ::UIScalingRules $getUIScalingRules() const;
1166
1167 MCAPI void $setUIScalingRules(::UIScalingRules UIScalingRules);
1168
1169 MCFOLD bool $hasIDEProfiler();
1170
1171 MCAPI ::std::string $getPlatformStringVar(int stringId);
1172
1173 MCAPI uint64 $getMaximumUsedMemory();
1174
1175 MCAPI uint64 $getLowPhysicalMemoryThreshold() const;
1176
1177 MCAPI void $calculateIfLowMemoryDevice();
1178
1179 MCAPI bool $isLowMemoryDevice() const;
1180
1181 MCAPI bool $isLowPhysicalMemoryDevice() const;
1182
1183 MCFOLD uint64 $getTextureMemoryBudget() const;
1184
1185 MCFOLD uint64 $getSingleMipDefaultMemoryBudget() const;
1186
1187 MCFOLD void $readyForApplicationExitInfo() const;
1188
1189 MCFOLD ::DeviceSunsetTier $getDeviceSunsetTier() const;
1190
1191 MCAPI int $getMaxSimRadiusInChunks() const;
1192
1193 MCFOLD ::std::vector<::std::string> $getBroadcastAddresses();
1194
1195 MCFOLD ::std::vector<::std::string> $getIPAddresses();
1196
1197 MCFOLD bool $useAppPlatformForTelemetryIPAddress();
1198
1199 MCAPI ::std::string $getModelName();
1200
1201 MCFOLD bool $usesHDRBrightness() const;
1202
1203 MCFOLD void $updateBootstrapSettingsFromTreatmentsAsync();
1204
1205 MCFOLD void $setFullscreenMode(::FullscreenMode const fullscreenMode);
1206
1207 MCAPI bool $isNetworkThrottled() const;
1208
1209 MCFOLD bool $isLANAllowed() const;
1210
1211 MCFOLD bool $doesLANRequireMultiplayerRestrictions() const;
1212
1213 MCAPI void $collectGraphicsHardwareDetails();
1214
1215 MCAPI ::std::string $getEdition() const;
1216
1217 MCFOLD ::OsVersion $getOSVersion() const;
1218
1219 MCAPI void $setThreadsFrozen(bool frozen);
1220
1221 MCAPI bool $areThreadsFrozen() const;
1222
1223 MCFOLD float $getDefaultSafeZoneScaleX() const;
1224
1225 MCFOLD float $getDefaultSafeZoneScaleY() const;
1226
1227 MCFOLD float $getDefaultSafeZoneScaleAll() const;
1228
1229 MCFOLD float $getDefaultScreenPositionX() const;
1230
1231 MCFOLD float $getDefaultScreenPositionY() const;
1232
1233 MCAPI bool $isQuitCapable() const;
1234
1235 MCFOLD bool $requireControllerAtStartup() const;
1236
1237 MCFOLD bool $notifyControllerConnectionStateChange() const;
1238
1239 MCFOLD bool $platformRequiresControllerApplet() const;
1240
1241#ifdef LL_PLAT_S
1242 MCAPI ::InputMode $getDefaultInputMode() const;
1243#endif
1244
1245 MCAPI ::AppFocusState $getFocusState();
1246
1247 MCFOLD ::AppLifecycleContext& $getAppLifecycleContext();
1248
1249 MCFOLD bool $supportsFliteTTS() const;
1250
1251 MCAPI ::std::unique_ptr<::SecureStorage> $getSecureStorage();
1252
1253 MCAPI ::SecureStorageKey $getSecureStorageKey(::std::string const& key);
1254
1255 MCFOLD void $setSecureStorageKey(::std::string const& key, ::SecureStorageKey const& value);
1256
1257 MCFOLD bool $devHotReloadRenderResources() const;
1258
1259 MCFOLD bool $shouldPauseDownloadsWhenEnterGame() const;
1260
1261 MCFOLD bool $compareAppReceiptToLocalReceipt(::std::string const& otherReceipt);
1262
1263 MCAPI ::mce::UUID const& $getThirdPartyPackUUID() const;
1264
1265 MCFOLD bool $saveTreatmentPacksAsZips() const;
1266
1267 MCFOLD bool $saveEncryptedPacksAsZips() const;
1268
1269 MCFOLD bool $saveEncryptedWorldTemplatePacksAsZips() const;
1270
1271 MCFOLD bool $allowsResourcePackDevelopment() const;
1272
1273 MCFOLD bool $supportsLegacySinglePremiumCacheDirectory() const;
1274
1275 MCFOLD bool $supportsWorldShare() const;
1276
1277 MCFOLD bool $hasJournalingFilesystem() const;
1278
1279 MCFOLD bool $isAutoCompactionEnabled() const;
1280
1281 MCAPI ::std::chrono::nanoseconds $getLevelSaveInterval() const;
1282
1283 MCAPI ::std::chrono::nanoseconds $getOptionsSaveInterval() const;
1284
1285 MCFOLD bool $hasPlatformSpecificInvites() const;
1286
1287 MCFOLD bool $usePlatformProfilePicturesOnly() const;
1288
1289 MCFOLD bool $allowBetaXblSignIn() const;
1290
1291 MCFOLD bool $requiresXboxLiveSigninToPlay() const;
1292
1293 MCFOLD bool $requiresLiveGoldForMultiplayer() const;
1294
1295 MCFOLD bool $shouldRegisterForXboxLiveNotifications() const;
1296
1297 MCAPI bool $isRealmsEnabled() const;
1298
1299 MCFOLD bool $minimizeBackgroundDownloads() const;
1300
1301 MCFOLD bool $requiresAutoSaveIconExplanationPopup() const;
1302
1303 MCAPI ::IPlatformScreenshots& $getPlatformScreenshots();
1304
1305 MCFOLD ::std::vector<::std::shared_ptr<::Social::MultiplayerService>> $getMultiplayerServiceListToRegister() const;
1306
1307 MCFOLD ::std::vector<::Social::MultiplayerServiceIdentifier>
1308 $getBroadcastingMultiplayerServiceIds(bool xblBroadcast, bool platformBroadcast) const;
1309
1310 MCFOLD uint $maxFileDataRequestConcurrency() const;
1311
1312 MCFOLD void $goToExternalConsumablesStoreListing() const;
1313
1314 MCAPI float $getStoreNetworkFailureTimeout() const;
1315
1316 MCAPI ::std::shared_ptr<::Core::FileStorageArea>
1317 $createLoggingStorageArea(::Core::FileAccessType fileAccessType, ::Core::PathView loggingPath);
1318
1319 MCFOLD void $handlePlatformSpecificCommerceError(uint error);
1320
1321 MCFOLD bool $isEduMode() const;
1322
1323 MCFOLD bool $importAsFlatFile() const;
1324
1325 MCFOLD bool $isWebviewSupported() const;
1326
1327 MCFOLD ::std::shared_ptr<::WebviewInterface> $createWebview(::Webview::PlatformArguments&&) const;
1328
1329 MCFOLD bool $getPlatformTTSExists() const;
1330
1331 MCFOLD bool $getPlatformTTSEnabled() const;
1332
1333 MCAPI ::std::variant<::HWND__*, ::std::monostate> $getRenderSurfaceParameters() const;
1334
1335 MCFOLD bool $shouldRemoveGraphicsDeviceOnAppTermination() const;
1336
1337 MCFOLD bool $isJoinableViaExternalServers() const;
1338
1339 MCFOLD void $onPrimaryUserNetworkReady();
1340
1341 MCFOLD bool $isDisplayInitialized() const;
1342
1343 MCFOLD bool $usesAsyncOptionSaving() const;
1344
1345 MCFOLD void $showPlatformStoreIcon(bool shouldShow);
1346
1347 MCAPI void $showPlatformEmptyStoreDialog(::std::function<void(bool)>&& callback);
1348
1349 MCFOLD void $initializeGameStreaming();
1350
1351 MCAPI void $notifyNetworkConfigurationChanged();
1352
1353 MCFOLD void $setKeepScreenOnFlag(bool);
1354
1355 MCFOLD void $initializeMulticast() const;
1356
1357 MCFOLD void $requestMulticastReceivePermission();
1358
1359 MCFOLD bool $hasMulticastReceivePermission() const;
1360
1361 MCFOLD void $releaseMulticastReceivePermission() const;
1362
1363 MCFOLD void $onMinecraftGameInitComplete();
1364
1365 MCFOLD void $onFullGameUnlock();
1366
1367 MCFOLD bool $is24HourTimeFormat() const;
1368
1369 MCAPI ::Bedrock::Threading::Async<bool> $showOSUserDialog(::std::string, ::std::string, ::std::string);
1370
1371 MCFOLD bool $_tryEnableCPUBoost();
1372
1373 MCFOLD void $_disableCPUBoost();
1374
1375 MCFOLD void $_initializeFileStorageAreas();
1376
1377 MCAPI void $_teardownFileStorageAreas();
1378
1379 MCFOLD int $getPlatformDpi() const;
1380
1381 MCAPI ::UIScalingRules $getPlatformUIScalingRules() const;
1382
1383 MCFOLD void $_onInitialize();
1384
1385 MCFOLD void $_onTeardown();
1386
1387#ifdef LL_PLAT_C
1388 MCFOLD void $loadPNG(::mce::Image& out, ::Core::Path const& filename);
1389
1390 MCFOLD void $loadTGA(::mce::Image& out, ::Core::Path const& filename);
1391
1392 MCFOLD void $loadJPEG(::mce::Image& out, ::Core::Path const& filename);
1393
1394 MCFOLD int $getKeyFromKeyCode(int keyCode, int metaState, int deviceId);
1395
1396 MCFOLD void $textEditComponentGainedFocus(::std::string const&, int, bool, bool, bool);
1397
1398 MCFOLD void $textEditComponentLostFocus();
1399
1400 MCFOLD void $hideKeyboard();
1401
1402 MCAPI bool $blankLineDismissesChat() const;
1403
1404 MCFOLD bool $signWrapsTextEntry() const;
1405
1406 MCFOLD bool $isFullScreenKeyboard() const;
1407
1408 MCFOLD bool $actionSuspendsApp(::AppAction) const;
1409
1410 MCFOLD float $getKeyboardHeight() const;
1411
1412 MCAPI bool $refocusMouse(bool lostMouse, bool oldMouseGrabbed);
1413
1414 MCFOLD void $hideMousePointer();
1415
1416 MCFOLD void $showMousePointer();
1417
1418 MCFOLD void $postInteractiveSignIn();
1419
1420 MCFOLD bool $useHardwareMouse();
1421
1422 MCFOLD void $provideHardwareMouseImageData(::mce::Image const& imageData);
1423
1424 MCFOLD bool $hasCustomSoftwareCursor() const;
1425
1426 MCFOLD ::Core::PathBuffer<::std::string> $getCustomSoftwareCursorAsset() const;
1427
1428 MCAPI bool $getPointerFocus();
1429
1430 MCAPI void $setPointerFocus(bool lostFocus);
1431
1432 MCFOLD void $toggleSimulateTouchWithMouse();
1433
1434 MCAPI void $_fireAppSuspended();
1435
1436 MCAPI void $_fireAppResumed();
1437
1438 MCFOLD void $_fireAppFocusLost();
1439
1440 MCAPI void $_fireAppFocusGained();
1441
1442 MCAPI void $_fireResizeBegin();
1443
1444 MCAPI void $_fireResizeEnd();
1445
1446 MCAPI void $_fireDeviceLost();
1447
1448 MCAPI void $_fireSurfaceCreated();
1449
1450 MCAPI void $_fireSurfaceDestroyed();
1451
1452 MCFOLD void $_fireAppConfigurationChanged();
1453
1454 MCAPI void $_fireAppPaused();
1455
1456 MCAPI void $_fireAppUnpaused();
1457
1458 MCFOLD void $discardBackbuffer();
1459
1460 MCAPI ::std::string $getTermsOfUseHyperlink() const;
1461
1462 MCFOLD void $pickFile(::std::shared_ptr<::FilePickerSettings> settings);
1463
1464 MCFOLD bool $supportsAlbumExport() const;
1465
1466 MCFOLD bool $supportsPDFExport() const;
1467
1468 MCFOLD ::std::shared_ptr<::PDFWriter> $createPlatformPDFWriter();
1469
1470 MCFOLD void $shareFile(::Core::Path const& path, ::std::function<void(bool)> onCompletionCallback);
1471
1472 MCFOLD bool $hasHardwareBackButton();
1473
1474 MCFOLD bool $supportsMSAA() const;
1475
1476 MCFOLD bool $supports3rdPartyServers() const;
1477
1478 MCFOLD bool $supportsManualAddedServers() const;
1479
1480 MCFOLD bool $supportsFilePicking() const;
1481
1482 MCFOLD bool $supportsTouch() const;
1483
1484 MCFOLD bool $supportsKeyboardMouse() const;
1485
1486 MCFOLD bool $supportsGamepad() const;
1487
1488 MCFOLD ::ClipboardFeatureFlags $getClipboardFeatures() const;
1489
1490 MCAPI bool $supportsClipboardSet() const;
1491
1492 MCAPI bool $supportsClipboardGet() const;
1493
1494 MCAPI bool $supportsClipboardAsyncGet() const;
1495
1496 MCFOLD void $setClipboard(::std::string const& value) const;
1497
1498 MCAPI ::std::wstring $getClipboardText() const;
1499
1500 MCFOLD void $getClipboardTextAsync(::std::function<void(::std::string const&)> callback) const;
1501
1502 MCFOLD bool $supportsShare() const;
1503
1504 MCFOLD void $share() const;
1505
1506 MCAPI bool $allowSplitScreen();
1507
1508 MCAPI float $splitScreenRenderDistScalar(uint numPlayers);
1509
1510 MCAPI float $uiOpenRenderDistScalar();
1511
1512 MCAPI void $pushNotificationReceived(::PushNotificationMessage const& msg);
1513
1514 MCAPI void $openStoragePermissionRequest(
1515 ::PermissionRequestReason reason,
1516 ::std::function<void(::StoragePermissionResult)> resultCallback
1517 );
1518
1519 MCFOLD void $setStorageDirectory(
1520 ::FileStorageDirectory dir,
1521 bool isCallback,
1522 ::PropertyBag const& extraData,
1523 ::std::function<void(bool)>
1524 );
1525
1526 MCFOLD ::FileStorageDirectory $setInitialStorageDirectory(::FileStorageDirectory dir);
1527
1528 MCFOLD ::FileStorageDirectory $getStorageDirectory() const;
1529
1530 MCFOLD void $setStorageDirectoryChangeDenied(::std::function<void(::FileStorageDirectory)> callback);
1531
1532 MCAPI ::Bedrock::PubSub::Subscription
1533 $addStorageDirectoryChangedSubscriber(::std::function<void(::Core::Path const&)>);
1534
1535 MCAPI void $runStoragePermissionResultCallback(::StoragePermissionResult result);
1536
1537 MCFOLD bool $hasExternalStoragePermission();
1538
1539 MCFOLD bool $delayOptionSaveUntilCloudSync() const;
1540
1541 MCFOLD void $updateTextEditBoxPosition(
1542 ::RectangleArea const& controlPosition,
1543 ::RectangleArea const& selectionPosition,
1544 float const guiScale
1545 );
1546
1547 MCAPI ::BatteryMonitorInterface const& $getBatteryMonitorInterface() const;
1548
1549 MCAPI ::ThermalMonitorInterface const& $getThermalMonitorInterface() const;
1550
1551 MCFOLD void $trialCorrelationStart();
1552
1553 MCAPI void $setAllowLostFocusToasts(bool allowLostFocusToasts);
1554
1555 MCAPI void $setShowLostFocusToasts(bool showLostFocusToasts);
1556
1557 MCAPI bool $getShowLostFocusToasts();
1558
1559 MCFOLD uint64 $getLowMemoryEventThreshold(::LowMemorySeverity) const;
1560
1561 MCAPI uint64 $getLowMemoryEventRecoveryThreshold(::LowMemorySeverity severity) const;
1562
1563 MCAPI ::std::string $getDeviceId() const;
1564
1565 MCAPI void $registerUriListener(::UriListener& listener);
1566
1567 MCAPI void $registerUriListener(::std::string const& verb, ::UriListener& listener);
1568
1569 MCAPI void $unregisterUriListener(::UriListener const& listener);
1570
1571 MCAPI void $notifyUriListeners(::ActivationUri const& uri);
1572
1573 MCAPI void $notifyUriListenerRegistrationDone();
1574
1575 MCFOLD void $showXboxLiveUserSettings();
1576
1577 MCAPI ::Bedrock::NotNullNonOwnerPtr<::ThrottledFileWriteManager> $getThrottledFileWriteManager() const;
1578
1579 MCAPI void $_notifyUriListeners(::ActivationUri const& uri, bool ignoreVerb);
1580#endif
1581
1582
1583 // NOLINTEND
1584
1585public:
1586 // vftables
1587 // NOLINTBEGIN
1588 MCNAPI static void** $vftableForIAppPlatform();
1589
1591 // NOLINTEND
1592};
Definition ActivationUri.h:5
Definition AppLifecycleContext.h:5
Definition AppPlatformListener.h:15
static MCAPI void ** $vftableForIAppPlatform()
static MCAPI void ** $vftableForISecureStorageKeySystem()
Definition ClipboardCopy.h:16
Definition ClipboardPasteRequest.h:10
Definition ClipboardPaste.h:16
Definition BatteryMonitorInterface.h:9
Definition IApplicationDataStores.h:16
Definition Connector.h:8
Definition Subscription.h:10
Definition Mutex.h:10
Definition FileStorageArea.h:26
Definition PathView.h:17
Definition Path.h:10
Definition FilePickerSettings.h:5
Definition HardwareMemoryTierUtil.h:16
Definition IAppPlatformImpl.h:24
Definition IAppPlatform.h:16
MCAPI void $dtor()
Definition IFileAccess.h:15
Definition IPlatformScreenshots.h:10
Definition ISecureStorageKeySystem.h:10
Definition ImagePickingCallback.h:5
Definition PDFWriter.h:11
Definition PropertyBag.h:8
Definition PushNotificationMessage.h:5
Definition RectangleArea.h:5
Definition SecureStorageKey.h:5
Definition SecureStorage.h:5
Definition ThermalMonitorInterface.h:8
Definition ThrottledFileWriteManager.h:17
Definition UriListener.h:10
Definition WebviewInterface.h:5
Definition UUID.h:7
Definition IntegrityTokenResult.h:5
Definition MultiplayerService.h:7
Definition UserCreationData.h:7
Definition PlatformArguments.h:7
Definition Alias.h:14
Definition Image.h:12