asset_loader.hpp 651 Bytes
Newer Older
Georg Schaefer's avatar
Georg Schaefer committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#ifndef __GDW_ASSET_LOADER_HPP__
#define __GDW_ASSET_LOADER_HPP__

#include <memory>
#include <string>

namespace gdw {
	class asset;
}

namespace gdw {
	class asset_loader {
	public:
		asset_loader() noexcept = default;
		virtual ~asset_loader() = default;

		asset_loader(const asset_loader&) = delete;
		asset_loader& operator=(const asset_loader&) = delete;

		asset_loader(asset_loader&&) = default;
		asset_loader& operator=(asset_loader&&) = default;

		virtual std::shared_ptr<const asset> load_asset(const std::string& name) const = 0;

Thomas Eppers's avatar
Thomas Eppers committed
25
		virtual std::string native_name(const std::string&) const {
Georg Schaefer's avatar
Georg Schaefer committed
26
27
28
29
30
31
			return std::string();
		}
	};
}

#endif