1#include "ParameterFreeRDP.h"
4#include <openssl/tls1.h>
9CParameterFreeRDP::CParameterFreeRDP(QObject *parent)
14 m_bUseMultimon(false),
15 m_nReconnectInterval(0),
16 m_bShowVerifyDiaglog(true),
17 m_bRedirectionPrinter(false),
18 m_nRedirectionSound(RedirecionSoundType::Disable),
19 m_bRedirectionMicrophone(false),
21 m_bNegotiateSecurityLayer(true),
22 m_Security((Security)(Security::RDP|Security::TLS|Security::NLA)),
23 m_tlsVersion(TLS1_VERSION),
24 m_ConnectType(CONNECTION_TYPE_AUTODETECT),
25 m_PerformanceFlags(PERF_FLAG_NONE)
30 QList<CParameterProxy::TYPE>() << CParameterProxy::TYPE::None
31 << CParameterProxy::TYPE::SSHTunnel);
33 m_szRedirectionSoundParameters =
34 #if defined (Q_OS_WINDOWS) || defined(Q_OS_WIN) || defined(Q_OS_WIN32) || defined(Q_OS_WINRT)
36 #elif defined(Q_OS_IOS)
38 #elif defined (Q_OS_ANDROID)
40 #elif defined (Q_OS_LINUX) || defined (Q_OS_UNIX)
44 m_szRedirectionMicrophoneParameters = m_szRedirectionSoundParameters;
47int CParameterFreeRDP::OnLoad(QSettings &set)
49 CParameterBase::OnLoad(set);
51 set.beginGroup(
"FreeRDP");
52 SetDomain(set.value(
"Domain", GetDomain()).toString());
53 SetDesktopWidth(set.value(
"Width", GetDesktopWidth()).toInt());
54 SetDesktopHeight(set.value(
"Height", GetDesktopHeight()).toInt());
55 SetColorDepth(set.value(
"ColorDepth", GetColorDepth()).toInt());
56 SetUseMultimon(set.value(
"UseMultimon", GetUseMultimon()).toBool());
57 SetReconnectInterval(set.value(
"ReconnectionInterval",
58 GetReconnectInterval()).toInt());
60 SetShowVerifyDiaglog(set.value(
"ShowVerifyDiaglog",
61 GetShowVerifyDiaglog()).toBool());
63 SetRedirectionPrinter(set.value(
"Redirection/Printer",
64 GetRedirectionPrinter()).toBool());
65 SetRedirectionSound(
static_cast<RedirecionSoundType
>(set.value(
"Redirection/Sound",
66 static_cast<int>(GetRedirectionSound())).toInt()));
67 SetRedirectionSoundParameters(set.value(
"Redirection/Sound/Parameters",
68 GetRedirectionSoundParameters()).toString());
69 SetRedirectionMicrophone(set.value(
"Redirection/Microphone",
70 GetRedirectionMicrophone()).toBool());
71 SetRedirectionMicrophoneParameters(set.value(
"Redirection/Microphone/Parameters",
72 GetRedirectionMicrophoneParameters()).toString());
73 SetRedirectionDrives(set.value(
"Redirection/Drive").toStringList());
75 SetNegotiateSecurityLayer(set.value(
"Security/Enable", GetNegotiateSecurityLayer()).toBool());
76 SetSecurity((Security)set.value(
"Security/Type", GetSecurity()).toUInt());
77 SetTlsVersion(set.value(
"Security/Tls/Version", GetTlsVersion()).toUInt());
79 set.beginGroup(
"Performance");
80 SetConnectType(set.value(
"Connect/Type", GetConnectType()).toUInt());
81 SetPerformanceFlags(set.value(
"Flags", GetPerformanceFlags()).toUInt());
89int CParameterFreeRDP::OnSave(QSettings &set)
91 CParameterBase::OnSave(set);
93 set.beginGroup(
"FreeRDP");
94 set.setValue(
"Domain", GetDomain());
95 set.setValue(
"Width", GetDesktopWidth());
96 set.setValue(
"Height", GetDesktopHeight());
97 set.setValue(
"ColorDepth", GetColorDepth());
98 set.setValue(
"UseMultimon", GetUseMultimon());
100 set.setValue(
"ReconnectionInterval", GetReconnectInterval());
101 set.setValue(
"ShowVerifyDiaglog", GetShowVerifyDiaglog());
103 set.setValue(
"Redirection/Printer", GetRedirectionPrinter());
104 set.setValue(
"Redirection/Sound",
static_cast<int>(GetRedirectionSound()));
105 set.setValue(
"Redirection/Sound/Parameters", GetRedirectionSoundParameters());
106 set.setValue(
"Redirection/Microphone", GetRedirectionMicrophone());
107 set.setValue(
"Redirection/Microphone/Parameters", GetRedirectionMicrophoneParameters());
108 set.setValue(
"Redirection/Drive", GetRedirectionDrives());
110 set.setValue(
"Security/Enable", GetNegotiateSecurityLayer());
111 set.setValue(
"Security/Type", (uint)GetSecurity());
112 set.setValue(
"Security/Tls/Version", GetTlsVersion());
114 set.beginGroup(
"Performance");
115 set.setValue(
"Connect/Type", GetConnectType());
116 set.setValue(
"Flags", GetPerformanceFlags());
124UINT32 CParameterFreeRDP::GetDesktopWidth()
const
129int CParameterFreeRDP::SetDesktopWidth(UINT32 nWidth)
131 if(m_nWidth == nWidth)
138UINT32 CParameterFreeRDP::GetDesktopHeight()
const
143int CParameterFreeRDP::SetDesktopHeight(UINT32 nHeight)
145 if(m_nHeight == nHeight)
152UINT32 CParameterFreeRDP::GetColorDepth()
const
154 return m_nColorDepth;
157int CParameterFreeRDP::SetColorDepth(UINT32 color)
159 if(m_nColorDepth == color)
161 m_nColorDepth = color;
166bool CParameterFreeRDP::GetUseMultimon()
const
168 return m_bUseMultimon;
171int CParameterFreeRDP::SetUseMultimon(
bool bUse)
173 if(m_bUseMultimon == bUse)
175 m_bUseMultimon = bUse;
180UINT CParameterFreeRDP::GetReconnectInterval()
const
182 return m_nReconnectInterval;
185void CParameterFreeRDP::SetReconnectInterval(UINT newReconnectInterval)
187 if (m_nReconnectInterval == newReconnectInterval)
190 m_nReconnectInterval = newReconnectInterval;
192 emit sigReconnectIntervalChanged();
195bool CParameterFreeRDP::GetShowVerifyDiaglog()
const
197 return m_bShowVerifyDiaglog;
200void CParameterFreeRDP::SetShowVerifyDiaglog(
bool bShow)
202 if(m_bShowVerifyDiaglog == bShow)
204 m_bShowVerifyDiaglog = bShow;
208CParameterFreeRDP::RedirecionSoundType CParameterFreeRDP::GetRedirectionSound()
const
210 return m_nRedirectionSound;
213void CParameterFreeRDP::SetRedirectionSound(RedirecionSoundType newRedirectionSound)
215 if (m_nRedirectionSound == newRedirectionSound)
217 m_nRedirectionSound = newRedirectionSound;
219 emit sigRedirectionSoundChanged(m_nRedirectionSound);
222bool CParameterFreeRDP::GetRedirectionMicrophone()
const
224 return m_bRedirectionMicrophone;
227void CParameterFreeRDP::SetRedirectionMicrophone(
bool newRedirectionMicrophone)
229 if (m_bRedirectionMicrophone == newRedirectionMicrophone)
231 m_bRedirectionMicrophone = newRedirectionMicrophone;
233 emit sigRedirectionMicrophoneChanged(m_bRedirectionMicrophone);
236QStringList CParameterFreeRDP::GetRedirectionDrives()
const
238 return m_lstRedirectionDrives;
241void CParameterFreeRDP::SetRedirectionDrives(
const QStringList &newRedirectionDrive)
243 if (m_lstRedirectionDrives == newRedirectionDrive)
245 m_lstRedirectionDrives = newRedirectionDrive;
247 emit sigRedirectionDrivesChanged(m_lstRedirectionDrives);
250bool CParameterFreeRDP::GetRedirectionPrinter()
const
252 return m_bRedirectionPrinter;
255void CParameterFreeRDP::SetRedirectionPrinter(
bool newRedirectionPrinter)
257 if (m_bRedirectionPrinter == newRedirectionPrinter)
259 m_bRedirectionPrinter = newRedirectionPrinter;
261 emit sigRedirectionPrinterChanged(m_bRedirectionPrinter);
264const QString &CParameterFreeRDP::GetRedirectionSoundParameters()
const
266 return m_szRedirectionSoundParameters;
269void CParameterFreeRDP::SetRedirectionSoundParameters(
const QString &newRedirectionSoundParameters)
271 if (m_szRedirectionSoundParameters == newRedirectionSoundParameters)
273 m_szRedirectionSoundParameters = newRedirectionSoundParameters;
275 emit sigRedirectionSoundParametersChanged();
278const QString &CParameterFreeRDP::GetRedirectionMicrophoneParameters()
const
280 return m_szRedirectionMicrophoneParameters;
283void CParameterFreeRDP::SetRedirectionMicrophoneParameters(
const QString &newRedirectionMicrophoneParameters)
285 if (m_szRedirectionMicrophoneParameters == newRedirectionMicrophoneParameters)
287 m_szRedirectionMicrophoneParameters = newRedirectionMicrophoneParameters;
289 emit sigRedirectionMicrophoneParametersChanged();
292UINT16 CParameterFreeRDP::GetTlsVersion()
const
297void CParameterFreeRDP::SetTlsVersion(UINT16 newTlsVersion)
299 if(m_tlsVersion == newTlsVersion)
301 m_tlsVersion = newTlsVersion;
305UINT32 CParameterFreeRDP::GetConnectType()
const
307 return m_ConnectType;
310void CParameterFreeRDP::SetConnectType(UINT32 newConnectType)
312 if(m_ConnectType == newConnectType)
314 m_ConnectType = newConnectType;
318UINT32 CParameterFreeRDP::GetPerformanceFlags()
const
320 return m_PerformanceFlags;
323void CParameterFreeRDP::SetPerformanceFlags(UINT32 newPerformanceFlags)
325 if(m_PerformanceFlags == newPerformanceFlags)
327 m_PerformanceFlags = newPerformanceFlags;
331bool CParameterFreeRDP::GetNegotiateSecurityLayer()
const
333 return m_bNegotiateSecurityLayer;
336void CParameterFreeRDP::SetNegotiateSecurityLayer(
bool newNegotiateSecurityLayer)
338 if(m_bNegotiateSecurityLayer == newNegotiateSecurityLayer)
340 m_bNegotiateSecurityLayer = newNegotiateSecurityLayer;
344CParameterFreeRDP::Security CParameterFreeRDP::GetSecurity()
const
349void CParameterFreeRDP::SetSecurity(Security newSecurity)
351 if(m_Security == newSecurity)
353 m_Security = newSecurity;
357void CParameterFreeRDP::SetDomain(
const QString& szDomain)
359 if(m_szDomain == szDomain)
361 m_szDomain = szDomain;
365const QString CParameterFreeRDP::GetDomain()
const
The interface of connecter parameters.
int SetModified(bool bModified=true)
When setting parameters, if there is a modification, it is called.