// Copyright 2018 Dolphin Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once #include #include #include #include "Common/CommonTypes.h" #include "UICommon/ResourcePack/Manifest.h" namespace ResourcePack { class ResourcePack { public: explicit ResourcePack(const std::string& path); bool IsValid() const; const std::vector& GetLogo() const; const std::string& GetPath() const; const std::string& GetError() const; const Manifest* GetManifest() const; const std::vector& GetTextures() const; bool Install(const std::string& path); bool Uninstall(const std::string& path); bool operator==(const ResourcePack& pack) const; bool operator!=(const ResourcePack& pack) const; private: bool m_valid = true; std::string m_path; std::string m_error; std::shared_ptr m_manifest; std::vector m_textures; std::vector m_logo_data; }; } // namespace ResourcePack