Files
PS2Recomp/ps2xIOP/src/plugin_loader.h
T
Ranieri ee149581aa Refactor IOP system (#170)
* feat: implement memory card IOP

* feat: IOP trace

* feat: move IOP logic to ps2xIOP
refactor: small refactor on audio api on runtime
2026-07-15 01:44:06 -03:00

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;
};
}