/*
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at https://mozilla.org/MPL/2.0/.
 */

#pragma once

#include "Host/ResourceLoader.hpp"
#include <variant>

namespace OpenVulkano
{
	class EmbeddedResourceLoaderWindows final : public ResourceLoader
	{
	public:
		std::string GetResourcePath(const std::string& resourceName) override;
		Array<char> GetResource(const std::string& resourceName) override;
		static Array<char> GetResource(const char* resId, char* resourceType);
		static Array<char> GetResource(uint16_t id, char* resourceType);
	private:
		static char* GetWinApiResourceType(std::string resourceType);
		static std::string GetResourceName(const char* resId);
	};
}