mirror of
https://github.com/ran-j/PS2Recomp.git
synced 2026-09-26 08:51:05 -04:00
ee149581aa
* feat: implement memory card IOP * feat: IOP trace * feat: move IOP logic to ps2xIOP refactor: small refactor on audio api on runtime
35 lines
839 B
C++
35 lines
839 B
C++
#pragma once
|
|
|
|
#include "iop_service.h"
|
|
|
|
#include <filesystem>
|
|
#include <memory>
|
|
#include <string>
|
|
#include <unordered_set>
|
|
#include <vector>
|
|
|
|
namespace ps2x::iop::detail
|
|
{
|
|
class PluginCatalog
|
|
{
|
|
public:
|
|
explicit PluginCatalog(IopHost &host);
|
|
~PluginCatalog();
|
|
|
|
PluginCatalog(const PluginCatalog &) = delete;
|
|
PluginCatalog &operator=(const PluginCatalog &) = delete;
|
|
|
|
bool load(const std::vector<std::filesystem::path> &searchPaths,
|
|
std::vector<ProfileDefinition> &profiles,
|
|
std::vector<std::string> &diagnostics,
|
|
std::string *error);
|
|
|
|
private:
|
|
class DynamicLibrary;
|
|
|
|
IopHost &m_host;
|
|
std::vector<std::shared_ptr<DynamicLibrary>> m_libraries;
|
|
std::unordered_set<std::string> m_loadedPaths;
|
|
};
|
|
}
|