玉兔远程控制 0.1.0-bate16
载入中...
搜索中...
未找到
OperateFreeRDP.cpp
1// Author: Kang Lin <kl222@126.com>
2
3#include "OperateFreeRDP.h"
4#include "BackendFreeRDP.h"
5#include "DlgSetFreeRDP.h"
6#include <QInputDialog>
7#include <QLoggingCategory>
8
9static Q_LOGGING_CATEGORY(log, "FreeRDP.Operate")
10
12 : COperateDesktop(plugin)
13{
14 qDebug(log) << Q_FUNC_INFO;
15 //WLog_SetLogLevel(WLog_GetRoot(), WLOG_TRACE);
16
17 // 在 freerdp_client_context_free 中释放
18 //m_ParameterFreeRdp.m_pSettings = freerdp_settings_new(0);
19}
20
21COperateFreeRDP::~COperateFreeRDP()
22{
23 qDebug(log) << Q_FUNC_INFO;
24}
25
26const qint16 COperateFreeRDP::Version() const
27{
28 return 0;
29}
30
33{
34 qDebug(log) << Q_FUNC_INFO;
35 int nRet = 0;
37 if(nRet) return nRet;
39 return nRet;
40}
41
42
44{
45 qDebug(log) << Q_FUNC_INFO;
46 int nRet = 0;
48 return nRet;
49}
50
52{
53 return new CDlgSetFreeRDP(&m_ParameterFreeRdp, parent);
54}
55
57{
58 try{
59 CBackendFreeRDP* p = new CBackendFreeRDP(this);
60 return p;
61 } catch(...) {
62 qDebug(log) << Q_FUNC_INFO << "exception";
63 return nullptr;
64 }
65}
后端接口。它由协议插件实现。 它默认启动一个定时器来开启一个非 Qt 事件循环(就是普通的循环处理)。 详见: Start()、 slotTimeOut()、 OnProcess() 。 当然,它仍然支...
远程桌面操作接口
virtual int SetParameter(CParameterDesktop *p)
设置参数指针
virtual int Initial() override
Initial parameters and resource
virtual int Clean() override
Clean parameters and resource
CParameterFreeRDP m_ParameterFreeRdp
[Initialize parameter]
virtual const qint16 Version() const override
[The description of the desktop operate]
virtual int Initial() override
[Set the parameter]
virtual QDialog * OnOpenDialogSettings(QWidget *parent) override
得到设置对话框
virtual int Clean() override
[Set the parameter]
virtual Q_INVOKABLE CBackend * InstanceBackend() override
新建后端实例。它的所有者是调用者, 如果调用者不再使用它,调用者必须负责释放它。
插件接口