玉兔远程控制 0.0.31
载入中...
搜索中...
未找到
Connect.h
1// Author: Kang Lin <kl222@126.com>
2
3#ifndef CCONNECT_H
4#define CCONNECT_H
5
6#pragma once
7
8#include <QMessageBox>
9#include "Connecter.h"
10
44class CLIENT_EXPORT CConnect : public QObject
45{
46 Q_OBJECT
47
48public:
58 explicit CConnect(CConnecter* pConnecter);
59 virtual ~CConnect() override;
60
61public Q_SLOTS:
83 virtual int Connect();
91 virtual int Disconnect();
92
93protected:
94 enum class OnInitReturnValue {
95 Fail = -1,
96 Success = 0,
97 UseOnProcess = Success,
98 NotUseOnProcess = 1,
99 };
116 virtual OnInitReturnValue OnInit() = 0;
123 virtual int OnClean() = 0;
139 virtual int OnProcess();
140
141protected Q_SLOTS:
155 virtual void slotTimeOut();
156
157Q_SIGNALS:
186 void sigError(const int nError, const QString &szError = QString());
199 void sigInformation(const QString& szInfo);
215 void sigShowMessageBox(const QString& szTitle, const QString& szMessage,
216 const QMessageBox::Icon& icon = QMessageBox::Information);
217
235 void sigBlockShowMessageBox(const QString& szTitle,
236 const QString& szMessage,
237 QMessageBox::StandardButtons buttons,
238 QMessageBox::StandardButton& nRet,
239 bool &checkBox,
240 QString checkBoxContext = QString());
250 void sigBlockInputDialog(const QString& szTitle,
251 const QString& szLable,
252 const QString& szMessage,
253 QString& szText
254 );
273 void sigBlockShowWidget(const QString& className, int &nRet, void* pContext);
274
275private:
276 int SetConnecter(CConnecter* pConnecter);
277};
278
279#endif // CCONNECT_H
连接接口。它由协议插件实现。 它默认启动一个定时器来开启一个非 Qt 事件循环(就是普通的循环处理)。 详见: Connect()、 slotTimeOut()、 OnProcess() 。 当然,它仍...
Definition Connect.h:45
void sigError(const int nError, const QString &szError=QString())
当有错误产生时触发
void sigInformation(const QString &szInfo)
从后台线程中触发在主线程中显示信息,不阻塞后台线程
void sigBlockShowMessageBox(const QString &szTitle, const QString &szMessage, QMessageBox::StandardButtons buttons, QMessageBox::StandardButton &nRet, bool &checkBox, QString checkBoxContext=QString())
阻塞后台线程,并在前台线程中显示消息对话框(QMessageBox)
void sigShowMessageBox(const QString &szTitle, const QString &szMessage, const QMessageBox::Icon &icon=QMessageBox::Information)
从后台线程中触发在主线程中显示消息对话框(QMessageBox),不阻塞后台线程
void sigBlockInputDialog(const QString &szTitle, const QString &szLable, const QString &szMessage, QString &szText)
阻塞后台线程,并在前台线程中显示输入对话框 (QInputDialog)
void sigConnected()
当插件连接成功后触发。仅由插件触发
void sigDisconnect()
通知用户断开连接。仅由插件触发。 当从插件中需要要断开连接时触发。例如:对端断开连接、重置连接或者连接出错。
virtual OnInitReturnValue OnInit()=0
具体的插件实现连接初始化
CConnect(CConnecter *pConnecter)
virtual int OnClean()=0
清理
void sigDisconnected()
断开连接成功信号。仅由插件触发
void sigBlockShowWidget(const QString &className, int &nRet, void *pContext)
阻塞后台线程,并在前台线程中显示窗口。
连接者应用接口。
Definition Connecter.h:62