5#include "Containers/Array.h"
15#include "Misc/Optional.h"
21class IAnalyticsProviderET;
27 struct FContentRequestSharedContext;
183 UE_DEPRECATED(5.7,
"Use overload with EInstallBundleCacheStatsFlags")
242#if !UE_BUILD_SHIPPING
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_DELEGATE_RetVal_OneParam(ReturnValueType, DelegateName, Param1Type)
Definition DelegateCombinations.h:54
#define DECLARE_DELEGATE_RetVal(ReturnValueType, DelegateName)
Definition DelegateCombinations.h:41
#define DECLARE_DELEGATE(DelegateName)
Definition DelegateCombinations.h:20
#define DECLARE_DELEGATE_OneParam(DelegateName, Param1Type)
Definition DelegateCombinations.h:48
#define DECLARE_MULTICAST_DELEGATE_OneParam(DelegateName, Param1Type)
Definition DelegateCombinations.h:49
const void * FDelegateUserObjectConst
Definition IDelegateInstance.h:108
EInstallBundleManagerInitErrorHandlerResult
Definition InstallBundleManagerInterface.h:88
EInstallBundleReleaseRequestFlags
Definition InstallBundleTypes.h:270
EInstallBundleStatus
Definition InstallBundleTypes.h:288
EInstallBundlePauseFlags
Definition InstallBundleTypes.h:279
EInstallBundleManagerInitState
Definition InstallBundleTypes.h:79
EInstallBundleGetContentStateFlags
Definition InstallBundleTypes.h:200
EInstallBundleManagerInitResult
Definition InstallBundleTypes.h:86
EInstallBundleReleaseResult
Definition InstallBundleTypes.h:260
EInstallBundleRequestFlags
Definition InstallBundleTypes.h:244
EInstallBundleCacheStatsFlags
Definition InstallBundleTypes.h:488
EInstallBundleResult
Definition InstallBundleTypes.h:225
EInstallBundleManagerPatchCheckResult
Definition InstallBundleTypes.h:298
EInstallBundleRequestInfoFlags
Definition InstallBundleTypes.h:210
Definition IDelegateInstance.h:14
Definition InstallBundleTypes.h:47
Definition NameTypes.h:617
Definition InstallBundleManagerInterface.h:126
static INSTALLBUNDLEMANAGER_API FInstallBundleManagerReportingDelegate ReportingDelegate
Definition InstallBundleManagerInterface.h:135
INSTALLBUNDLEMANAGER_API TValueOrError< FInstallBundleRequestInfo, EInstallBundleResult > RequestUpdateContent(FName BundleName, EInstallBundleRequestFlags Flags, ELogVerbosity::Type LogVerbosityOverride=ELogVerbosity::NoLogging, InstallBundleUtil::FContentRequestSharedContextPtr RequestSharedContext=nullptr)
Definition InstallBundleManagerInterface.cpp:72
virtual void CancelAllGetContentStateRequests(FDelegateHandle Handle)=0
static INSTALLBUNDLEMANAGER_API FInstallBundleReleasedMultiDelegate ReleasedDelegate
Definition InstallBundleManagerInterface.h:133
virtual void CancelAllGetContentStateRequestsForTag(FName RequestTag)=0
virtual void CancelAllGetInstallStateRequestsForTag(FName RequestTag)=0
virtual void RequestPausedBundleCallback()=0
virtual bool HasBundleSource(FInstallBundleSourceType SourceType) const =0
virtual ~IInstallBundleManager()
Definition InstallBundleManagerInterface.h:140
static INSTALLBUNDLEMANAGER_API FInstallBundleChunkDownloadMetricsMultiDelegate InstallBundleChunkDownloadMetricsDelegate
Definition InstallBundleManagerInterface.h:130
virtual void GetDebugText(TArray< FString > &Output)
Definition InstallBundleManagerInterface.h:243
virtual void StartSessionPersistentStatTracking(const FString &SessionName, const TArray< FName > &RequiredBundles=TArray< FName >(), const FString &ExpectedAnalyticsID=FString(), bool bForceResetStatData=false, const FInstallBundleCombinedContentState *State=nullptr)
Definition InstallBundleManagerInterface.h:239
INSTALLBUNDLEMANAGER_API TValueOrError< FInstallBundleCombinedInstallState, EInstallBundleResult > GetInstallStateSynchronous(FName BundleName, bool bAddDependencies) const
Definition InstallBundleManagerInterface.cpp:87
INSTALLBUNDLEMANAGER_API void PauseUpdateContent(FName BundleName)
Definition InstallBundleManagerInterface.cpp:149
static INSTALLBUNDLEMANAGER_API FInstallBundleCompleteMultiDelegate InstallBundleCompleteDelegate
Definition InstallBundleManagerInterface.h:131
virtual INSTALLBUNDLEMANAGER_API void SetContext(FName ContextName)
Definition InstallBundleManagerInterface.cpp:58
INSTALLBUNDLEMANAGER_API TValueOrError< FInstallBundleReleaseRequestInfo, EInstallBundleResult > RequestReleaseContent(FName ReleaseName, EInstallBundleReleaseRequestFlags Flags, TArrayView< const FName > KeepNames=TArrayView< const FName >(), ELogVerbosity::Type LogVerbosityOverride=ELogVerbosity::NoLogging)
Definition InstallBundleManagerInterface.cpp:92
static INSTALLBUNDLEMANAGER_API TSharedPtr< IInstallBundleManager > GetPlatformInstallBundleManager()
Definition InstallBundleManagerInterface.cpp:23
INSTALLBUNDLEMANAGER_API void RequestRemoveContentOnNextInit(FName RemoveName, TArrayView< const FName > KeepNames=TArrayView< const FName >())
Definition InstallBundleManagerInterface.cpp:134
INSTALLBUNDLEMANAGER_API FDelegateHandle GetInstallState(FName BundleName, bool bAddDependencies, FInstallBundleGetInstallStateDelegate Callback, FName RequestTag=NAME_None)
Definition InstallBundleManagerInterface.cpp:82
virtual bool IsNullInterface() const =0
INSTALLBUNDLEMANAGER_API void CancelRequestRemoveContentOnNextInit(FName BundleName)
Definition InstallBundleManagerInterface.cpp:139
virtual void SetErrorSimulationCommands(const FString &CommandLine)
Definition InstallBundleManagerInterface.h:235
virtual FDelegateHandle GetInstallState(TArrayView< const FName > BundleNames, bool bAddDependencies, FInstallBundleGetInstallStateDelegate Callback, FName RequestTag=NAME_None)=0
static INSTALLBUNDLEMANAGER_API FInstallBundleManagerOnPatchCheckComplete PatchCheckCompleteDelegate
Definition InstallBundleManagerInterface.h:134
virtual FDelegateHandle GetContentState(TArrayView< const FName > BundleNames, EInstallBundleGetContentStateFlags Flags, bool bAddDependencies, FInstallBundleGetContentStateDelegate Callback, FName RequestTag=NAME_None)=0
INSTALLBUNDLEMANAGER_API void ResumeUpdateContent(FName BundleName)
Definition InstallBundleManagerInterface.cpp:154
virtual INSTALLBUNDLEMANAGER_API const TSharedPtr< IInstallBundleSource > GetBundleSource(FInstallBundleSourceType SourceType) const
Definition InstallBundleManagerInterface.cpp:67
static INSTALLBUNDLEMANAGER_API FInstallBundleManagerAllDownloadsCompleted AllDownloadsCompletedDelegate
Definition InstallBundleManagerInterface.h:136
virtual TSharedPtr< IAnalyticsProviderET > GetAnalyticsProvider() const
Definition InstallBundleManagerInterface.h:237
virtual INSTALLBUNDLEMANAGER_API void StartPatchCheck()
Definition InstallBundleManagerInterface.cpp:164
virtual FDelegateHandle PushInitErrorCallback(FInstallBundleManagerInitErrorHandler Callback)=0
INSTALLBUNDLEMANAGER_API FDelegateHandle GetContentState(FName BundleName, EInstallBundleGetContentStateFlags Flags, bool bAddDependencies, FInstallBundleGetContentStateDelegate Callback, FName RequestTag=NAME_None)
Definition InstallBundleManagerInterface.cpp:77
virtual void PopInitErrorCallback(FDelegateHandle Handle)=0
virtual void StopSessionPersistentStatTracking(const FString &SessionName)
Definition InstallBundleManagerInterface.h:240
virtual void CancelAllGetInstallStateRequests(FDelegateHandle Handle)=0
INSTALLBUNDLEMANAGER_API void UpdateContentRequestFlags(FName BundleName, EInstallBundleRequestFlags AddFlags, EInstallBundleRequestFlags RemoveFlags)
Definition InstallBundleManagerInterface.cpp:159
virtual void RemoveEnvironmentWantsPatchCheckBackCompatDelegate(FName Tag)
Definition InstallBundleManagerInterface.h:230
virtual TArray< FName > GetRequestedRemoveContentOnNextInit() const =0
static INSTALLBUNDLEMANAGER_API FInstallBundleManagerInitCompleteMultiDelegate InitCompleteDelegate
Definition InstallBundleManagerInterface.h:128
virtual bool HasEverUpdatedContent() const
Definition InstallBundleManagerInterface.h:246
virtual INSTALLBUNDLEMANAGER_API bool CopyReportTo(FInstallManagerBundleReport &Report)
Definition InstallBundleManagerInterface.cpp:62
INSTALLBUNDLEMANAGER_API void CancelUpdateContent(FName BundleName)
Definition InstallBundleManagerInterface.cpp:144
virtual TValueOrError< FInstallBundleCombinedInstallState, EInstallBundleResult > GetInstallStateSynchronous(TArrayView< const FName > BundleNames, bool bAddDependencies) const =0
static INSTALLBUNDLEMANAGER_API FInstallBundlePausedMultiDelegate PausedBundleDelegate
Definition InstallBundleManagerInterface.h:132
virtual void PopInitErrorCallback()=0
virtual TOptional< FInstallBundleProgress > GetBundleProgress(FName BundleName) const =0
virtual TValueOrError< FInstallBundleReleaseRequestInfo, EInstallBundleResult > RequestReleaseContent(TArrayView< const FName > ReleaseNames, EInstallBundleReleaseRequestFlags Flags, TArrayView< const FName > KeepNames=TArrayView< const FName >(), ELogVerbosity::Type LogVerbosityOverride=ELogVerbosity::NoLogging)=0
virtual void AddEnvironmentWantsPatchCheckBackCompatDelegate(FName Tag, FInstallBundleManagerEnvironmentWantsPatchCheck Delegate)
Definition InstallBundleManagerInterface.h:229
virtual EInstallBundleManagerInitState GetInitState() const =0
virtual void SetCacheSize(FName CacheName, uint64 CacheSize)=0
virtual void Initialize()
Definition InstallBundleManagerInterface.h:142
INSTALLBUNDLEMANAGER_API EInstallBundleResult FlushCache(FInstallBundleManagerFlushCacheCompleteDelegate Callback, ELogVerbosity::Type LogVerbosityOverride=ELogVerbosity::NoLogging)
Definition InstallBundleManagerInterface.cpp:129
virtual EInstallBundleResult FlushCache(FInstallBundleSourceOrCache SourceOrCache, FInstallBundleManagerFlushCacheCompleteDelegate Callback, ELogVerbosity::Type LogVerbosityOverride=ELogVerbosity::NoLogging)=0
virtual TValueOrError< FInstallBundleRequestInfo, EInstallBundleResult > RequestUpdateContent(TArrayView< const FName > BundleNames, EInstallBundleRequestFlags Flags, ELogVerbosity::Type LogVerbosityOverride=ELogVerbosity::NoLogging, InstallBundleUtil::FContentRequestSharedContextPtr RequestSharedContext=nullptr)=0
PRAGMA_DISABLE_DEPRECATION_WARNINGS virtual INSTALLBUNDLEMANAGER_API TArray< FInstallBundleCacheStats > GetCacheStats(EInstallBundleCacheDumpToLog DumpToLog, ELogVerbosity::Type LogVerbosityOverride=ELogVerbosity::NoLogging)
Definition InstallBundleManagerInterface.cpp:98
virtual void UnblockAnyDownloadsWaitingForCellularOptIn()
Definition InstallBundleManagerInterface.h:219
virtual EInstallBundleRequestFlags GetModifyableContentRequestFlags() const =0
virtual void PopInitErrorCallback(FDelegateUserObjectConst InUserObject)=0
virtual bool SupportsEarlyStartupPatching() const =0
virtual void SetCellularPreference(int32 Value)=0
Definition InstallBundleSourceInterface.h:30
Definition ArrayView.h:139
Definition SharedPointer.h:1640
Definition SharedPointer.h:692
Definition ValueOrError.h:58
Definition GenericPlatformFile.h:25
Type
Definition LogVerbosity.h:17
@ NoLogging
Definition LogVerbosity.h:19
Definition InstallBundleUtils.cpp:25
Definition InstallBundleTypes.h:477
Definition InstallBundleManagerInterface.h:95
float ChunkDownloadDuration
Definition InstallBundleManagerInterface.h:99
FName BundleName
Definition InstallBundleManagerInterface.h:96
FDateTime FetchStartTimeUTC
Definition InstallBundleManagerInterface.h:100
FDateTime FetchEndTimeUTC
Definition InstallBundleManagerInterface.h:101
FString ChunkName
Definition InstallBundleManagerInterface.h:97
int32 ChunkFileSize
Definition InstallBundleManagerInterface.h:98
Definition InstallBundleTypes.h:163
Definition InstallBundleTypes.h:115
Definition InstallBundleManagerInterface.h:82
FName BundleName
Definition InstallBundleManagerInterface.h:83
EInstallBundlePauseFlags PauseFlags
Definition InstallBundleManagerInterface.h:84
Definition InstallBundleManagerInterface.h:32
float Finishing_Percent
Definition InstallBundleManagerInterface.h:45
EInstallBundleStatus Status
Definition InstallBundleManagerInterface.h:35
FName BundleName
Definition InstallBundleManagerInterface.h:33
float BackgroundDownload_Percent
Definition InstallBundleManagerInterface.h:39
TArray< FBuildInstallerStat > Stats
Definition InstallBundleManagerInterface.h:43
float Install_Percent
Definition InstallBundleManagerInterface.h:41
float InstallOnly_Percent
Definition InstallBundleManagerInterface.h:40
EInstallBundlePauseFlags PauseFlags
Definition InstallBundleManagerInterface.h:37
Definition InstallBundleManagerInterface.h:76
EInstallBundleRequestInfoFlags InfoFlags
Definition InstallBundleManagerInterface.h:77
TArray< FName > BundlesEnqueued
Definition InstallBundleManagerInterface.h:78
Definition InstallBundleManagerInterface.h:63
FName BundleName
Definition InstallBundleManagerInterface.h:64
EInstallBundleReleaseResult Result
Definition InstallBundleManagerInterface.h:65
Definition InstallBundleManagerInterface.h:69
TArray< FInstallBundleRequestResultInfo > BundleResults
Definition InstallBundleManagerInterface.h:72
EInstallBundleRequestInfoFlags InfoFlags
Definition InstallBundleManagerInterface.h:70
TArray< FName > BundlesEnqueued
Definition InstallBundleManagerInterface.h:71
Definition InstallBundleManagerInterface.h:49
bool bIsStartup
Definition InstallBundleManagerInterface.h:52
bool bContainsChunks
Definition InstallBundleManagerInterface.h:53
bool bContainsIoStoreOnDemand
Definition InstallBundleManagerInterface.h:54
FName BundleName
Definition InstallBundleManagerInterface.h:50
EInstallBundleResult Result
Definition InstallBundleManagerInterface.h:51
FString OptionalErrorCode
Definition InstallBundleManagerInterface.h:59
FText OptionalErrorText
Definition InstallBundleManagerInterface.h:58
bool bContentWasInstalled
Definition InstallBundleManagerInterface.h:55
Definition InstallBundleManagerReporting.h:156
Definition Optional.h:131