#pragma once #include #include #include #include #include #include class RelocationData; class PluginLoadWrapper; class PluginContainer; class PluginManagement { public: static std::vector loadPlugins( const std::vector &pluginDataList); static void callInitHooks(const std::vector &plugins, const std::function &pred); static bool doRelocations(const std::vector &plugins, std::map &usedRPls); static bool doRelocation(const std::vector &relocData, std::span trampData, std::map &usedRPls); static bool DoFunctionPatches(std::vector &plugins); static bool RestoreFunctionPatches(std::vector &plugins); };