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)
virtual const QString Version() const =0
Version
virtual const QString Name() const =0
插件名,这个名一定要与工程名(${PROJECT_NAME})相同。 翻译文件(${PROJECT_NAME}_*.ts))名与其相关。
virtual const QString Protocol() const =0
协议
virtual const QString Description() const =0
描述