Files
XCEngine/Pipeline/Core/Contracts/IProjectAssetPipelineService.h

30 lines
907 B
C++

#pragma once
#include "IProjectAssetResolver.h"
namespace XCEngine {
namespace Resources {
class IProjectAssetPipelineService : public IProjectAssetResolver {
public:
~IProjectAssetPipelineService() override = default;
virtual void Initialize() = 0;
virtual void Shutdown() = 0;
virtual void SetProjectRoot(const Containers::String& projectRoot) = 0;
virtual Containers::String GetLibraryRoot() const = 0;
virtual bool BootstrapProject() = 0;
virtual void Refresh() = 0;
virtual bool ClearLibraryCache() = 0;
virtual bool RebuildLibraryCache() = 0;
virtual bool ReimportAllAssets() = 0;
virtual bool ReimportAsset(const Containers::String& requestPath,
ProjectAssetImportedAsset& outAsset) = 0;
virtual ProjectAssetImportStatusSnapshot GetLastImportStatus() const = 0;
};
} // namespace Resources
} // namespace XCEngine