mirror of
https://github.com/wiiu-env/WiiUPluginLoaderBackend.git
synced 2024-12-23 11:31:49 +01:00
Save info is plugin is linked and loaded inside config info
This commit is contained in:
parent
629dc0393f
commit
e584d8c1df
@ -1,12 +1,22 @@
|
||||
#include "ConfigDisplayItem.h"
|
||||
#include "config/WUPSConfig.h"
|
||||
|
||||
ConfigDisplayItem::ConfigDisplayItem(GeneralConfigInformation &info, std::unique_ptr<WUPSConfigAPIBackend::WUPSConfig> config) : mConfig(std::move(config)), mInfo(std::move(info)) {
|
||||
ConfigDisplayItem::ConfigDisplayItem(GeneralConfigInformation &info,
|
||||
std::unique_ptr<WUPSConfigAPIBackend::WUPSConfig> config,
|
||||
const bool isActive) : mConfig(std::move(config)),
|
||||
mInfo(std::move(info)),
|
||||
mIsActivePlugin(isActive) {
|
||||
assert(mConfig);
|
||||
}
|
||||
|
||||
const GeneralConfigInformation &ConfigDisplayItem::getConfigInformation() const {
|
||||
return mInfo;
|
||||
}
|
||||
|
||||
const WUPSConfigAPIBackend::WUPSConfig &ConfigDisplayItem::getConfig() const {
|
||||
return *mConfig;
|
||||
}
|
||||
|
||||
bool ConfigDisplayItem::isActivePlugin() const {
|
||||
return mIsActivePlugin;
|
||||
}
|
@ -1,6 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "config/WUPSConfig.h"
|
||||
#include "plugin/PluginData.h"
|
||||
#include <memory>
|
||||
#include <string>
|
||||
|
||||
@ -8,17 +9,21 @@ struct GeneralConfigInformation {
|
||||
std::string name;
|
||||
std::string author;
|
||||
std::string version;
|
||||
std::shared_ptr<PluginData> pluginData;
|
||||
};
|
||||
|
||||
class ConfigDisplayItem {
|
||||
public:
|
||||
ConfigDisplayItem(GeneralConfigInformation &info, std::unique_ptr<WUPSConfigAPIBackend::WUPSConfig> config);
|
||||
ConfigDisplayItem(GeneralConfigInformation &info, std::unique_ptr<WUPSConfigAPIBackend::WUPSConfig> config, bool isActive);
|
||||
|
||||
[[nodiscard]] const GeneralConfigInformation &getConfigInformation() const;
|
||||
|
||||
[[nodiscard]] const WUPSConfigAPIBackend::WUPSConfig &getConfig() const;
|
||||
|
||||
[[nodiscard]] bool isActivePlugin() const;
|
||||
|
||||
private:
|
||||
std::unique_ptr<WUPSConfigAPIBackend::WUPSConfig> mConfig;
|
||||
GeneralConfigInformation mInfo;
|
||||
bool mIsActivePlugin;
|
||||
};
|
@ -77,13 +77,11 @@ void ConfigUtils::displayMenu() {
|
||||
|
||||
std::vector<ConfigDisplayItem> configs;
|
||||
for (const auto &plugin : gLoadedPlugins) {
|
||||
if (!plugin.isLinkedAndLoaded()) {
|
||||
continue;
|
||||
}
|
||||
GeneralConfigInformation info;
|
||||
info.name = plugin.getMetaInformation().getName();
|
||||
info.author = plugin.getMetaInformation().getAuthor();
|
||||
info.version = plugin.getMetaInformation().getVersion();
|
||||
info.pluginData = plugin.getPluginDataCopy();
|
||||
|
||||
std::unique_ptr<WUPSConfigAPIBackend::WUPSConfig> config;
|
||||
if (const auto configData = plugin.getConfigData()) {
|
||||
@ -124,8 +122,7 @@ void ConfigUtils::displayMenu() {
|
||||
if (!config) {
|
||||
config = make_unique_nothrow<WUPSConfigAPIBackend::WUPSConfig>(info.name);
|
||||
}
|
||||
|
||||
configs.emplace_back(info, std::move(config));
|
||||
configs.emplace_back(info, std::move(config), plugin.isLinkedAndLoaded());
|
||||
}
|
||||
|
||||
// Sort Configs by name
|
||||
|
Loading…
Reference in New Issue
Block a user