#ifndef CONFIGURATIONEDITOR_PLUGIN_H
#define CONFIGURATIONEDITOR_PLUGIN_H

#include <QVector>
#include <interfaces.h>

class QDialog;
class ConfigurationEditorPlugin : public QObject, public PluginInterface, public ConfigurationInterface
{
    Q_OBJECT
    Q_PLUGIN_METADATA(IID ProfileInterfaceIid FILE "ConfigurationEditor.json")
    Q_INTERFACES(PluginInterface ConfigurationInterface)

public:
    // PluginInterface
    CommandHash_t commands() override;
    QDialog *createWidget(QWidget *parent = nullptr) override;

    // ConfigurationInterface
    void setConfiguration(Configuration *cfg) override;

private:
    Configuration *m_config = nullptr;
};

#endif // CONFIGURATIONEDITOR_PLUGIN_H