30 lines
907 B
C++
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
|