Update plugin (un)loading logic to keep plugins loaded if possible

This commit is contained in:
Maschell
2024-11-27 20:44:20 +01:00
parent bacb4d3aab
commit d2c1530084
14 changed files with 193 additions and 115 deletions

View File

@@ -30,15 +30,12 @@ class PluginContainer {
public:
PluginContainer(PluginMetaInformation metaInformation, PluginInformation pluginInformation, std::shared_ptr<PluginData> pluginData);
PluginContainer(const PluginContainer &) = delete;
PluginContainer(PluginContainer &&src) noexcept;
PluginContainer &operator=(PluginContainer &&src) noexcept;
[[nodiscard]] const PluginMetaInformation &getMetaInformation() const;
[[nodiscard]] const PluginInformation &getPluginInformation() const;
@@ -56,9 +53,11 @@ public:
WUPSStorageError CloseStorage();
[[nodiscard]] wups_storage_root_item getStorageRootItem() const {
return storageRootItem;
}
[[nodiscard]] wups_storage_root_item getStorageRootItem() const;
void setInitDone(bool val);
[[nodiscard]] bool isInitDone() const;
private:
PluginMetaInformation mMetaInformation;
@@ -66,5 +65,6 @@ private:
std::shared_ptr<PluginData> mPluginData;
std::optional<PluginConfigData> mPluginConfigData;
wups_storage_root_item storageRootItem = nullptr;
wups_storage_root_item mStorageRootItem = nullptr;
bool mInitDone = false;
};