Files
UnrealEngine/Engine/Source/Runtime/WebBrowser/Public/WebBrowserModule.h
2025-05-18 13:04:45 +08:00

75 lines
1.8 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "Modules/ModuleInterface.h"
#include "Modules/ModuleManager.h"
class IWebBrowserSingleton;
/**
* WebBrowser initialization settings, can be used to override default init behaviors.
*/
struct FWebBrowserInitSettings
{
public:
/**
* Default constructor. Initializes all members with default behavior values.
*/
WEBBROWSER_API FWebBrowserInitSettings();
// The string which is appended to the browser's user-agent value.
FString ProductVersion;
};
/**
* WebBrowserModule interface
*/
class IWebBrowserModule : public IModuleInterface
{
public:
/**
* Get or load the Web Browser Module
*
* @return The loaded module
*/
static inline IWebBrowserModule& Get()
{
return FModuleManager::LoadModuleChecked< IWebBrowserModule >("WebBrowser");
}
/**
* Check whether the module has already been loaded
*
* @return True if the module is loaded
*/
static inline bool IsAvailable()
{
return FModuleManager::Get().IsModuleLoaded("WebBrowser");
}
/**
* 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 FWebBrowserInitSettings& WebBrowserInitSettings) = 0;
/**
* Get the Web Browser Singleton
*
* @return The Web Browser Singleton
*/
virtual IWebBrowserSingleton* GetSingleton() = 0;
/**
* Check whether the web module loaded its requirements successfully
*
* @return True if the module load worked
*/
virtual bool IsWebModuleAvailable() const = 0;
};