open-hyperion/ORGBPluginInterface.h

36 lines
824 B
C
Raw Normal View History

2020-12-11 23:53:32 +00:00
#pragma once
#include <QtPlugin>
#include <QLabel>
#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-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)