// Copyright Epic Games, Inc. All Rights Reserved. #include "InstallBundleManagerInterface.h" #include "InstallBundleManagerModule.h" #include "Modules/ModuleManager.h" class FNullInstallBundleManager final : public IInstallBundleManager { virtual bool HasBundleSource(FInstallBundleSourceType SourceType) const override { return false; } virtual FDelegateHandle PushInitErrorCallback(FInstallBundleManagerInitErrorHandler Callback) override { return FDelegateHandle(); } virtual void PopInitErrorCallback() override { } void PopInitErrorCallback(FDelegateHandle Handle) override { } virtual void PopInitErrorCallback(FDelegateUserObjectConst InUserObject) override { } virtual EInstallBundleManagerInitState GetInitState() const override { return EInstallBundleManagerInitState::Succeeded; } virtual TValueOrError RequestUpdateContent(TArrayView BundleNames, EInstallBundleRequestFlags Flags, ELogVerbosity::Type LogVerbosityOverride = ELogVerbosity::NoLogging, InstallBundleUtil::FContentRequestSharedContextPtr RequestSharedContext = nullptr) override { return MakeValue(FInstallBundleRequestInfo()); } virtual FDelegateHandle GetContentState(TArrayView BundleNames, EInstallBundleGetContentStateFlags Flags, bool bAddDependencies, FInstallBundleGetContentStateDelegate Callback, FName RequestTag) override { FInstallBundleCombinedContentState State; Callback.ExecuteIfBound(State); return Callback.GetHandle(); } virtual void CancelAllGetContentStateRequestsForTag(FName RequestTag) override { } virtual void CancelAllGetContentStateRequests(FDelegateHandle Handle) override { } virtual FDelegateHandle GetInstallState(TArrayView BundleNames, bool bAddDependencies, FInstallBundleGetInstallStateDelegate Callback, FName RequestTag = NAME_None) override { FInstallBundleCombinedInstallState State; Callback.ExecuteIfBound(State); return Callback.GetHandle(); } virtual TValueOrError GetInstallStateSynchronous(TArrayView BundleNames, bool bAddDependencies) const override { return MakeValue(FInstallBundleCombinedInstallState()); } virtual void CancelAllGetInstallStateRequestsForTag(FName RequestTag) override { } virtual void CancelAllGetInstallStateRequests(FDelegateHandle Handle) override { } virtual TValueOrError RequestReleaseContent(TArrayView ReleaseNames, EInstallBundleReleaseRequestFlags Flags, TArrayView KeepNames = TArrayView(), ELogVerbosity::Type LogVerbosityOverride = ELogVerbosity::NoLogging) override { return MakeValue(FInstallBundleReleaseRequestInfo()); } virtual EInstallBundleResult FlushCache(FInstallBundleSourceOrCache SourceOrCache, FInstallBundleManagerFlushCacheCompleteDelegate Callback, ELogVerbosity::Type LogVerbosityOverride = ELogVerbosity::NoLogging) override { Callback.ExecuteIfBound(); return EInstallBundleResult::OK; } PRAGMA_DISABLE_DEPRECATION_WARNINGS virtual TArray GetCacheStats(EInstallBundleCacheDumpToLog DumpToLog, ELogVerbosity::Type LogVerbosityOverride = ELogVerbosity::NoLogging) override { return TArray(); } virtual TOptional GetCacheStats(FInstallBundleSourceOrCache SourceOrCache, EInstallBundleCacheDumpToLog DumpToLog, ELogVerbosity::Type LogVerbosityOverride = ELogVerbosity::NoLogging) override { return TOptional(); } PRAGMA_ENABLE_DEPRECATION_WARNINGS virtual TArray GetCacheStats(EInstallBundleCacheStatsFlags Flags = EInstallBundleCacheStatsFlags::None, ELogVerbosity::Type LogVerbosityOverride = ELogVerbosity::NoLogging) override { return TArray(); } virtual TOptional GetCacheStats(FInstallBundleSourceOrCache SourceOrCache, EInstallBundleCacheStatsFlags Flags = EInstallBundleCacheStatsFlags::None, ELogVerbosity::Type LogVerbosityOverride = ELogVerbosity::NoLogging) override { return TOptional(); } virtual void RequestRemoveContentOnNextInit(TArrayView RemoveNames, TArrayView KeepNames = TArrayView()) override { } virtual void CancelRequestRemoveContentOnNextInit(TArrayView BundleNames) override { } virtual TArray GetRequestedRemoveContentOnNextInit() const override { return TArray(); } virtual void CancelUpdateContent(TArrayView BundleNames) override { } virtual void PauseUpdateContent(TArrayView BundleNames) override { } virtual void ResumeUpdateContent(TArrayView BundleNames) override { } virtual void RequestPausedBundleCallback() override { } virtual TOptional GetBundleProgress(FName BundleName) const override { return TOptional(); } virtual EInstallBundleRequestFlags GetModifyableContentRequestFlags() const override { return EInstallBundleRequestFlags::None; } virtual void UpdateContentRequestFlags(TArrayView BundleNames, EInstallBundleRequestFlags AddFlags, EInstallBundleRequestFlags RemoveFlags) override { } virtual void SetCellularPreference(int32 Value) override { } virtual void SetCacheSize(FName CacheName, uint64 CacheSize) override {} virtual bool SupportsEarlyStartupPatching() const override { return false; } virtual bool IsNullInterface() const override { return true; } private: }; class FNullInstallBundleManagerModule : public TInstallBundleManagerModule { }; IMPLEMENT_MODULE(FNullInstallBundleManagerModule, NullInstallBundleManager);