玉兔远程控制 0.0.31
载入中...
搜索中...
未找到
Public 槽 | 信号 | Public 成员函数 | Protected 成员函数 | 静态 Protected 成员函数 | Protected 属性 | Private 槽 | Private 成员函数 | Private 属性 | 所有成员列表

连接者应用接口。 更多...

#include <Connecter.h>

类 CConnecter 继承关系图:
CConnecterConnect CConnecterTerminal CScreenCapture CConnecterThread CConnecterWakeOnLan CConnecterPluginTerminal CConnecterSSH CConnecterTelnet CConnecterFreeRDP CConnecterLibVNCServer CConnecterPlayer CConnecterVnc

Public 槽

virtual int Connect ()=0
 开始连接
 
virtual int DisConnect ()=0
 关闭连接
 

信号

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 ()
 

Public 成员函数

 CConnecter (CPluginClient *plugin)
 
virtual const QString Id ()
 Identity
 
virtual const QString Name ()
 Name
 
virtual const QString Description ()
 Description
 
virtual const QString Protocol () const
 Protocol
 
virtual qint16 Version ()=0
 Version
 
virtual const QIcon Icon () const
 Icon
 
virtual QWidget * GetViewer ()=0
 得到显示视图
 
virtual int OpenDialogSettings (QWidget *parent=nullptr)
 打开设置对话框
 
virtual QMenu * GetMenu (QWidget *parent=nullptr)
 Get operate menu
 

Protected 成员函数

virtual int SetParameter (CParameter *p)
 设置参数
 
CParameterGetParameter ()
 
Q_INVOKABLE CPluginClientGetPlugClient () const
 
virtual int Load (QSettings &set)
 加载参数
 
virtual int Save (QSettings &set)
 保存参数
 
virtual Q_INVOKABLE int Load (QString szFile=QString())
 从文件中加载参数
 
virtual Q_INVOKABLE int Save (QString szFile=QString())
 保存参数到文件中
 

静态 Protected 成员函数

static QObject * createObject (const QString &className, QObject *parent=NULL)
 

Protected 属性

QMenu m_Menu
 
QAction * m_pSettings
 

Private 槽

void slotShowServerName ()
 
void slotUpdateName ()
 
virtual void slotBlockShowWidget (const QString &className, int &nRet, void *pContext)
 阻塞后台线程,并在前台线程中显示窗口。
 
virtual void slotBlockShowMessageBox (const QString &szTitle, const QString &szMessage, QMessageBox::StandardButtons buttons, QMessageBox::StandardButton &nRet, bool &checkBox, QString szCheckBoxContext=QString())
 阻塞后台线程,并在前台线程中显示消息对话框(QMessageBox)
 
virtual void slotBlockInputDialog (const QString &szTitle, const QString &szLable, const QString &szMessage, QString &szText)
 Block background threads and display input dialogs in foreground threads (QInputDialog)
 
virtual void slotSetClipboard (QMimeData *data)
 
virtual void slotSettings ()
 

Private 成员函数

virtual Q_INVOKABLE int Initial ()=0
 Initial parameters and resource
 
virtual Q_INVOKABLE int Clean ()=0
 Clean parameters and resource
 
virtual Q_INVOKABLE int SetParameterClient (CParameterClient *pPara)
 Set CParameterClient
 
virtual QDialog * OnOpenDialogSettings (QWidget *parent=nullptr)=0
 得到设置对话框
 

Private 属性

CPluginClientm_pPluginClient
 
CParameterm_pParameter
 

详细描述

连接者应用接口。

注解
  • 此接口仅由是用户使用。它由插件实现。
  • 它的实例在主线程中。

序列图:

已经提供以下类型的基本实现:

  1. 桌面类连接:
    1.1. 用于连接是阻塞模型(一个后台线程处理一个连接): CConnecterThread
    1.2. 用于连接是非阻塞模型(一个后台线程处理多个连接): CConnecterConnect
  2. 工具类:
    2.1. 用于连接是非阻塞模型(在主线程): CConnecterConnect
  3. 控制台类连接:CConnecterTerminal
参见
CPluginClient

在文件 Connecter.h61 行定义.

构造及析构函数说明

◆ CConnecter()

CConnecter::CConnecter ( CPluginClient plugin)
explicit
参数
plugin此指针必须是相应的 CPluginClient 派生类的实例指针
注解
如果参数( CParameterConnecter 或其派生类)需要 CParameterClient 。 请在其派生类的构造函数(或者 OnInitial() )中实例化参数, 并在 OnInitial() 调用 CConnecter::SetParameter 设置参数指针。 如果参数不需要 CParameterClient , 那请在其派生类重载 CConnecter::SetParameterClient
参见
CClient::CreateConnecter SetParameterClient SetParameter CParameterConnecter CParameterClient

◆ ~CConnecter()

CConnecter::~CConnecter ( )
virtual

在文件 Connecter.cpp42 行定义.

成员函数说明

◆ Clean()

virtual Q_INVOKABLE int CConnecter::Clean ( )
privatepure virtual

◆ Connect

virtual int CConnecter::Connect ( )
pure virtualslot

开始连接

注解
仅由用户调用,插件不能直接调用此函数。 插件连接好后,触发信号 sigConnected()
参见
sigConnected()

◆ createObject()

QObject * CConnecter::createObject ( const QString &  className,
QObject *  parent = NULL 
)
staticprotected

在文件 Connecter.cpp218 行定义.

◆ Description()

const QString CConnecter::Description ( )
virtual

Description

CConnecterConnect 重载.

在文件 Connecter.cpp58 行定义.

◆ DisConnect

virtual int CConnecter::DisConnect ( )
pure virtualslot

关闭连接

注解
仅由用户调用,插件不能直接调用此函数。 插件断开连接后,触发信号 sigDisconnected()。调用者收到信号后,删除对象
参见
sigDisconnected()

◆ GetMenu()

QMenu * CConnecter::GetMenu ( QWidget *  parent = nullptr)
virtual

Get operate menu

在文件 Connecter.cpp113 行定义.

◆ GetParameter()

CParameter * CConnecter::GetParameter ( )
protected

在文件 Connecter.cpp198 行定义.

◆ GetPlugClient()

CPluginClient * CConnecter::GetPlugClient ( ) const
protected

在文件 Connecter.cpp203 行定义.

◆ GetViewer()

virtual QWidget * CConnecter::GetViewer ( )
pure virtual

得到显示视图

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

CConnecterThread, CConnecterTerminal, CScreenCapture , 以及 CConnecterWakeOnLan 内被实现.

◆ Icon()

const QIcon CConnecter::Icon ( ) const
virtual

Icon

在文件 Connecter.cpp74 行定义.

◆ Id()

const QString CConnecter::Id ( )
virtual

Identity

CConnecterConnect, CConnecterVnc , 以及 CConnecterWakeOnLan 重载.

在文件 Connecter.cpp47 行定义.

◆ Initial()

virtual Q_INVOKABLE int CConnecter::Initial ( )
privatepure virtual

◆ Load() [1/2]

int CConnecter::Load ( QSettings &  set)
protectedvirtual

加载参数

CConnecterThread, CConnecterTerminal , 以及 CConnecterWakeOnLan 重载.

在文件 Connecter.cpp144 行定义.

◆ Load() [2/2]

int CConnecter::Load ( QString  szFile = QString())
protectedvirtual

从文件中加载参数

参见
CClient::LoadConnecter

在文件 Connecter.cpp120 行定义.

◆ Name()

const QString CConnecter::Name ( )
virtual

Name

CConnecterConnect , 以及 CConnecterWakeOnLan 重载.

在文件 Connecter.cpp53 行定义.

◆ OnOpenDialogSettings()

virtual QDialog * CConnecter::OnOpenDialogSettings ( QWidget *  parent = nullptr)
privatepure virtual

得到设置对话框

参数
parent返回窗口的父窗口
返回
QDialog*: 插件实现时,此对话框必须设置属性 Qt::WA_DeleteOnClose, 它的所有者是调用者
参见
OpenDialogSettings

CConnecterFreeRDP, CConnecterLibVNCServer, CConnecterPlayer, CScreenCapture, CConnecterWakeOnLan , 以及 CConnecterVnc 内被实现.

◆ OpenDialogSettings()

int CConnecter::OpenDialogSettings ( QWidget *  parent = nullptr)
virtual

打开设置对话框

参数
parent
返回
DialogCode
  • QDialog::Accepted: 接收
  • QDialog::Rejected: 拒绝
  • -1: 错误

在文件 Connecter.cpp93 行定义.

◆ Protocol()

const QString CConnecter::Protocol ( ) const
virtual

Protocol

在文件 Connecter.cpp69 行定义.

◆ Save() [1/2]

int CConnecter::Save ( QSettings &  set)
protectedvirtual

保存参数

CConnecterThread, CConnecterTerminal , 以及 CConnecterWakeOnLan 重载.

在文件 Connecter.cpp153 行定义.

◆ Save() [2/2]

int CConnecter::Save ( QString  szFile = QString())
protectedvirtual

保存参数到文件中

参数
szFile文件名。
参见
CClient::SaveConnecter

在文件 Connecter.cpp132 行定义.

◆ SetParameter()

int CConnecter::SetParameter ( CParameter p)
protectedvirtual

设置参数

注解
在派生类的构造函数(或者 OnInitial() )中先实例化参数, 然后在 OnInitial() 中调用此函数设置参数。
参见
使用连接基础参数
SetParameterClient() CClient::CreateConnecter

在文件 Connecter.cpp188 行定义.

◆ SetParameterClient()

int CConnecter::SetParameterClient ( CParameterClient pPara)
privatevirtual

Set CParameterClient

注解
If CParameterConnecter isn't need CParameterClient. please overload this function.
参见
CClient::CreateConnecter CParameterConnecter CParameterClient

CConnecterConnect , 以及 CConnecterWakeOnLan 重载.

在文件 Connecter.cpp163 行定义.

◆ sigConnected

void CConnecter::sigConnected ( )
signal

连接成功信号。仅由插件触发。 应用程序需要在此时设置视图属性 Enabled 为 true 。允许接收键盘和鼠标事件

参见
MainWindow::slotConnected() GetViewer() CFrmViewer::CFrmViewer
{
CConnecter* p = dynamic_cast<CConnecter*>(sender());
if(!p) return;
/* If you put it here, when connected, the view is not displayed.
So put it in the connect() display view.
See: Connect(CConnecter *p, bool set, QString szFile)
*/
/*
if(m_pView)
{
m_pView->SetAdaptWindows(CFrmViewer::Auto, p->GetViewer());
m_pView->AddView(p->GetViewer());
m_pView->SetWidowsTitle(p->GetViewer(), p->Name(), p->Icon(), p->Description());
}
m_Connecters.push_back(p);//*/
slotLoadConnecterMenu();
slotInformation(tr("Connected to ") + p->Name());
qDebug(log) << "MainWindow::slotConnected()" << p->Name();
}
连接者应用接口。
Definition Connecter.h:62
virtual const QString Name()
Name
Definition Connecter.cpp:53
void slotConnected()
[MainWindow slotConnected]

◆ sigDisconnected

void CConnecter::sigDisconnected ( )
signal

断开连接成功信号。仅由插件触发

参见
Disconnect()

◆ sigInformation

void CConnecter::sigInformation ( const QString &  szInfo)
signal

中主窗口中显示信息

注解
它与 sigShowMessageBox 的区别是 sigShowMessageBox 用对话框显示
参见
sigShowMessageBox MainWindow::slotInformation()

◆ sigShowMessageBox

void CConnecter::sigShowMessageBox ( const QString &  title,
const QString &  message,
const QMessageBox::Icon &  icon = QMessageBox::Information 
)
signal

从后台线程中触发在主线程中显示消息对话框(QMessageBox),不阻塞后台线程

注解
它与 sigInformation 区别是,sigInformation 不用对话框显示
参见
sigInformation Connect::SetConnecter MainWindow::slotShowMessageBox

◆ sigUpdateName

void CConnecter::sigUpdateName ( const QString &  szName)
signal
注解
名称更新。此信号仅由本类触发

◆ sigUpdateParameters

void CConnecter::sigUpdateParameters ( CConnecter pConnecter)
signal

更新参数,通知应用程序保存或显示参数

注解
插件不要直接使用它,请用 CParameter::sigChanged 触发此信号
参见
SetParameter

◆ slotBlockInputDialog

void CConnecter::slotBlockInputDialog ( const QString &  szTitle,
const QString &  szLable,
const QString &  szMessage,
QString &  szText 
)
privatevirtualslot

Block background threads and display input dialogs in foreground threads (QInputDialog)

参见
CConnecter::sigBlockInputDialog() SetConnecter

在文件 Connecter.cpp312 行定义.

◆ slotBlockShowMessageBox

void CConnecter::slotBlockShowMessageBox ( const QString &  szTitle,
const QString &  szMessage,
QMessageBox::StandardButtons  buttons,
QMessageBox::StandardButton &  nRet,
bool &  checkBox,
QString  szCheckBoxContext = QString() 
)
privatevirtualslot

阻塞后台线程,并在前台线程中显示消息对话框(QMessageBox)

参见
CConnect::sigBlockShowMessageBox

在文件 Connecter.cpp291 行定义.

◆ slotBlockShowWidget

void CConnecter::slotBlockShowWidget ( const QString &  className,
int &  nRet,
void *  pContext 
)
privatevirtualslot

阻塞后台线程,并在前台线程中显示窗口。

参见
CConnect::sigBlockShowWidget()

在文件 Connecter.cpp248 行定义.

◆ slotSetClipboard

void CConnecter::slotSetClipboard ( QMimeData *  data)
privatevirtualslot
注解
仅由 CConnect::SetConnecter() 使用

在文件 Connecter.cpp79 行定义.

◆ slotSettings

void CConnecter::slotSettings ( )
privatevirtualslot

在文件 Connecter.cpp327 行定义.

◆ slotShowServerName

void CConnecter::slotShowServerName ( )
privateslot

在文件 Connecter.cpp208 行定义.

◆ slotUpdateName

void CConnecter::slotUpdateName ( )
privateslot

在文件 Connecter.cpp213 行定义.

◆ Version()

virtual qint16 CConnecter::Version ( )
pure virtual

类成员变量说明

◆ m_Menu

QMenu CConnecter::m_Menu
protected

在文件 Connecter.h404 行定义.

◆ m_pParameter

CParameter* CConnecter::m_pParameter
private

在文件 Connecter.h413 行定义.

◆ m_pPluginClient

CPluginClient* CConnecter::m_pPluginClient
private

在文件 Connecter.h410 行定义.

◆ m_pSettings

QAction* CConnecter::m_pSettings
protected

在文件 Connecter.h405 行定义.


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