玉兔远程控制 0.0.31
载入中...
搜索中...
未找到
PluginClient.h
1// Author: Kang Lin <kl222@126.com>
2
3#ifndef CPLUGINCLIENT_H_KL_2021_07_23
4#define CPLUGINCLIENT_H_KL_2021_07_23
5
6#pragma once
7
8#include <QIcon>
9#include "Connecter.h"
10#include <QTranslator>
11
32class CLIENT_EXPORT CPluginClient : public QObject
33{
34 Q_OBJECT
35
36public:
48 explicit CPluginClient(QObject *parent = nullptr);
58 virtual ~CPluginClient();
59
62 virtual const QString Id() const;
65 virtual const QString Protocol() const = 0;
70 virtual const QString Name() const = 0;
73 virtual const QString DisplayName() const;
76 virtual const QString Description() const = 0;
78 virtual const QString Version() const = 0;
79 virtual const QIcon Icon() const;
89 virtual const QString Details() const;
90
91private:
113 Q_INVOKABLE virtual CConnecter* CreateConnecter(const QString& szId) = 0;
114
115private:
116 QSharedPointer<QTranslator> m_Translator;
128 Q_INVOKABLE int InitTranslator();
129};
130
131QT_BEGIN_NAMESPACE
132#define CPluginClient_iid "KangLinStudio.Rabbit.RemoteControl.CPluginClient"
133Q_DECLARE_INTERFACE(CPluginClient, CPluginClient_iid)
134QT_END_NAMESPACE
135
136#endif // CPLUGINCLIENT_H_KL_2021_07_23
连接者应用接口。
Definition Connecter.h:62
客户端插件接口。用于建立 CConnecter 实例,它由协议插件实现。
virtual const QString Description() const =0
描述
virtual const QString Version() const =0
Version
virtual Q_INVOKABLE CConnecter * CreateConnecter(const QString &szId)=0
新建 CConnecter 实例。仅由 CClient 调用
virtual const QString Name() const =0
插件名,这个名一定要与工程名(${PROJECT_NAME})相同。 翻译文件(${PROJECT_NAME}_*.ts))名与其相关。
virtual const QString Protocol() const =0
协议
CPluginClient(QObject *parent=nullptr)
初始化操作。例如:派生类实现它,初始化插件全局资源等,例如: