2019-12-26 14:45:42 -05:00
|
|
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
2019-02-11 09:22:06 -05:00
|
|
|
|
2019-08-08 00:48:21 -04:00
|
|
|
#include "InstallBundleManagerInterface.h"
|
|
|
|
|
#include "InstallBundleManagerModule.h"
|
2019-02-11 09:22:06 -05:00
|
|
|
#include "Modules/ModuleManager.h"
|
|
|
|
|
|
2019-08-08 00:48:21 -04:00
|
|
|
class FNullInstallBundleManager : public IInstallBundleManager
|
2019-02-11 09:22:06 -05:00
|
|
|
{
|
2019-12-09 14:45:45 -05:00
|
|
|
virtual bool HasBundleSource(EInstallBundleSourceType SourceType) const override
|
2019-07-22 11:49:15 -04:00
|
|
|
{
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
2019-10-08 16:33:58 -04:00
|
|
|
virtual FDelegateHandle PushInitErrorCallback(FInstallBundleManagerInitErrorHandler Callback) override
|
2019-02-11 09:22:06 -05:00
|
|
|
{
|
2019-10-08 16:33:58 -04:00
|
|
|
return FDelegateHandle();
|
2019-02-11 09:22:06 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
virtual void PopInitErrorCallback() override
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
2019-10-08 16:33:58 -04:00
|
|
|
void PopInitErrorCallback(FDelegateHandle Handle) override
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
virtual void PopInitErrorCallback(const void* InUserObject) override
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
2019-10-24 11:53:53 -04:00
|
|
|
virtual EInstallBundleManagerInitState GetInitState() const override
|
2019-02-11 09:22:06 -05:00
|
|
|
{
|
2019-10-24 11:53:53 -04:00
|
|
|
return EInstallBundleManagerInitState::Succeeded;
|
2019-08-22 00:03:39 -04:00
|
|
|
}
|
|
|
|
|
|
2023-04-20 06:28:52 -04:00
|
|
|
virtual TValueOrError<FInstallBundleRequestInfo, EInstallBundleResult> RequestUpdateContent(TArrayView<const FName> BundleNames, EInstallBundleRequestFlags Flags, ELogVerbosity::Type LogVerbosityOverride = ELogVerbosity::NoLogging, InstallBundleUtil::FContentRequestSharedContextPtr RequestSharedContext = nullptr) override
|
2019-02-11 09:22:06 -05:00
|
|
|
{
|
2020-08-11 01:36:57 -04:00
|
|
|
return MakeValue(FInstallBundleRequestInfo());
|
2019-02-11 09:22:06 -05:00
|
|
|
}
|
|
|
|
|
|
2021-05-11 01:10:20 -04:00
|
|
|
virtual FDelegateHandle GetContentState(TArrayView<const FName> BundleNames, EInstallBundleGetContentStateFlags Flags, bool bAddDependencies, FInstallBundleGetContentStateDelegate Callback, FName RequestTag) override
|
2019-03-11 15:12:02 -04:00
|
|
|
{
|
2019-11-07 15:35:09 -05:00
|
|
|
FInstallBundleCombinedContentState State;
|
2019-03-11 15:12:02 -04:00
|
|
|
Callback.ExecuteIfBound(State);
|
2021-05-11 01:10:20 -04:00
|
|
|
return Callback.GetHandle();
|
2019-03-11 15:12:02 -04:00
|
|
|
}
|
|
|
|
|
|
2019-08-21 09:27:39 -04:00
|
|
|
virtual void CancelAllGetContentStateRequestsForTag(FName RequestTag) override
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
2021-05-11 01:10:20 -04:00
|
|
|
virtual void CancelAllGetContentStateRequests(FDelegateHandle Handle) override
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
virtual FDelegateHandle GetInstallState(TArrayView<const FName> BundleNames, bool bAddDependencies, FInstallBundleGetInstallStateDelegate Callback, FName RequestTag = NAME_None) override
|
2020-06-23 18:40:00 -04:00
|
|
|
{
|
|
|
|
|
FInstallBundleCombinedInstallState State;
|
|
|
|
|
Callback.ExecuteIfBound(State);
|
2021-05-11 01:10:20 -04:00
|
|
|
return Callback.GetHandle();
|
2020-06-23 18:40:00 -04:00
|
|
|
}
|
|
|
|
|
|
2020-08-11 01:36:57 -04:00
|
|
|
virtual TValueOrError<FInstallBundleCombinedInstallState, EInstallBundleResult> GetInstallStateSynchronous(TArrayView<const FName> BundleNames, bool bAddDependencies) const override
|
2020-06-23 18:40:00 -04:00
|
|
|
{
|
2020-08-11 01:36:57 -04:00
|
|
|
return MakeValue(FInstallBundleCombinedInstallState());
|
2020-06-23 18:40:00 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
virtual void CancelAllGetInstallStateRequestsForTag(FName RequestTag) override
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
2021-05-11 01:10:20 -04:00
|
|
|
virtual void CancelAllGetInstallStateRequests(FDelegateHandle Handle) override
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
2023-09-20 15:11:58 -04:00
|
|
|
virtual TValueOrError<FInstallBundleReleaseRequestInfo, EInstallBundleResult> RequestReleaseContent(TArrayView<const FName> ReleaseNames, EInstallBundleReleaseRequestFlags Flags, TArrayView<const FName> KeepNames = TArrayView<const FName>(), ELogVerbosity::Type LogVerbosityOverride = ELogVerbosity::NoLogging) override
|
2020-08-11 01:36:57 -04:00
|
|
|
{
|
2023-09-20 15:11:58 -04:00
|
|
|
return MakeValue(FInstallBundleReleaseRequestInfo());
|
2020-08-11 01:36:57 -04:00
|
|
|
}
|
|
|
|
|
|
2021-04-08 14:32:07 -04:00
|
|
|
virtual EInstallBundleResult FlushCache(FInstallBundleSourceOrCache SourceOrCache, FInstallBundleManagerFlushCacheCompleteDelegate Callback, ELogVerbosity::Type LogVerbosityOverride = ELogVerbosity::NoLogging) override
|
|
|
|
|
{
|
|
|
|
|
Callback.ExecuteIfBound();
|
|
|
|
|
return EInstallBundleResult::OK;
|
|
|
|
|
}
|
|
|
|
|
|
2022-02-25 15:02:33 -05:00
|
|
|
virtual TArray<FInstallBundleCacheStats> GetCacheStats(EInstallBundleCacheDumpToLog DumpToLog = EInstallBundleCacheDumpToLog::None, ELogVerbosity::Type LogVerbosityOverride = ELogVerbosity::NoLogging) override
|
2021-12-10 20:58:04 -05:00
|
|
|
{
|
|
|
|
|
return TArray<FInstallBundleCacheStats>();
|
|
|
|
|
}
|
|
|
|
|
|
2022-02-25 15:02:33 -05:00
|
|
|
virtual TOptional<FInstallBundleCacheStats> GetCacheStats(FInstallBundleSourceOrCache SourceOrCache, EInstallBundleCacheDumpToLog DumpToLog = EInstallBundleCacheDumpToLog::None, ELogVerbosity::Type LogVerbosityOverride = ELogVerbosity::NoLogging) override
|
2021-09-06 12:23:53 -04:00
|
|
|
{
|
|
|
|
|
return TOptional<FInstallBundleCacheStats>();
|
|
|
|
|
}
|
|
|
|
|
|
2019-12-09 13:52:45 -05:00
|
|
|
virtual void RequestRemoveContentOnNextInit(TArrayView<const FName> RemoveNames, TArrayView<const FName> KeepNames = TArrayView<const FName>()) override
|
2019-08-21 09:27:39 -04:00
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
2019-12-09 13:52:45 -05:00
|
|
|
virtual void CancelRequestRemoveContentOnNextInit(TArrayView<const FName> BundleNames) override
|
2019-05-24 17:19:13 -04:00
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
2020-11-24 18:42:39 -04:00
|
|
|
virtual void CancelUpdateContent(TArrayView<const FName> BundleNames) override
|
2019-12-09 13:52:45 -05:00
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
virtual void PauseUpdateContent(TArrayView<const FName> BundleNames) override
|
2019-03-19 13:06:47 -04:00
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
2019-12-09 13:52:45 -05:00
|
|
|
virtual void ResumeUpdateContent(TArrayView<const FName> BundleNames) override
|
2019-02-11 09:22:06 -05:00
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
2019-12-09 13:52:45 -05:00
|
|
|
virtual void RequestPausedBundleCallback() override
|
2019-04-08 11:31:40 -04:00
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
2019-12-12 15:05:38 -05:00
|
|
|
virtual TOptional<FInstallBundleProgress> GetBundleProgress(FName BundleName) const override
|
2019-02-11 09:22:06 -05:00
|
|
|
{
|
2019-12-12 15:05:38 -05:00
|
|
|
return TOptional<FInstallBundleProgress>();
|
2019-02-11 09:22:06 -05:00
|
|
|
}
|
|
|
|
|
|
2019-12-09 13:52:45 -05:00
|
|
|
virtual EInstallBundleRequestFlags GetModifyableContentRequestFlags() const override
|
|
|
|
|
{
|
|
|
|
|
return EInstallBundleRequestFlags::None;
|
|
|
|
|
}
|
|
|
|
|
virtual void UpdateContentRequestFlags(TArrayView<const FName> BundleNames, EInstallBundleRequestFlags AddFlags, EInstallBundleRequestFlags RemoveFlags) override
|
|
|
|
|
{
|
|
|
|
|
|
2019-04-01 21:38:56 -04:00
|
|
|
}
|
|
|
|
|
|
2023-09-01 16:17:16 -04:00
|
|
|
virtual void SetCacheSize(FName CacheName, uint64 CacheSize) override
|
|
|
|
|
{}
|
|
|
|
|
|
2022-05-18 12:51:35 -04:00
|
|
|
virtual bool SupportsEarlyStartupPatching() const override
|
|
|
|
|
{
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
2019-03-18 18:04:10 -04:00
|
|
|
virtual bool IsNullInterface() const override
|
|
|
|
|
{
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
2019-02-11 09:22:06 -05:00
|
|
|
private:
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
2019-08-08 00:48:21 -04:00
|
|
|
class FNullInstallBundleManagerModule : public TInstallBundleManagerModule<FNullInstallBundleManager>
|
2019-03-11 15:12:02 -04:00
|
|
|
{
|
2019-02-11 09:22:06 -05:00
|
|
|
};
|
|
|
|
|
|
2019-02-12 12:05:41 -05:00
|
|
|
IMPLEMENT_MODULE(FNullInstallBundleManagerModule, NullInstallBundleManager);
|