14class PLUGIN_EXPORT
CPlugin :
public QObject
18 explicit CPlugin(QObject *parent =
nullptr);
31 [[nodiscard]]
virtual const TYPE Type()
const = 0;
32 [[nodiscard]]
virtual const QString TypeName(
const TYPE t)
const;
35 [[nodiscard]]
virtual const QString Id();
38 [[nodiscard]]
virtual const QString
Protocol()
const = 0;
43 [[nodiscard]]
virtual const QString
Name()
const = 0;
46 [[nodiscard]]
virtual const QString DisplayName()
const;
51 [[nodiscard]]
virtual const QString
Version()
const = 0;
52 [[nodiscard]]
virtual const QIcon Icon()
const = 0;
62 [[nodiscard]]
virtual const QString Details()
const;
86 [[nodiscard]] Q_INVOKABLE
virtual COperate* CreateOperate(
88 [[nodiscard]]
virtual COperate* OnCreateOperate(
const QString& szId) = 0;
92 Q_INVOKABLE
virtual int DeleteOperate(
COperate* p);
95 QSharedPointer<QTranslator> m_Translator;
107 Q_INVOKABLE
int InitTranslator();
111#define CPlugin_iid "KangLinStudio.Rabbit.RemoteControl.CPlugin"
112Q_DECLARE_INTERFACE(
CPlugin, CPlugin_iid)
Global parameters of plugins.
virtual const QString Version() const =0
Version.
virtual const QString Name() const =0
This name must be the same as the project name (${PROJECT_NAME}). The translation file (${PROJECT_NAM...
virtual const QString Protocol() const =0
Plugin Protocol.
virtual const QString Description() const =0
Plugin description.