Rewrite the plugin backend, use smart pointers is possible, don't persist in structs and simplify code

This commit is contained in:
Maschell
2022-05-14 14:00:20 +02:00
parent fb6373ec63
commit cda9c3e055
41 changed files with 790 additions and 1888 deletions

View File

@@ -19,6 +19,7 @@
#include "PluginData.h"
#include "PluginMetaInformation.h"
#include "elfio/elfio.hpp"
#include <memory>
#include <optional>
#include <string>
@@ -26,11 +27,11 @@
class PluginMetaInformationFactory {
public:
static std::optional<std::shared_ptr<PluginMetaInformation>> loadPlugin(const std::shared_ptr<PluginData> &pluginData);
static std::optional<std::unique_ptr<PluginMetaInformation>> loadPlugin(const std::shared_ptr<PluginData> &pluginData);
static std::optional<std::shared_ptr<PluginMetaInformation>> loadPlugin(std::string &filePath);
static std::optional<std::unique_ptr<PluginMetaInformation>> loadPlugin(const std::string &filePath);
static std::optional<std::shared_ptr<PluginMetaInformation>> loadPlugin(char *buffer, size_t size);
static std::optional<std::unique_ptr<PluginMetaInformation>> loadPlugin(char *buffer, size_t size);
static std::optional<std::shared_ptr<PluginMetaInformation>> loadPlugin(const elfio &reader);
static std::optional<std::unique_ptr<PluginMetaInformation>> loadPlugin(const ELFIO::elfio &reader);
};