玉兔远程控制 0.0.31
载入中...
搜索中...
未找到
Public 槽 | Public 成员函数 | Protected 成员函数 | Protected 属性 | Private 槽 | Private 成员函数 | Private 属性 | 所有成员列表
CConnecterThread类 参考

默认启动一个后台线程。实现一个后台线程处理一个连接。 可与插件接口从 CPluginClient 派生的插件一起使用,用于连接是阻塞模型的。 更多...

#include <ConnecterThread.h>

类 CConnecterThread 继承关系图:
CConnecterConnect CConnecter CConnecterFreeRDP CConnecterLibVNCServer CConnecterPlayer CConnecterVnc

Public 槽

virtual int Connect () override
 启动一个后台线程,并建立 CConnect 实例。在 CConnect 中触发 sigConnected()
 
virtual int DisConnect () override
 emit sigConnected() in CConnectThread::run()
 
virtual void slotScreenShot ()
 
- Public 槽 继承自 CConnecterConnect
virtual int Connect () override
 
virtual int DisConnect () override
 在此函数中触发 sigDisconnected()
 
- Public 槽 继承自 CConnecter
virtual int Connect ()=0
 开始连接
 
virtual int DisConnect ()=0
 关闭连接
 

Public 成员函数

 CConnecterThread (CPluginClient *plugin)
 
virtual int Initial () override
 Initial parameters and resource
 
virtual int Clean () override
 Clean parameters and resource
 
virtual QWidget * GetViewer () override
 得到显示视图
 
- Public 成员函数 继承自 CConnecterConnect
 CConnecterConnect (CPluginClient *plugin)
 
virtual const QString Id () override
 Identity
 
virtual const QString Name () override
 显示顺序:
 
virtual const QString Description () override
 Description
 
virtual CConnectInstanceConnect ()=0
 新建 CConnect 对象。它的所有者是调用者, 如果调用者不再使用它,调用者必须负责释放它。
 
virtual CParameterBaseGetParameter ()
 Get parameter
 
virtual int SetParameter (CParameterBase *p)
 
- Public 成员函数 继承自 CConnecter
 CConnecter (CPluginClient *plugin)
 
virtual const QString Protocol () const
 Protocol
 
virtual qint16 Version ()=0
 Version
 
virtual const QIcon Icon () const
 Icon
 
virtual int OpenDialogSettings (QWidget *parent=nullptr)
 打开设置对话框
 
virtual QMenu * GetMenu (QWidget *parent=nullptr)
 Get operate menu
 

Protected 成员函数

virtual QString ServerName () override
 当前连接名(远程桌面的名称,如果没有,则是 IP:端口)。例如:服务名或 IP:端口
 
- Protected 成员函数 继承自 CConnecter
virtual int SetParameter (CParameter *p)
 设置参数
 
CParameterGetParameter ()
 
Q_INVOKABLE CPluginClientGetPlugClient () const
 
virtual Q_INVOKABLE int Load (QString szFile=QString())
 从文件中加载参数
 
virtual Q_INVOKABLE int Save (QString szFile=QString())
 保存参数到文件中
 

Protected 属性

QAction * m_pMenuZoom
 
QAction * m_pZoomToWindow
 
QAction * m_pZoomAspectRatio
 
QAction * m_pZoomOriginal
 
QAction * m_pZoomIn
 
QAction * m_pZoomOut
 
QSpinBox * m_psbZoomFactor
 
QAction * m_pScreenShot
 
- Protected 属性 继承自 CConnecter
QMenu m_Menu
 
QAction * m_pSettings
 

Private 槽

void slotValueChanged (int v)
 emit by zoom menu in the class
 

Private 成员函数

virtual int Load (QSettings &set) override
 加载参数
 
virtual int Save (QSettings &set) override
 保存参数
 

Private 属性

CConnectThreadm_pThread
 
CFrmViewerm_pFrmViewer
 
CFrmScrollm_pScroll
 

额外继承的成员函数

- 信号 继承自 CConnecterConnect
void sigOpenConnect (CConnecterConnect *)
 
void sigCloseconnect (CConnecterConnect *)
 
- 信号 继承自 CConnecter
void sigConnected ()
 连接成功信号。仅由插件触发。 应用程序需要在此时设置视图属性 Enabled 为 true 。允许接收键盘和鼠标事件
 
void sigDisconnect ()
 通知用户断开连接。仅由插件触发。 当从插件中需要要断开连接时触发。例如:对端断开连接、重置连接或者连接出错。 当应用接收到此信号后,调用 DisConnect() 关闭连接。
 
void sigDisconnected ()
 断开连接成功信号。仅由插件触发
 
void sigUpdateName (const QString &szName)
 
void sigUpdateParameters (CConnecter *pConnecter)
 更新参数,通知应用程序保存或显示参数
 
void sigError (const int nError, const QString &szError)
 当有错误产生时触发。
 
void sigInformation (const QString &szInfo)
 中主窗口中显示信息
 
void sigShowMessageBox (const QString &title, const QString &message, const QMessageBox::Icon &icon=QMessageBox::Information)
 从后台线程中触发在主线程中显示消息对话框(QMessageBox),不阻塞后台线程
 
void sigClipBoardChanged ()
 
- 静态 Protected 成员函数 继承自 CConnecter
static QObject * createObject (const QString &className, QObject *parent=NULL)
 

详细描述

默认启动一个后台线程。实现一个后台线程处理一个连接。 可与插件接口从 CPluginClient 派生的插件一起使用,用于连接是阻塞模型的。

原理:在 Connect() 中启动一个后台线程 CConnectThread 。 在线程中调用 InstanceConnect() 实例化 CConnect , 并在 CConnect::Connect() 启动定时器, 此定时器在后台线程中调用,通过对定时器的操作,实现一个非 Qt 事件循环(可能会阻塞),详见 CConnect 。 并且 CConnect 仍然支持 Qt 事件(QObject 的 信号 - 槽 机制)(非阻塞)。

序列图:

注解
此接口仅由插件实现。
此接口实例运行在主线程(UI线程)中。
具体的插件需要实现下面接口:
  1. 实现 InstanceConnect() ,生成连接对象。连接对象运行在后台线程中。
参见
CConnect CConnectThread CConnecter CPluginClient CFrmViewer

在文件 ConnecterThread.h56 行定义.

构造及析构函数说明

◆ ~CConnecterThread()

CConnecterThread::~CConnecterThread ( )
virtual

在文件 ConnecterThread.cpp26 行定义.

成员函数说明

◆ Clean()

int CConnecterThread::Clean ( )
overridevirtual

Clean parameters and resource

参见
CClient::DeleteConnecter

实现了 CConnecter.

CConnecterFreeRDP, CConnecterLibVNCServer, CConnecterPlayer , 以及 CConnecterVnc 重载.

在文件 ConnecterThread.cpp145 行定义.

◆ Connect

int CConnecterThread::Connect ( )
overridevirtualslot

启动一个后台线程,并建立 CConnect 实例。在 CConnect 中触发 sigConnected()

参见
CConnectThread

在文件 ConnecterThread.cpp162 行定义.

◆ DisConnect

int CConnecterThread::DisConnect ( )
overridevirtualslot

◆ GetViewer()

QWidget * CConnecterThread::GetViewer ( )
overridevirtual

得到显示视图

返回
QWidget*: 视图指针。它的所有者是本类或其派生类的实例
参见
sigConnected CFrmViewer::CFrmViewer

实现了 CConnecter.

在文件 ConnecterThread.cpp157 行定义.

◆ Initial()

int CConnecterThread::Initial ( )
overridevirtual

Initial parameters and resource

参见
CClient::CreateConnecter

实现了 CConnecter.

CConnecterFreeRDP, CConnecterLibVNCServer, CConnecterPlayer , 以及 CConnecterVnc 重载.

在文件 ConnecterThread.cpp31 行定义.

◆ Load()

int CConnecterThread::Load ( QSettings &  set)
overrideprivatevirtual

加载参数

重载 CConnecter .

在文件 ConnecterThread.cpp203 行定义.

◆ Save()

int CConnecterThread::Save ( QSettings &  set)
overrideprivatevirtual

保存参数

重载 CConnecter .

在文件 ConnecterThread.cpp226 行定义.

◆ ServerName()

QString CConnecterThread::ServerName ( )
overrideprotectedvirtual

当前连接名(远程桌面的名称,如果没有,则是 IP:端口)。例如:服务名或 IP:端口

返回
返回服务名

重载 CConnecterConnect .

CConnecterVnc 重载.

在文件 ConnecterThread.cpp190 行定义.

◆ slotScreenShot

void CConnecterThread::slotScreenShot ( )
virtualslot

在文件 ConnecterThread.cpp277 行定义.

◆ slotValueChanged

void CConnecterThread::slotValueChanged ( int  v)
privateslot

emit by zoom menu in the class

在文件 ConnecterThread.cpp270 行定义.

类成员变量说明

◆ m_pFrmViewer

CFrmViewer* CConnecterThread::m_pFrmViewer
private

在文件 ConnecterThread.h106 行定义.

◆ m_pMenuZoom

QAction* CConnecterThread::m_pMenuZoom
protected

在文件 ConnecterThread.h110 行定义.

◆ m_psbZoomFactor

QSpinBox* CConnecterThread::m_psbZoomFactor
protected

在文件 ConnecterThread.h116 行定义.

◆ m_pScreenShot

QAction* CConnecterThread::m_pScreenShot
protected

在文件 ConnecterThread.h117 行定义.

◆ m_pScroll

CFrmScroll* CConnecterThread::m_pScroll
private

在文件 ConnecterThread.h107 行定义.

◆ m_pThread

CConnectThread* CConnecterThread::m_pThread
private

在文件 ConnecterThread.h105 行定义.

◆ m_pZoomAspectRatio

QAction* CConnecterThread::m_pZoomAspectRatio
protected

在文件 ConnecterThread.h112 行定义.

◆ m_pZoomIn

QAction* CConnecterThread::m_pZoomIn
protected

在文件 ConnecterThread.h114 行定义.

◆ m_pZoomOriginal

QAction* CConnecterThread::m_pZoomOriginal
protected

在文件 ConnecterThread.h113 行定义.

◆ m_pZoomOut

QAction* CConnecterThread::m_pZoomOut
protected

在文件 ConnecterThread.h115 行定义.

◆ m_pZoomToWindow

QAction* CConnecterThread::m_pZoomToWindow
protected

在文件 ConnecterThread.h111 行定义.


该类的文档由以下文件生成: