open-hyperion/ORGBPluginInterface.h
2020-12-24 08:59:15 -06:00

35 lines
824 B
C++

#pragma once
#include <QtPlugin>
#include <QLabel>
#include "Dependencies/ResourceManager.h"
#define ORGBPluginInterface_IID "com.ORGBPluginInterface"
struct PluginInfo
{
std::string PluginName;
std::string PluginDesc;
std::string PluginLoca;
bool HasCustom;
QLabel *PluginLabel;
std::string SettingName;
};
class ORGBPluginInterface
{
public:
virtual ~ORGBPluginInterface() {}
PluginInfo PInfo;
virtual PluginInfo DefineNeeded() = 0;
virtual PluginInfo init(json Settings , bool DarkTheme) = 0;
virtual QWidget *CreateGUI(QWidget *Parent) = 0;
};
Q_DECLARE_INTERFACE(ORGBPluginInterface, ORGBPluginInterface_IID)