玉兔远程控制 0.1.0-alpha.2
载入中...
搜索中...
未找到
Backend.h
1// Author: Kang Lin <kl222@126.com>
2
3#pragma once
4
5#include <QObject>
6#include "Operate.h"
7
41class PLUGIN_EXPORT CBackend : public QObject
42{
43 Q_OBJECT
44public:
45 explicit CBackend(COperate *pOperate = nullptr);
46 virtual ~CBackend();
47
48public:
70 virtual int Start();
78 virtual int Stop();
82 virtual int WakeUp();
83
84protected:
85 enum class OnInitReturnValue {
86 Fail = -1,
87 Success = 0,
88 UseOnProcess = Success,
89 NotUseOnProcess = 1,
90 };
107 [[nodiscard]] virtual OnInitReturnValue OnInit() = 0;
114 virtual int OnClean() = 0;
130 [[nodiscard]] virtual int OnProcess();
131
132protected Q_SLOTS:
146 virtual void slotTimeOut();
147
148Q_SIGNALS:
165 void sigStop();
177 void sigError(const int nError, const QString &szError = QString());
190 void sigInformation(const QString& szInfo);
206 void sigShowMessageBox(const QString& szTitle, const QString& szMessage,
207 const QMessageBox::Icon& icon = QMessageBox::Information);
208
226 void sigBlockShowMessageBox(const QString& szTitle,
227 const QString& szMessage,
228 QMessageBox::StandardButtons buttons,
229 QMessageBox::StandardButton& nRet,
230 bool &checkBox,
231 QString checkBoxContext = QString());
241 void sigBlockInputDialog(const QString& szTitle,
242 const QString& szLable,
243 const QString& szMessage,
244 QString& szText
245 );
263 void sigBlockShowWidget(const QString& className, int &nRet, void* pContext);
264
265private:
266 int SetConnect(COperate* pOperate);
267};
后端接口。它由协议插件实现。 它默认启动一个定时器来开启一个非 Qt 事件循环(就是普通的循环处理)。 详见: Start()、 slotTimeOut()、 OnProcess() 。 当然,它仍然支...
Definition Backend.h:42
void sigInformation(const QString &szInfo)
从后台线程中触发在主线程中显示信息,不阻塞后台线程
void sigStop()
需要通知用户停止时触发。仅由插件触发。 当从插件中需要停止时触发。例如:对端断开连接、重置连接或者连接出错。
virtual OnInitReturnValue OnInit()=0
初始化
virtual int OnClean()=0
清理
void sigShowMessageBox(const QString &szTitle, const QString &szMessage, const QMessageBox::Icon &icon=QMessageBox::Information)
从后台线程中触发在主线程中显示消息对话框(QMessageBox),不阻塞后台线程
void sigError(const int nError, const QString &szError=QString())
当有错误产生时触发
void sigBlockShowMessageBox(const QString &szTitle, const QString &szMessage, QMessageBox::StandardButtons buttons, QMessageBox::StandardButton &nRet, bool &checkBox, QString checkBoxContext=QString())
阻塞后台线程,并在前台线程中显示消息对话框(QMessageBox)
void sigRunning()
当插件开始成功后触发。仅由插件触发
void sigFinished()
停止成功信号。仅由插件触发
void sigBlockShowWidget(const QString &className, int &nRet, void *pContext)
阻塞后台线程,并在前台线程中显示窗口。
void sigBlockInputDialog(const QString &szTitle, const QString &szLable, const QString &szMessage, QString &szText)
阻塞后台线程,并在前台线程中显示输入对话框 (QInputDialog)
操作接口。
Definition Operate.h:51