// Engine/Source/Runtime/WebBrowser/Public/WebBrowserModule.h #pragma once #include "CoreMinimal.h" #include "Modules/ModuleInterface.h" #include "Modules/ModuleManager.h" class IWebInterfaceBrowserSingleton; /** * WebBrowser initialization settings, can be used to override default init behaviors. */ struct WEBBROWSERUI_API FWebInterfaceBrowserInitSettings { public: /** * Default constructor. Initializes all members with default behavior values. */ FWebInterfaceBrowserInitSettings(); // The string which is appended to the browser's user-agent value. FString ProductVersion; }; /** * WebBrowserModule interface */ class IWebInterfaceBrowserModule : public IModuleInterface { public: /** * Get or load the Web Browser Module * * @return The loaded module */ static inline IWebInterfaceBrowserModule& Get() { return FModuleManager::LoadModuleChecked< IWebInterfaceBrowserModule >("WebBrowserUI"); } /** * Check whether the module has already been loaded * * @return True if the module is loaded */ static inline bool IsAvailable() { return FModuleManager::Get().IsModuleLoaded("WebBrowserUI"); } /** * Customize initialization settings. You must call this before the first GetSingleton call, in order to override init settings. * * @param WebBrowserInitSettings The custom settings. * @return true if the settings were used to initialize the singleton. False if the call was ignored due to singleton already existing. */ virtual bool CustomInitialize(const FWebInterfaceBrowserInitSettings& WebBrowserInitSettings) = 0; /** * Get the Web Browser Singleton * * @return The Web Browser Singleton */ virtual IWebInterfaceBrowserSingleton* GetSingleton() = 0; /** * Check whether the web module loaded its requirements successfully * * @return True if the module load worked */ virtual bool IsWebModuleAvailable() const = 0; };