它默认启动一个后台线程。 它与 CConnecterConnect 一起可实现一个后台线程处理多个远程桌面连接。
更多...
#include <PluginClientThread.h>
|
| CPluginClientThread (QObject *parent=nullptr) |
|
| CPluginClient (QObject *parent=nullptr) |
| 初始化操作。例如:派生类实现它,初始化插件全局资源等,例如:
|
|
virtual | ~CPluginClient () |
| 派生类实现它,用于释放资源。例如:
|
|
virtual const QString | Id () const |
| 标识。默认: Protocol() + ":" + Name()
|
|
virtual const QString | Protocol () const =0 |
| 协议
|
|
virtual const QString | Name () const =0 |
| 插件名,这个名一定要与工程名(${PROJECT_NAME})相同。 翻译文件(${PROJECT_NAME}_*.ts))名与其相关。
|
|
virtual const QString | DisplayName () const |
| 在界面上显示的名称
|
|
virtual const QString | Description () const =0 |
| 描述
|
|
virtual const QString | Version () const =0 |
| Version
|
|
virtual const QIcon | Icon () const |
|
virtual const QString | Details () const |
| 显示更多细节。 例如: 在关于对话框或日志中显示。 包括插件的依赖库的版本信息和描述
|
|
◆ ~CPluginClientThread()
CPluginClientThread::~CPluginClientThread |
( |
| ) |
|
|
virtual |
◆ CreateConnecter()
CConnecter * CPluginClientThread::CreateConnecter |
( |
const QString & |
szId | ) |
|
|
overrideprivatevirtual |
新建 CConnecter 实例。仅由 CClient 调用
{
auto it = m_Plugins.find(id);
if(m_Plugins.end() != it)
{
bool bRet = 0;
qDebug(log) << "CreateConnecter id:" << id;
auto plugin = it.value();
if(plugin) {
bRet = QMetaObject::invokeMethod(
plugin,
"CreateConnecter",
Qt::DirectConnection,
Q_ARG(QString, id));
if(!bRet) {
qCritical(log) << "Create CConnecter fail.";
return nullptr;
}
}
if(p) {
int val = 0;
bRet = QMetaObject::invokeMethod(
p,
"Initial",
Qt::DirectConnection,
Q_RETURN_ARG(int, val));
if(!bRet || val) {
qCritical(log) << "Connecter initial fail" << bRet << val;
DeleteConnecter(p);
return nullptr;
}
bRet = QMetaObject::invokeMethod(
p,
"SetParameterClient",
Qt::DirectConnection,
Q_RETURN_ARG(int, val),
if(!bRet || val) {
qCritical(log) << "SetParameterClient fail" << bRet << val;
DeleteConnecter(p);
return nullptr;
}
}
return p;
}
return nullptr;
}
virtual CConnecter * CreateConnecter(const QString &id)
新建 CConnecter 指针,所有者是调用者。 当不在使用时,调用者必调用 DeteleConnecter() 须释放指针。 调用者必须连接信号 CConnecter::sigDisconnecte...
客户端库 (CClient) 参数。仅在客户端库 (CClient) 和插件中使用。
- 返回
- 返回 CConnecter 指针, 它的所有者是调用者。
- 注解
- 此函数新建一个堆栈对象指针, 调用者必须负责在用完后释放指针。
- 参数
-
- 参见
- CClient::CreateConnecter CClient::LoadConnecter
实现了 CPluginClient.
在文件 PluginClientThread.cpp 第 30 行定义.
◆ OnCreateConnecter()
virtual CConnecterConnect * CPluginClientThread::OnCreateConnecter |
( |
const QString & |
szProtocol | ) |
|
|
privatepure virtual |
Create Connecter
- 参数
-
- 返回
- CConnecterConnect*
◆ m_pThread
该类的文档由以下文件生成: