2020-12-11 23:53:32 +00:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include <QtPlugin>
|
2020-12-15 00:44:48 +00:00
|
|
|
#include <QLabel>
|
2020-12-12 23:59:34 +00:00
|
|
|
#include "Dependencies/ResourceManager.h"
|
2020-12-11 23:53:32 +00:00
|
|
|
|
|
|
|
|
#define ORGBPluginInterface_IID "com.ORGBPluginInterface"
|
|
|
|
|
|
2020-12-24 14:59:15 +00:00
|
|
|
struct PluginInfo
|
|
|
|
|
{
|
|
|
|
|
std::string PluginName;
|
|
|
|
|
std::string PluginDesc;
|
|
|
|
|
std::string PluginLoca;
|
|
|
|
|
|
|
|
|
|
bool HasCustom;
|
|
|
|
|
QLabel *PluginLabel;
|
|
|
|
|
|
|
|
|
|
std::string SettingName;
|
|
|
|
|
};
|
|
|
|
|
|
2020-12-11 23:53:32 +00:00
|
|
|
class ORGBPluginInterface
|
|
|
|
|
{
|
|
|
|
|
public:
|
2020-12-24 14:59:15 +00:00
|
|
|
virtual ~ORGBPluginInterface() {}
|
|
|
|
|
|
|
|
|
|
PluginInfo PInfo;
|
2020-12-11 23:53:32 +00:00
|
|
|
|
2020-12-24 14:59:15 +00:00
|
|
|
virtual PluginInfo DefineNeeded() = 0;
|
2020-12-15 00:44:48 +00:00
|
|
|
|
2020-12-24 14:59:15 +00:00
|
|
|
virtual PluginInfo init(json Settings , bool DarkTheme) = 0;
|
2020-12-12 17:39:01 +00:00
|
|
|
|
2020-12-24 14:59:15 +00:00
|
|
|
virtual QWidget *CreateGUI(QWidget *Parent) = 0;
|
2020-12-11 23:53:32 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
Q_DECLARE_INTERFACE(ORGBPluginInterface, ORGBPluginInterface_IID)
|