From 8bfb476d2e663766a3776ac3cbc55a121c5f3cfd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Majczak?= Date: Sun, 6 Oct 2019 12:44:52 +0200 Subject: [PATCH] Stub api --- PolyEngine/API/Src/pe/api/res/IResource.hpp | 12 +++++++++ .../API/Src/pe/api/res/IResourceManager.hpp | 26 +++++++++++++++++++ .../Src/pe/api/res/IResourceRepository.hpp | 16 ++++++++++++ 3 files changed, 54 insertions(+) create mode 100644 PolyEngine/API/Src/pe/api/res/IResource.hpp create mode 100644 PolyEngine/API/Src/pe/api/res/IResourceManager.hpp create mode 100644 PolyEngine/API/Src/pe/api/res/IResourceRepository.hpp diff --git a/PolyEngine/API/Src/pe/api/res/IResource.hpp b/PolyEngine/API/Src/pe/api/res/IResource.hpp new file mode 100644 index 00000000..0782b768 --- /dev/null +++ b/PolyEngine/API/Src/pe/api/res/IResource.hpp @@ -0,0 +1,12 @@ +#pragma once + +#include + +namespace pe::api::res { + +// Needs RTTI information +class API_DLLEXPORT IResource : public ::pe::core::BaseObject<> +{ +}; + +} \ No newline at end of file diff --git a/PolyEngine/API/Src/pe/api/res/IResourceManager.hpp b/PolyEngine/API/Src/pe/api/res/IResourceManager.hpp new file mode 100644 index 00000000..2cddaafe --- /dev/null +++ b/PolyEngine/API/Src/pe/api/res/IResourceManager.hpp @@ -0,0 +1,26 @@ +#pragma once + +#include + +#include +#include + +#include +#include + + +namespace pe::api::res { + +class API_DLLEXPORT IResourceManager : public ::pe::core::BaseObject<> +{ +public: + virtual ~IResourceManager() = default; + + virtual bool registerRepository(const core::storage::String& name, + std::unique_ptr resourceRepository) = 0; + virtual bool unregisterRepository(const core::storage::String& name) = 0; + + virtual std::future> loadResourceAsync(const core::UniqueID& id) = 0; +}; + +} \ No newline at end of file diff --git a/PolyEngine/API/Src/pe/api/res/IResourceRepository.hpp b/PolyEngine/API/Src/pe/api/res/IResourceRepository.hpp new file mode 100644 index 00000000..a5f9fb9c --- /dev/null +++ b/PolyEngine/API/Src/pe/api/res/IResourceRepository.hpp @@ -0,0 +1,16 @@ +#pragma once + +#include + +#include + +namespace pe::api::res { + +class API_DLLEXPORT IResourceRepository : public ::pe::core::BaseObject<> +{ +public: + virtual bool containsResource(const core::UniqueID& id) const = 0; + virtual std::future> loadResourceAsync(const core::UniqueID& id) = 0; +}; + +} \ No newline at end of file