3#include <QLoggingCategory>
4#include "ParameterFreeRDPServer.h"
5#include "BackendFreeRDPServer.h"
7static Q_LOGGING_CATEGORY(log,
"FreeRDPServer.Backend")
11 , m_pPara(pOperate->GetParameter())
12 , m_pSettings(
nullptr)
14 , m_bServerInit(false)
16 qDebug(log) << Q_FUNC_INFO;
19CBackendFreeRDPServer::~CBackendFreeRDPServer()
21 qDebug(log) << Q_FUNC_INFO;
42 shadow_subsystem_set_entry_builtin(NULL);
44 m_pServer = shadow_server_new();
47 qCritical(log) <<
"Server new failed";
48 return OnInitReturnValue::Fail;
53 int nRet = shadow_server_init(m_pServer);
56 qCritical(log) <<
"Server initialization failed:" << nRet;
57 return OnInitReturnValue::Fail;
61 if ((nRet = shadow_server_start(m_pServer)) < 0)
63 qCritical(log) <<
"Failed to start server:" << nRet;
64 return OnInitReturnValue::Fail;
69 return OnInitReturnValue::NotUseOnProcess;
78 shadow_server_uninit(m_pServer);
79 shadow_server_free(m_pServer);
110int CBackendFreeRDPServer::SetParameters()
112 m_pSettings = m_pServer->settings;
113 m_pSettings->NlaSecurity = m_pPara->getNlaSecurity();
114 m_pSettings->TlsSecurity = m_pPara->getTlsSecurity();
115 m_pSettings->RdpSecurity = m_pPara->getRdpSecurity();
116 m_pSettings->UseRdpSecurityLayer = m_pSettings->RdpSecurity;
117 m_pSettings->ExtSecurity = m_pPara->getNlaExtSecurity();
118 if(!m_pPara->getSamFile().isEmpty())
119 freerdp_settings_set_string(m_pSettings, FreeRDP_NtlmSamFile,
120 m_pPara->getSamFile().toStdString().c_str());
122 m_pServer->authentication = m_pPara->getAuthentication();
124 m_pServer->port = m_pPara->m_Net.GetPort();
125 m_pServer->mayView = m_pPara->getMayView();
126 m_pServer->mayInteract = m_pPara->getMayInteract();
131void CBackendFreeRDPServer::slotDisconnect(
const QString &szIp,
const quint16 port)
virtual OnInitReturnValue OnInit() override
Initialization.
virtual int OnProcess() override
Specific operation processing of plug-in.
virtual int OnClean() override
Clean.