#include "plugincontainer.h" #include "organizercore.h" #include "organizerproxy.h" #include "report.h" #include #include "iuserinterface.h" #include #include "shared/appconfig.h" #include #include #include #include #include #include #include #include #include using namespace MOBase; using namespace MOShared; namespace bf = boost::fusion; template struct PluginTypeName; template <> struct PluginTypeName { static QString get() { return {}; } }; template <> struct PluginTypeName { static QString get() { return QT_TR_NOOP("Plugin"); } }; template <> struct PluginTypeName { static QString get() { return QT_TR_NOOP("Diagnose"); } }; template <> struct PluginTypeName { static QString get() { return QT_TR_NOOP("Game"); } }; template <> struct PluginTypeName { static QString get() { return QT_TR_NOOP("Installer"); } }; template <> struct PluginTypeName { static QString get() { return QT_TR_NOOP("Mod Page"); } }; template <> struct PluginTypeName { static QString get() { return QT_TR_NOOP("Preview"); } }; template <> struct PluginTypeName { static QString get() { return QT_TR_NOOP("Tool"); } }; template <> struct PluginTypeName { static QString get() { return QT_TR_NOOP("Proxy"); } }; template <> struct PluginTypeName { static QString get() { return QT_TR_NOOP("File Mapper"); } }; template class Mapper, class BfMap> struct plugin_map_iterate_impl; template class Mapper> struct plugin_map_iterate_impl> { template static auto apply(Reducer const& r, U &&u, Args const&... args) { return std::forward(u); } }; template < class Reducer, template class Mapper, class K, class V, class... Ps > struct plugin_map_iterate_impl, Ps... >> { template static auto apply(Reducer const& r, U&& u, Args const&... args) { return plugin_map_iterate_impl>::apply(r, r(Mapper::get(args... ), u), args... ); } }; template