mirror of
https://github.com/mRemoteNG/mRemoteNG.git
synced 2026-02-17 14:07:46 +08:00
moved most RDP enums to their own files
This commit is contained in:
@@ -9,6 +9,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
- #1443: Chinese (simplified) translation improvements
|
||||
- #1437: Norwegian translation improvements
|
||||
- #1239: Increased default key derivation function (KDF) iterations from 1000 to 10000
|
||||
- Moved most RDP enums outside of the RDP protocol class. Scripts which reference these enums will need to be updated.
|
||||
### Fixed
|
||||
- #1447: Exception occurs when resetting layout
|
||||
- #1439: Searching in hosts tree loses first keystroke
|
||||
|
||||
@@ -98,9 +98,9 @@ namespace mRemoteNGTests.Config.Serializers.ConnectionSerializers.Csv
|
||||
UseCredSsp = true,
|
||||
RenderingEngine = HTTPBase.RenderingEngine.Gecko,
|
||||
ICAEncryptionStrength = IcaProtocol.EncryptionStrength.Encr40Bit,
|
||||
RDPAuthenticationLevel = RdpProtocol.AuthenticationLevel.WarnOnFailedAuth,
|
||||
Colors = RdpProtocol.RDPColors.Colors16Bit,
|
||||
Resolution = RdpProtocol.RDPResolutions.Res1366x768,
|
||||
RDPAuthenticationLevel = AuthenticationLevel.WarnOnFailedAuth,
|
||||
Colors = RDPColors.Colors16Bit,
|
||||
Resolution = RDPResolutions.Res1366x768,
|
||||
AutomaticResize = true,
|
||||
DisplayWallpaper = true,
|
||||
DisplayThemes = true,
|
||||
@@ -111,7 +111,7 @@ namespace mRemoteNGTests.Config.Serializers.ConnectionSerializers.Csv
|
||||
RedirectPorts = true,
|
||||
RedirectPrinters = true,
|
||||
RedirectSmartCards = true,
|
||||
RedirectSound = RdpProtocol.RDPSounds.LeaveAtRemoteComputer,
|
||||
RedirectSound = RDPSounds.LeaveAtRemoteComputer,
|
||||
RedirectAudioCapture = true,
|
||||
RedirectKeys = true,
|
||||
VNCCompression = ProtocolVNC.Compression.Comp4,
|
||||
@@ -122,8 +122,8 @@ namespace mRemoteNGTests.Config.Serializers.ConnectionSerializers.Csv
|
||||
VNCColors = ProtocolVNC.Colors.Col8Bit,
|
||||
VNCSmartSizeMode = ProtocolVNC.SmartSizeMode.SmartSAspect,
|
||||
VNCViewOnly = true,
|
||||
RDGatewayUsageMethod = RdpProtocol.RDGatewayUsageMethod.Detect,
|
||||
RDGatewayUseConnectionCredentials = RdpProtocol.RDGatewayUseConnectionCredentials.SmartCard
|
||||
RDGatewayUsageMethod = RDGatewayUsageMethod.Detect,
|
||||
RDGatewayUseConnectionCredentials = RDGatewayUseConnectionCredentials.SmartCard
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -19,9 +19,9 @@ namespace mRemoteNGTests.Config.Serializers.MiscSerializers
|
||||
private const string ExpectedGatewayHostname = "gatewayhostname.domain.com";
|
||||
private const string ExpectedLoadBalanceInfo = "tsv://MS Terminal Services Plugin.1.RDS-NAME";
|
||||
private const int ExpectedPort = 9933;
|
||||
private const RdpProtocol.RDPColors ExpectedColors = RdpProtocol.RDPColors.Colors24Bit;
|
||||
private const RDPColors ExpectedColors = RDPColors.Colors24Bit;
|
||||
private const bool ExpectedBitmapCaching = false;
|
||||
private const RdpProtocol.RDPResolutions ExpectedResolutionMode = RdpProtocol.RDPResolutions.FitToWindow;
|
||||
private const RDPResolutions ExpectedResolutionMode = RDPResolutions.FitToWindow;
|
||||
private const bool ExpectedWallpaperDisplay = true;
|
||||
private const bool ExpectedThemesDisplay = true;
|
||||
private const bool ExpectedFontSmoothing = true;
|
||||
@@ -30,7 +30,7 @@ namespace mRemoteNGTests.Config.Serializers.MiscSerializers
|
||||
private const bool ExpectedDriveRedirection = true;
|
||||
private const bool ExpectedPortRedirection = true;
|
||||
private const bool ExpectedPrinterRedirection = true;
|
||||
private const RdpProtocol.RDPSounds ExpectedSoundRedirection = RdpProtocol.RDPSounds.BringToThisComputer;
|
||||
private const RDPSounds ExpectedSoundRedirection = RDPSounds.BringToThisComputer;
|
||||
|
||||
|
||||
[OneTimeSetUp]
|
||||
|
||||
@@ -24,20 +24,20 @@ namespace mRemoteNGTests.Config.Serializers.MiscSerializers
|
||||
private const string ExpectedPassword = "passwordHere!";
|
||||
private const bool ExpectedUseConsoleSession = true;
|
||||
private const int ExpectedPort = 9933;
|
||||
private const RdpProtocol.RDGatewayUsageMethod ExpectedGatewayUsageMethod = RdpProtocol.RDGatewayUsageMethod.Always;
|
||||
private const RDGatewayUsageMethod ExpectedGatewayUsageMethod = RDGatewayUsageMethod.Always;
|
||||
private const string ExpectedGatewayHostname = "gatewayserverhost.innerdomain.net";
|
||||
private const string ExpectedGatewayUsername = "gatewayusername";
|
||||
private const string ExpectedGatewayDomain = "innerdomain";
|
||||
private const string ExpectedGatewayPassword = "gatewayPassword123";
|
||||
private const RdpProtocol.RDPResolutions ExpectedRdpResolution = RdpProtocol.RDPResolutions.FitToWindow;
|
||||
private const RdpProtocol.RDPColors ExpectedRdpColorDepth = RdpProtocol.RDPColors.Colors24Bit;
|
||||
private const RdpProtocol.RDPSounds ExpectedAudioRedirection = RdpProtocol.RDPSounds.DoNotPlay;
|
||||
private const RDPResolutions ExpectedRdpResolution = RDPResolutions.FitToWindow;
|
||||
private const RDPColors ExpectedRdpColorDepth = RDPColors.Colors24Bit;
|
||||
private const RDPSounds ExpectedAudioRedirection = RDPSounds.DoNotPlay;
|
||||
private const bool ExpectedKeyRedirection = true;
|
||||
private const bool ExpectedSmartcardRedirection = true;
|
||||
private const bool ExpectedDriveRedirection = true;
|
||||
private const bool ExpectedPortRedirection = true;
|
||||
private const bool ExpectedPrinterRedirection = true;
|
||||
private const RdpProtocol.AuthenticationLevel ExpectedAuthLevel = RdpProtocol.AuthenticationLevel.WarnOnFailedAuth;
|
||||
private const AuthenticationLevel ExpectedAuthLevel = AuthenticationLevel.WarnOnFailedAuth;
|
||||
|
||||
|
||||
[OneTimeSetUp]
|
||||
|
||||
@@ -23,20 +23,20 @@ namespace mRemoteNGTests.Config.Serializers.MiscSerializers
|
||||
private const string ExpectedPassword = "passwordHere!";
|
||||
private const bool ExpectedUseConsoleSession = true;
|
||||
private const int ExpectedPort = 9933;
|
||||
private const RdpProtocol.RDGatewayUsageMethod ExpectedGatewayUsageMethod = RdpProtocol.RDGatewayUsageMethod.Always;
|
||||
private const RDGatewayUsageMethod ExpectedGatewayUsageMethod = RDGatewayUsageMethod.Always;
|
||||
private const string ExpectedGatewayHostname = "gatewayserverhost.innerdomain.net";
|
||||
private const string ExpectedGatewayUsername = "gatewayusername";
|
||||
private const string ExpectedGatewayDomain = "innerdomain";
|
||||
private const string ExpectedGatewayPassword = "gatewayPassword123";
|
||||
private const RdpProtocol.RDPResolutions ExpectedRdpResolution = RdpProtocol.RDPResolutions.FitToWindow;
|
||||
private const RdpProtocol.RDPColors ExpectedRdpColorDepth = RdpProtocol.RDPColors.Colors24Bit;
|
||||
private const RdpProtocol.RDPSounds ExpectedAudioRedirection = RdpProtocol.RDPSounds.DoNotPlay;
|
||||
private const RDPResolutions ExpectedRdpResolution = RDPResolutions.FitToWindow;
|
||||
private const RDPColors ExpectedRdpColorDepth = RDPColors.Colors24Bit;
|
||||
private const RDPSounds ExpectedAudioRedirection = RDPSounds.DoNotPlay;
|
||||
private const bool ExpectedKeyRedirection = true;
|
||||
private const bool ExpectedSmartcardRedirection = true;
|
||||
private const bool ExpectedDriveRedirection = true;
|
||||
private const bool ExpectedPortRedirection = true;
|
||||
private const bool ExpectedPrinterRedirection = true;
|
||||
private const RdpProtocol.AuthenticationLevel ExpectedAuthLevel = RdpProtocol.AuthenticationLevel.AuthRequired;
|
||||
private const AuthenticationLevel ExpectedAuthLevel = AuthenticationLevel.AuthRequired;
|
||||
|
||||
|
||||
[OneTimeSetUp]
|
||||
|
||||
@@ -165,7 +165,7 @@ namespace mRemoteNGTests.Connection
|
||||
{
|
||||
var wasCalled = false;
|
||||
_testAbstractConnectionInfoData.PropertyChanged += (sender, args) => wasCalled = true;
|
||||
_testAbstractConnectionInfoData.RDPAuthenticationLevel = RdpProtocol.AuthenticationLevel.AuthRequired;
|
||||
_testAbstractConnectionInfoData.RDPAuthenticationLevel = AuthenticationLevel.AuthRequired;
|
||||
Assert.That(wasCalled, Is.True);
|
||||
}
|
||||
|
||||
@@ -201,7 +201,7 @@ namespace mRemoteNGTests.Connection
|
||||
{
|
||||
var wasCalled = false;
|
||||
_testAbstractConnectionInfoData.PropertyChanged += (sender, args) => wasCalled = true;
|
||||
_testAbstractConnectionInfoData.RDGatewayUsageMethod = RdpProtocol.RDGatewayUsageMethod.Always;
|
||||
_testAbstractConnectionInfoData.RDGatewayUsageMethod = RDGatewayUsageMethod.Always;
|
||||
Assert.That(wasCalled, Is.True);
|
||||
}
|
||||
|
||||
@@ -219,7 +219,7 @@ namespace mRemoteNGTests.Connection
|
||||
{
|
||||
var wasCalled = false;
|
||||
_testAbstractConnectionInfoData.PropertyChanged += (sender, args) => wasCalled = true;
|
||||
_testAbstractConnectionInfoData.RDGatewayUseConnectionCredentials = RdpProtocol.RDGatewayUseConnectionCredentials.SmartCard;
|
||||
_testAbstractConnectionInfoData.RDGatewayUseConnectionCredentials = RDGatewayUseConnectionCredentials.SmartCard;
|
||||
Assert.That(wasCalled, Is.True);
|
||||
}
|
||||
|
||||
@@ -255,7 +255,7 @@ namespace mRemoteNGTests.Connection
|
||||
{
|
||||
var wasCalled = false;
|
||||
_testAbstractConnectionInfoData.PropertyChanged += (sender, args) => wasCalled = true;
|
||||
_testAbstractConnectionInfoData.Resolution = RdpProtocol.RDPResolutions.Res1366x768;
|
||||
_testAbstractConnectionInfoData.Resolution = RDPResolutions.Res1366x768;
|
||||
Assert.That(wasCalled, Is.True);
|
||||
}
|
||||
|
||||
@@ -273,7 +273,7 @@ namespace mRemoteNGTests.Connection
|
||||
{
|
||||
var wasCalled = false;
|
||||
_testAbstractConnectionInfoData.PropertyChanged += (sender, args) => wasCalled = true;
|
||||
_testAbstractConnectionInfoData.Colors = RdpProtocol.RDPColors.Colors16Bit;
|
||||
_testAbstractConnectionInfoData.Colors = RDPColors.Colors16Bit;
|
||||
Assert.That(wasCalled, Is.True);
|
||||
}
|
||||
|
||||
@@ -372,7 +372,7 @@ namespace mRemoteNGTests.Connection
|
||||
{
|
||||
var wasCalled = false;
|
||||
_testAbstractConnectionInfoData.PropertyChanged += (sender, args) => wasCalled = true;
|
||||
_testAbstractConnectionInfoData.RedirectSound = RdpProtocol.RDPSounds.DoNotPlay;
|
||||
_testAbstractConnectionInfoData.RedirectSound = RDPSounds.DoNotPlay;
|
||||
Assert.That(wasCalled, Is.True);
|
||||
}
|
||||
|
||||
|
||||
@@ -222,10 +222,10 @@ namespace mRemoteNGTests.UI.Window.ConfigWindowTests
|
||||
: new ConnectionInfo();
|
||||
|
||||
node.Protocol = protocol;
|
||||
node.Resolution = RdpProtocol.RDPResolutions.Res800x600;
|
||||
node.RDGatewayUsageMethod = RdpProtocol.RDGatewayUsageMethod.Never;
|
||||
node.RDGatewayUseConnectionCredentials = RdpProtocol.RDGatewayUseConnectionCredentials.Yes;
|
||||
node.RedirectSound = RdpProtocol.RDPSounds.DoNotPlay;
|
||||
node.Resolution = RDPResolutions.Res800x600;
|
||||
node.RDGatewayUsageMethod = RDGatewayUsageMethod.Never;
|
||||
node.RDGatewayUseConnectionCredentials = RDGatewayUseConnectionCredentials.Yes;
|
||||
node.RedirectSound = RDPSounds.DoNotPlay;
|
||||
node.VNCAuthMode = ProtocolVNC.AuthMode.AuthVNC;
|
||||
node.VNCProxyType = ProtocolVNC.ProxyType.ProxyNone;
|
||||
node.Inheritance.TurnOffInheritanceCompletely();
|
||||
|
||||
@@ -18,12 +18,12 @@ namespace mRemoteNGTests.UI.Window.ConfigWindowTests
|
||||
RunVerification();
|
||||
}
|
||||
|
||||
[TestCase(RdpProtocol.RDGatewayUsageMethod.Always)]
|
||||
[TestCase(RdpProtocol.RDGatewayUsageMethod.Detect)]
|
||||
public void RdGatewayPropertiesShown_WhenRdGatewayUsageMethodIsNotNever(RdpProtocol.RDGatewayUsageMethod gatewayUsageMethod)
|
||||
[TestCase(RDGatewayUsageMethod.Always)]
|
||||
[TestCase(RDGatewayUsageMethod.Detect)]
|
||||
public void RdGatewayPropertiesShown_WhenRdGatewayUsageMethodIsNotNever(RDGatewayUsageMethod gatewayUsageMethod)
|
||||
{
|
||||
ConnectionInfo.RDGatewayUsageMethod = gatewayUsageMethod;
|
||||
ConnectionInfo.RDGatewayUseConnectionCredentials = RdpProtocol.RDGatewayUseConnectionCredentials.Yes;
|
||||
ConnectionInfo.RDGatewayUseConnectionCredentials = RDGatewayUseConnectionCredentials.Yes;
|
||||
ExpectedPropertyList.AddRange(new []
|
||||
{
|
||||
nameof(mRemoteNG.Connection.ConnectionInfo.RDGatewayHostname),
|
||||
@@ -33,11 +33,11 @@ namespace mRemoteNGTests.UI.Window.ConfigWindowTests
|
||||
RunVerification();
|
||||
}
|
||||
|
||||
[TestCase(RdpProtocol.RDGatewayUseConnectionCredentials.No)]
|
||||
[TestCase(RdpProtocol.RDGatewayUseConnectionCredentials.SmartCard)]
|
||||
public void RdGatewayPropertiesShown_WhenRDGatewayUseConnectionCredentialsIsNotYes(RdpProtocol.RDGatewayUseConnectionCredentials useConnectionCredentials)
|
||||
[TestCase(RDGatewayUseConnectionCredentials.No)]
|
||||
[TestCase(RDGatewayUseConnectionCredentials.SmartCard)]
|
||||
public void RdGatewayPropertiesShown_WhenRDGatewayUseConnectionCredentialsIsNotYes(RDGatewayUseConnectionCredentials useConnectionCredentials)
|
||||
{
|
||||
ConnectionInfo.RDGatewayUsageMethod = RdpProtocol.RDGatewayUsageMethod.Always;
|
||||
ConnectionInfo.RDGatewayUsageMethod = RDGatewayUsageMethod.Always;
|
||||
ConnectionInfo.RDGatewayUseConnectionCredentials = useConnectionCredentials;
|
||||
ExpectedPropertyList.AddRange(new []
|
||||
{
|
||||
@@ -54,15 +54,15 @@ namespace mRemoteNGTests.UI.Window.ConfigWindowTests
|
||||
[Test]
|
||||
public void SoundQualityPropertyShown_WhenRdpSoundsSetToBringToThisComputer()
|
||||
{
|
||||
ConnectionInfo.RedirectSound = RdpProtocol.RDPSounds.BringToThisComputer;
|
||||
ConnectionInfo.RedirectSound = RDPSounds.BringToThisComputer;
|
||||
ExpectedPropertyList.Add(nameof(mRemoteNG.Connection.ConnectionInfo.SoundQuality));
|
||||
|
||||
RunVerification();
|
||||
}
|
||||
|
||||
[TestCase(RdpProtocol.RDPResolutions.FitToWindow)]
|
||||
[TestCase(RdpProtocol.RDPResolutions.Fullscreen)]
|
||||
public void AutomaticResizePropertyShown_WhenResolutionIsDynamic(RdpProtocol.RDPResolutions resolution)
|
||||
[TestCase(RDPResolutions.FitToWindow)]
|
||||
[TestCase(RDPResolutions.Fullscreen)]
|
||||
public void AutomaticResizePropertyShown_WhenResolutionIsDynamic(RDPResolutions resolution)
|
||||
{
|
||||
ConnectionInfo.Resolution = resolution;
|
||||
ExpectedPropertyList.Add(nameof(mRemoteNG.Connection.ConnectionInfo.AutomaticResize));
|
||||
|
||||
@@ -174,21 +174,21 @@ namespace mRemoteNG.Config.Serializers.Csv
|
||||
|
||||
if (headers.Contains("RDPAuthenticationLevel"))
|
||||
{
|
||||
RdpProtocol.AuthenticationLevel value;
|
||||
AuthenticationLevel value;
|
||||
if (Enum.TryParse(connectionCsv[headers.IndexOf("RDPAuthenticationLevel")], out value))
|
||||
connectionRecord.RDPAuthenticationLevel = value;
|
||||
}
|
||||
|
||||
if (headers.Contains("Colors"))
|
||||
{
|
||||
RdpProtocol.RDPColors value;
|
||||
RDPColors value;
|
||||
if (Enum.TryParse(connectionCsv[headers.IndexOf("Colors")], out value))
|
||||
connectionRecord.Colors = value;
|
||||
}
|
||||
|
||||
if (headers.Contains("Resolution"))
|
||||
{
|
||||
RdpProtocol.RDPResolutions value;
|
||||
RDPResolutions value;
|
||||
if (Enum.TryParse(connectionCsv[headers.IndexOf("Resolution")], out value))
|
||||
connectionRecord.Resolution = value;
|
||||
}
|
||||
@@ -272,7 +272,7 @@ namespace mRemoteNG.Config.Serializers.Csv
|
||||
|
||||
if (headers.Contains("RedirectSound"))
|
||||
{
|
||||
RdpProtocol.RDPSounds value;
|
||||
RDPSounds value;
|
||||
if (Enum.TryParse(connectionCsv[headers.IndexOf("RedirectSound")], out value))
|
||||
connectionRecord.RedirectSound = value;
|
||||
}
|
||||
@@ -349,14 +349,14 @@ namespace mRemoteNG.Config.Serializers.Csv
|
||||
|
||||
if (headers.Contains("RDGatewayUsageMethod"))
|
||||
{
|
||||
RdpProtocol.RDGatewayUsageMethod value;
|
||||
RDGatewayUsageMethod value;
|
||||
if (Enum.TryParse(connectionCsv[headers.IndexOf("RDGatewayUsageMethod")], out value))
|
||||
connectionRecord.RDGatewayUsageMethod = value;
|
||||
}
|
||||
|
||||
if (headers.Contains("RDGatewayUseConnectionCredentials"))
|
||||
{
|
||||
RdpProtocol.RDGatewayUseConnectionCredentials value;
|
||||
RDGatewayUseConnectionCredentials value;
|
||||
if (Enum.TryParse(connectionCsv[headers.IndexOf("RDGatewayUseConnectionCredentials")], out value))
|
||||
connectionRecord.RDGatewayUseConnectionCredentials = value;
|
||||
}
|
||||
|
||||
@@ -100,15 +100,15 @@ namespace mRemoteNG.Config.Serializers.MsSql
|
||||
(IcaProtocol.EncryptionStrength)Enum.Parse(typeof(IcaProtocol.EncryptionStrength),
|
||||
(string)dataRow["ICAEncryptionStrength"]);
|
||||
connectionInfo.RDPAuthenticationLevel =
|
||||
(RdpProtocol.AuthenticationLevel)Enum.Parse(typeof(RdpProtocol.AuthenticationLevel),
|
||||
(AuthenticationLevel)Enum.Parse(typeof(AuthenticationLevel),
|
||||
(string)dataRow["RDPAuthenticationLevel"]);
|
||||
connectionInfo.RDPMinutesToIdleTimeout = (int)dataRow["RDPMinutesToIdleTimeout"];
|
||||
connectionInfo.RDPAlertIdleTimeout = (bool)dataRow["RDPAlertIdleTimeout"];
|
||||
connectionInfo.LoadBalanceInfo = (string)dataRow["LoadBalanceInfo"];
|
||||
connectionInfo.Colors =
|
||||
(RdpProtocol.RDPColors)Enum.Parse(typeof(RdpProtocol.RDPColors), (string)dataRow["Colors"]);
|
||||
(RDPColors)Enum.Parse(typeof(RDPColors), (string)dataRow["Colors"]);
|
||||
connectionInfo.Resolution =
|
||||
(RdpProtocol.RDPResolutions)Enum.Parse(typeof(RdpProtocol.RDPResolutions),
|
||||
(RDPResolutions)Enum.Parse(typeof(RDPResolutions),
|
||||
(string)dataRow["Resolution"]);
|
||||
connectionInfo.AutomaticResize = (bool)dataRow["AutomaticResize"];
|
||||
connectionInfo.DisplayWallpaper = (bool)dataRow["DisplayWallpaper"];
|
||||
@@ -122,8 +122,8 @@ namespace mRemoteNG.Config.Serializers.MsSql
|
||||
connectionInfo.RedirectClipboard = (bool)dataRow["RedirectClipboard"];
|
||||
connectionInfo.RedirectSmartCards = (bool)dataRow["RedirectSmartCards"];
|
||||
connectionInfo.RedirectSound =
|
||||
(RdpProtocol.RDPSounds)Enum.Parse(typeof(RdpProtocol.RDPSounds), (string)dataRow["RedirectSound"]);
|
||||
connectionInfo.SoundQuality = (RdpProtocol.RDPSoundQuality)Enum.Parse(typeof(RdpProtocol.RDPSoundQuality),
|
||||
(RDPSounds)Enum.Parse(typeof(RDPSounds), (string)dataRow["RedirectSound"]);
|
||||
connectionInfo.SoundQuality = (RDPSoundQuality)Enum.Parse(typeof(RDPSoundQuality),
|
||||
(string)dataRow["SoundQuality"]);
|
||||
connectionInfo.RedirectAudioCapture = (bool)dataRow["RedirectAudioCapture"];
|
||||
|
||||
@@ -152,15 +152,12 @@ namespace mRemoteNG.Config.Serializers.MsSql
|
||||
["VNCSmartSizeMode"]);
|
||||
connectionInfo.VNCViewOnly = (bool)dataRow["VNCViewOnly"];
|
||||
connectionInfo.RDGatewayUsageMethod =
|
||||
(RdpProtocol.RDGatewayUsageMethod)Enum.Parse(typeof(RdpProtocol.RDGatewayUsageMethod),
|
||||
(RDGatewayUsageMethod)Enum.Parse(typeof(RDGatewayUsageMethod),
|
||||
(string)dataRow["RDGatewayUsageMethod"]);
|
||||
connectionInfo.RDGatewayHostname = (string)dataRow["RDGatewayHostname"];
|
||||
connectionInfo.RDGatewayUseConnectionCredentials =
|
||||
(RdpProtocol.RDGatewayUseConnectionCredentials)Enum.Parse(
|
||||
typeof(RdpProtocol.
|
||||
RDGatewayUseConnectionCredentials),
|
||||
(string)dataRow
|
||||
["RDGatewayUseConnectionCredentials"]);
|
||||
(RDGatewayUseConnectionCredentials)Enum.Parse(typeof(RDGatewayUseConnectionCredentials),
|
||||
(string)dataRow["RDGatewayUseConnectionCredentials"]);
|
||||
connectionInfo.RDGatewayUsername = (string)dataRow["RDGatewayUsername"];
|
||||
connectionInfo.RDGatewayPassword = DecryptValue((string)dataRow["RDGatewayPassword"]);
|
||||
connectionInfo.RDGatewayDomain = (string)dataRow["RDGatewayDomain"];
|
||||
|
||||
@@ -226,8 +226,8 @@ namespace mRemoteNG.Config.Serializers.Xml
|
||||
if (_confVersion < 1.1) //1.0 - 0.1
|
||||
{
|
||||
connectionInfo.Resolution = xmlnode.GetAttributeAsBool("Fullscreen")
|
||||
? RdpProtocol.RDPResolutions.Fullscreen
|
||||
: RdpProtocol.RDPResolutions.FitToWindow;
|
||||
? RDPResolutions.Fullscreen
|
||||
: RDPResolutions.FitToWindow;
|
||||
}
|
||||
|
||||
if (!Runtime.UseCredentialManager || _confVersion <= 2.6) // 0.2 - 2.6
|
||||
@@ -318,9 +318,9 @@ namespace mRemoteNG.Config.Serializers.Xml
|
||||
|
||||
if (_confVersion >= 1.3)
|
||||
{
|
||||
connectionInfo.Colors = xmlnode.GetAttributeAsEnum<RdpProtocol.RDPColors>("Colors");
|
||||
connectionInfo.Resolution = xmlnode.GetAttributeAsEnum<RdpProtocol.RDPResolutions>("Resolution");
|
||||
connectionInfo.RedirectSound = xmlnode.GetAttributeAsEnum<RdpProtocol.RDPSounds>("RedirectSound");
|
||||
connectionInfo.Colors = xmlnode.GetAttributeAsEnum<RDPColors>("Colors");
|
||||
connectionInfo.Resolution = xmlnode.GetAttributeAsEnum<RDPResolutions>("Resolution");
|
||||
connectionInfo.RedirectSound = xmlnode.GetAttributeAsEnum<RDPSounds>("RedirectSound");
|
||||
connectionInfo.RedirectAudioCapture = xmlnode.GetAttributeAsBool("RedirectAudioCapture");
|
||||
}
|
||||
else
|
||||
@@ -328,25 +328,25 @@ namespace mRemoteNG.Config.Serializers.Xml
|
||||
switch (xmlnode.GetAttributeAsInt("Colors"))
|
||||
{
|
||||
case 0:
|
||||
connectionInfo.Colors = RdpProtocol.RDPColors.Colors256;
|
||||
connectionInfo.Colors = RDPColors.Colors256;
|
||||
break;
|
||||
case 1:
|
||||
connectionInfo.Colors = RdpProtocol.RDPColors.Colors16Bit;
|
||||
connectionInfo.Colors = RDPColors.Colors16Bit;
|
||||
break;
|
||||
case 2:
|
||||
connectionInfo.Colors = RdpProtocol.RDPColors.Colors24Bit;
|
||||
connectionInfo.Colors = RDPColors.Colors24Bit;
|
||||
break;
|
||||
case 3:
|
||||
connectionInfo.Colors = RdpProtocol.RDPColors.Colors32Bit;
|
||||
connectionInfo.Colors = RDPColors.Colors32Bit;
|
||||
break;
|
||||
// ReSharper disable once RedundantCaseLabel
|
||||
case 4:
|
||||
default:
|
||||
connectionInfo.Colors = RdpProtocol.RDPColors.Colors15Bit;
|
||||
connectionInfo.Colors = RDPColors.Colors15Bit;
|
||||
break;
|
||||
}
|
||||
|
||||
connectionInfo.RedirectSound = xmlnode.GetAttributeAsEnum<RdpProtocol.RDPSounds>("RedirectSound");
|
||||
connectionInfo.RedirectSound = xmlnode.GetAttributeAsEnum<RDPSounds>("RedirectSound");
|
||||
connectionInfo.RedirectAudioCapture = xmlnode.GetAttributeAsBool("RedirectAudioCapture");
|
||||
}
|
||||
|
||||
@@ -442,7 +442,7 @@ namespace mRemoteNG.Config.Serializers.Xml
|
||||
if (_confVersion >= 1.8)
|
||||
{
|
||||
connectionInfo.RDPAuthenticationLevel =
|
||||
xmlnode.GetAttributeAsEnum<RdpProtocol.AuthenticationLevel>("RDPAuthenticationLevel");
|
||||
xmlnode.GetAttributeAsEnum<AuthenticationLevel>("RDPAuthenticationLevel");
|
||||
connectionInfo.Inheritance.RDPAuthenticationLevel =
|
||||
xmlnode.GetAttributeAsBool("InheritRDPAuthenticationLevel");
|
||||
}
|
||||
@@ -472,10 +472,10 @@ namespace mRemoteNG.Config.Serializers.Xml
|
||||
{
|
||||
// Get settings
|
||||
connectionInfo.RDGatewayUsageMethod =
|
||||
xmlnode.GetAttributeAsEnum<RdpProtocol.RDGatewayUsageMethod>("RDGatewayUsageMethod");
|
||||
xmlnode.GetAttributeAsEnum<RDGatewayUsageMethod>("RDGatewayUsageMethod");
|
||||
connectionInfo.RDGatewayHostname = xmlnode.GetAttributeAsString("RDGatewayHostname");
|
||||
connectionInfo.RDGatewayUseConnectionCredentials =
|
||||
xmlnode.GetAttributeAsEnum<RdpProtocol.RDGatewayUseConnectionCredentials>(
|
||||
xmlnode.GetAttributeAsEnum<RDGatewayUseConnectionCredentials>(
|
||||
"RDGatewayUseConnectionCredentials");
|
||||
connectionInfo.RDGatewayUsername = xmlnode.GetAttributeAsString("RDGatewayUsername");
|
||||
connectionInfo.RDGatewayPassword =
|
||||
@@ -526,7 +526,7 @@ namespace mRemoteNG.Config.Serializers.Xml
|
||||
if (_confVersion >= 2.6)
|
||||
{
|
||||
connectionInfo.SoundQuality =
|
||||
xmlnode.GetAttributeAsEnum<RdpProtocol.RDPSoundQuality>("SoundQuality");
|
||||
xmlnode.GetAttributeAsEnum<RDPSoundQuality>("SoundQuality");
|
||||
connectionInfo.Inheritance.SoundQuality = xmlnode.GetAttributeAsBool("InheritSoundQuality");
|
||||
connectionInfo.RDPMinutesToIdleTimeout = xmlnode.GetAttributeAsInt("RDPMinutesToIdleTimeout");
|
||||
connectionInfo.Inheritance.RDPMinutesToIdleTimeout =
|
||||
|
||||
@@ -60,19 +60,19 @@ namespace mRemoteNG.Config.Serializers
|
||||
switch (value)
|
||||
{
|
||||
case "8":
|
||||
connectionInfo.Colors = RdpProtocol.RDPColors.Colors256;
|
||||
connectionInfo.Colors = RDPColors.Colors256;
|
||||
break;
|
||||
case "15":
|
||||
connectionInfo.Colors = RdpProtocol.RDPColors.Colors15Bit;
|
||||
connectionInfo.Colors = RDPColors.Colors15Bit;
|
||||
break;
|
||||
case "16":
|
||||
connectionInfo.Colors = RdpProtocol.RDPColors.Colors16Bit;
|
||||
connectionInfo.Colors = RDPColors.Colors16Bit;
|
||||
break;
|
||||
case "24":
|
||||
connectionInfo.Colors = RdpProtocol.RDPColors.Colors24Bit;
|
||||
connectionInfo.Colors = RDPColors.Colors24Bit;
|
||||
break;
|
||||
case "32":
|
||||
connectionInfo.Colors = RdpProtocol.RDPColors.Colors32Bit;
|
||||
connectionInfo.Colors = RDPColors.Colors32Bit;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
@@ -81,8 +81,8 @@ namespace mRemoteNG.Config.Serializers
|
||||
break;
|
||||
case "screen mode id":
|
||||
connectionInfo.Resolution = value == "2"
|
||||
? RdpProtocol.RDPResolutions.Fullscreen
|
||||
: RdpProtocol.RDPResolutions.FitToWindow;
|
||||
? RDPResolutions.Fullscreen
|
||||
: RDPResolutions.FitToWindow;
|
||||
break;
|
||||
case "connect to console":
|
||||
connectionInfo.UseConsoleSession = value == "1";
|
||||
@@ -118,13 +118,13 @@ namespace mRemoteNG.Config.Serializers
|
||||
switch (value)
|
||||
{
|
||||
case "0":
|
||||
connectionInfo.RedirectSound = RdpProtocol.RDPSounds.BringToThisComputer;
|
||||
connectionInfo.RedirectSound = RDPSounds.BringToThisComputer;
|
||||
break;
|
||||
case "1":
|
||||
connectionInfo.RedirectSound = RdpProtocol.RDPSounds.LeaveAtRemoteComputer;
|
||||
connectionInfo.RedirectSound = RDPSounds.LeaveAtRemoteComputer;
|
||||
break;
|
||||
case "2":
|
||||
connectionInfo.RedirectSound = RdpProtocol.RDPSounds.DoNotPlay;
|
||||
connectionInfo.RedirectSound = RDPSounds.DoNotPlay;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
@@ -138,13 +138,13 @@ namespace mRemoteNG.Config.Serializers
|
||||
switch (value)
|
||||
{
|
||||
case "0":
|
||||
connectionInfo.RDGatewayUsageMethod = RdpProtocol.RDGatewayUsageMethod.Never;
|
||||
connectionInfo.RDGatewayUsageMethod = RDGatewayUsageMethod.Never;
|
||||
break;
|
||||
case "1":
|
||||
connectionInfo.RDGatewayUsageMethod = RdpProtocol.RDGatewayUsageMethod.Always;
|
||||
connectionInfo.RDGatewayUsageMethod = RDGatewayUsageMethod.Always;
|
||||
break;
|
||||
case "2":
|
||||
connectionInfo.RDGatewayUsageMethod = RdpProtocol.RDGatewayUsageMethod.Detect;
|
||||
connectionInfo.RDGatewayUsageMethod = RDGatewayUsageMethod.Detect;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -197,8 +197,8 @@ namespace mRemoteNG.Config.Serializers
|
||||
{
|
||||
connectionInfo.RDGatewayUsageMethod =
|
||||
gatewaySettingsNode.SelectSingleNode("./enabled")?.InnerText == "True"
|
||||
? RdpProtocol.RDGatewayUsageMethod.Always
|
||||
: RdpProtocol.RDGatewayUsageMethod.Never;
|
||||
? RDGatewayUsageMethod.Always
|
||||
: RDGatewayUsageMethod.Never;
|
||||
connectionInfo.RDGatewayHostname = gatewaySettingsNode.SelectSingleNode("./hostName")?.InnerText ?? string.Empty;
|
||||
connectionInfo.RDGatewayUsername = gatewaySettingsNode.SelectSingleNode("./userName")?.InnerText ?? string.Empty;
|
||||
|
||||
@@ -225,21 +225,21 @@ namespace mRemoteNG.Config.Serializers
|
||||
if (remoteDesktopNode?.Attributes?["inherit"]?.Value == "None")
|
||||
{
|
||||
connectionInfo.Resolution =
|
||||
Enum.TryParse<RdpProtocol.RDPResolutions>(remoteDesktopNode.SelectSingleNode("./size")?.InnerText.Replace(" ", ""), true, out var rdpResolution)
|
||||
Enum.TryParse<RDPResolutions>(remoteDesktopNode.SelectSingleNode("./size")?.InnerText.Replace(" ", ""), true, out var rdpResolution)
|
||||
? rdpResolution
|
||||
: RdpProtocol.RDPResolutions.FitToWindow;
|
||||
: RDPResolutions.FitToWindow;
|
||||
|
||||
if (remoteDesktopNode.SelectSingleNode("./sameSizeAsClientArea")?.InnerText == "True")
|
||||
{
|
||||
connectionInfo.Resolution = RdpProtocol.RDPResolutions.FitToWindow;
|
||||
connectionInfo.Resolution = RDPResolutions.FitToWindow;
|
||||
}
|
||||
|
||||
if (remoteDesktopNode.SelectSingleNode("./fullScreen")?.InnerText == "True")
|
||||
{
|
||||
connectionInfo.Resolution = RdpProtocol.RDPResolutions.Fullscreen;
|
||||
connectionInfo.Resolution = RDPResolutions.Fullscreen;
|
||||
}
|
||||
|
||||
if (Enum.TryParse<RdpProtocol.RDPColors>(remoteDesktopNode.SelectSingleNode("./colorDepth")?.InnerText, true, out var rdpColors))
|
||||
if (Enum.TryParse<RDPColors>(remoteDesktopNode.SelectSingleNode("./colorDepth")?.InnerText, true, out var rdpColors))
|
||||
connectionInfo.Colors = rdpColors;
|
||||
}
|
||||
else
|
||||
@@ -256,15 +256,15 @@ namespace mRemoteNG.Config.Serializers
|
||||
{
|
||||
case "0": // Bring to this computer
|
||||
case "Client":
|
||||
connectionInfo.RedirectSound = RdpProtocol.RDPSounds.BringToThisComputer;
|
||||
connectionInfo.RedirectSound = RDPSounds.BringToThisComputer;
|
||||
break;
|
||||
case "1": // Leave at remote computer
|
||||
case "Remote":
|
||||
connectionInfo.RedirectSound = RdpProtocol.RDPSounds.LeaveAtRemoteComputer;
|
||||
connectionInfo.RedirectSound = RDPSounds.LeaveAtRemoteComputer;
|
||||
break;
|
||||
case "2": // Do not play
|
||||
case "NoSound":
|
||||
connectionInfo.RedirectSound = RdpProtocol.RDPSounds.DoNotPlay;
|
||||
connectionInfo.RedirectSound = RDPSounds.DoNotPlay;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -323,15 +323,15 @@ namespace mRemoteNG.Config.Serializers
|
||||
{
|
||||
case "0": // No authentication
|
||||
case "None":
|
||||
connectionInfo.RDPAuthenticationLevel = RdpProtocol.AuthenticationLevel.NoAuth;
|
||||
connectionInfo.RDPAuthenticationLevel = AuthenticationLevel.NoAuth;
|
||||
break;
|
||||
case "1": // Do not connect if authentication fails
|
||||
case "Required":
|
||||
connectionInfo.RDPAuthenticationLevel = RdpProtocol.AuthenticationLevel.AuthRequired;
|
||||
connectionInfo.RDPAuthenticationLevel = AuthenticationLevel.AuthRequired;
|
||||
break;
|
||||
case "2": // Warn if authentication fails
|
||||
case "Warn":
|
||||
connectionInfo.RDPAuthenticationLevel = RdpProtocol.AuthenticationLevel.WarnOnFailedAuth;
|
||||
connectionInfo.RDPAuthenticationLevel = AuthenticationLevel.WarnOnFailedAuth;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,23 +31,23 @@ namespace mRemoteNG.Connection
|
||||
private string _puttySession;
|
||||
private IcaProtocol.EncryptionStrength _icaEncryption;
|
||||
private bool _useConsoleSession;
|
||||
private RdpProtocol.AuthenticationLevel _rdpAuthenticationLevel;
|
||||
private AuthenticationLevel _rdpAuthenticationLevel;
|
||||
private int _rdpMinutesToIdleTimeout;
|
||||
private bool _rdpAlertIdleTimeout;
|
||||
private string _loadBalanceInfo;
|
||||
private HTTPBase.RenderingEngine _renderingEngine;
|
||||
private bool _useCredSsp;
|
||||
|
||||
private RdpProtocol.RDGatewayUsageMethod _rdGatewayUsageMethod;
|
||||
private RDGatewayUsageMethod _rdGatewayUsageMethod;
|
||||
private string _rdGatewayHostname;
|
||||
private RdpProtocol.RDGatewayUseConnectionCredentials _rdGatewayUseConnectionCredentials;
|
||||
private RDGatewayUseConnectionCredentials _rdGatewayUseConnectionCredentials;
|
||||
private string _rdGatewayUsername;
|
||||
private string _rdGatewayPassword;
|
||||
private string _rdGatewayDomain;
|
||||
|
||||
private RdpProtocol.RDPResolutions _resolution;
|
||||
private RDPResolutions _resolution;
|
||||
private bool _automaticResize;
|
||||
private RdpProtocol.RDPColors _colors;
|
||||
private RDPColors _colors;
|
||||
private bool _cacheBitmaps;
|
||||
private bool _displayWallpaper;
|
||||
private bool _displayThemes;
|
||||
@@ -60,8 +60,8 @@ namespace mRemoteNG.Connection
|
||||
private bool _redirectClipboard;
|
||||
private bool _redirectPorts;
|
||||
private bool _redirectSmartCards;
|
||||
private RdpProtocol.RDPSounds _redirectSound;
|
||||
private RdpProtocol.RDPSoundQuality _soundQuality;
|
||||
private RDPSounds _redirectSound;
|
||||
private RDPSoundQuality _soundQuality;
|
||||
private bool _redirectAudioCapture;
|
||||
|
||||
private string _preExtApp;
|
||||
@@ -244,7 +244,7 @@ namespace mRemoteNG.Connection
|
||||
LocalizedAttributes.LocalizedDescription("strPropertyDescriptionAuthenticationLevel"),
|
||||
TypeConverter(typeof(MiscTools.EnumTypeConverter)),
|
||||
UsedInProtocol(ProtocolType.RDP)]
|
||||
public RdpProtocol.AuthenticationLevel RDPAuthenticationLevel
|
||||
public AuthenticationLevel RDPAuthenticationLevel
|
||||
{
|
||||
get => GetPropertyValue("RDPAuthenticationLevel", _rdpAuthenticationLevel);
|
||||
set => SetField(ref _rdpAuthenticationLevel, value, "RDPAuthenticationLevel");
|
||||
@@ -318,7 +318,7 @@ namespace mRemoteNG.Connection
|
||||
LocalizedAttributes.LocalizedDescription("strPropertyDescriptionRDGatewayUsageMethod"),
|
||||
TypeConverter(typeof(MiscTools.EnumTypeConverter)),
|
||||
UsedInProtocol(ProtocolType.RDP)]
|
||||
public RdpProtocol.RDGatewayUsageMethod RDGatewayUsageMethod
|
||||
public RDGatewayUsageMethod RDGatewayUsageMethod
|
||||
{
|
||||
get => GetPropertyValue("RDGatewayUsageMethod", _rdGatewayUsageMethod);
|
||||
set => SetField(ref _rdGatewayUsageMethod, value, "RDGatewayUsageMethod");
|
||||
@@ -339,7 +339,7 @@ namespace mRemoteNG.Connection
|
||||
LocalizedAttributes.LocalizedDescription("strPropertyDescriptionRDGatewayUseConnectionCredentials"),
|
||||
TypeConverter(typeof(MiscTools.EnumTypeConverter)),
|
||||
UsedInProtocol(ProtocolType.RDP)]
|
||||
public RdpProtocol.RDGatewayUseConnectionCredentials RDGatewayUseConnectionCredentials
|
||||
public RDGatewayUseConnectionCredentials RDGatewayUseConnectionCredentials
|
||||
{
|
||||
get => GetPropertyValue("RDGatewayUseConnectionCredentials", _rdGatewayUseConnectionCredentials);
|
||||
set => SetField(ref _rdGatewayUseConnectionCredentials, value, "RDGatewayUseConnectionCredentials");
|
||||
@@ -385,7 +385,7 @@ namespace mRemoteNG.Connection
|
||||
LocalizedAttributes.LocalizedDescription("strPropertyDescriptionResolution"),
|
||||
TypeConverter(typeof(MiscTools.EnumTypeConverter)),
|
||||
UsedInProtocol(ProtocolType.RDP, ProtocolType.ICA)]
|
||||
public RdpProtocol.RDPResolutions Resolution
|
||||
public RDPResolutions Resolution
|
||||
{
|
||||
get => GetPropertyValue("Resolution", _resolution);
|
||||
set => SetField(ref _resolution, value, "Resolution");
|
||||
@@ -407,7 +407,7 @@ namespace mRemoteNG.Connection
|
||||
LocalizedAttributes.LocalizedDescription("strPropertyDescriptionColors"),
|
||||
TypeConverter(typeof(MiscTools.EnumTypeConverter)),
|
||||
UsedInProtocol(ProtocolType.RDP, ProtocolType.ICA)]
|
||||
public RdpProtocol.RDPColors Colors
|
||||
public RDPColors Colors
|
||||
{
|
||||
get => GetPropertyValue("Colors", _colors);
|
||||
set => SetField(ref _colors, value, "Colors");
|
||||
@@ -544,7 +544,7 @@ namespace mRemoteNG.Connection
|
||||
LocalizedAttributes.LocalizedDescription("strPropertyDescriptionRedirectSounds"),
|
||||
TypeConverter(typeof(MiscTools.EnumTypeConverter)),
|
||||
UsedInProtocol(ProtocolType.RDP)]
|
||||
public RdpProtocol.RDPSounds RedirectSound
|
||||
public RDPSounds RedirectSound
|
||||
{
|
||||
get => GetPropertyValue("RedirectSound", _redirectSound);
|
||||
set => SetField(ref _redirectSound, value, "RedirectSound");
|
||||
@@ -555,7 +555,7 @@ namespace mRemoteNG.Connection
|
||||
LocalizedAttributes.LocalizedDescription("strPropertyDescriptionSoundQuality"),
|
||||
TypeConverter(typeof(MiscTools.EnumTypeConverter)),
|
||||
UsedInProtocol(ProtocolType.RDP)]
|
||||
public RdpProtocol.RDPSoundQuality SoundQuality
|
||||
public RDPSoundQuality SoundQuality
|
||||
{
|
||||
get => GetPropertyValue("SoundQuality", _soundQuality);
|
||||
set => SetField(ref _soundQuality, value, "SoundQuality");
|
||||
|
||||
@@ -297,17 +297,11 @@ namespace mRemoteNG.Connection
|
||||
ExtApp = Settings.Default.ConDefaultExtApp;
|
||||
Port = 0;
|
||||
PuttySession = Settings.Default.ConDefaultPuttySession;
|
||||
ICAEncryptionStrength = (IcaProtocol.EncryptionStrength)Enum.Parse(typeof(IcaProtocol.EncryptionStrength),
|
||||
Settings
|
||||
.Default
|
||||
.ConDefaultICAEncryptionStrength);
|
||||
ICAEncryptionStrength = (IcaProtocol.EncryptionStrength)Enum.Parse(
|
||||
typeof(IcaProtocol.EncryptionStrength), Settings.Default.ConDefaultICAEncryptionStrength);
|
||||
UseConsoleSession = Settings.Default.ConDefaultUseConsoleSession;
|
||||
RDPAuthenticationLevel = (RdpProtocol.AuthenticationLevel)Enum.Parse(
|
||||
typeof(RdpProtocol.AuthenticationLevel
|
||||
),
|
||||
Settings
|
||||
.Default
|
||||
.ConDefaultRDPAuthenticationLevel);
|
||||
RDPAuthenticationLevel = (AuthenticationLevel)Enum.Parse(
|
||||
typeof(AuthenticationLevel), Settings.Default.ConDefaultRDPAuthenticationLevel);
|
||||
RDPMinutesToIdleTimeout = Settings.Default.ConDefaultRDPMinutesToIdleTimeout;
|
||||
RDPAlertIdleTimeout = Settings.Default.ConDefaultRDPAlertIdleTimeout;
|
||||
LoadBalanceInfo = Settings.Default.ConDefaultLoadBalanceInfo;
|
||||
@@ -318,21 +312,11 @@ namespace mRemoteNG.Connection
|
||||
|
||||
private void SetRdGatewayDefaults()
|
||||
{
|
||||
RDGatewayUsageMethod = (RdpProtocol.RDGatewayUsageMethod)Enum.Parse(
|
||||
typeof(RdpProtocol.RDGatewayUsageMethod
|
||||
),
|
||||
Settings
|
||||
.Default
|
||||
.ConDefaultRDGatewayUsageMethod);
|
||||
RDGatewayUsageMethod = (RDGatewayUsageMethod)Enum.Parse(
|
||||
typeof(RDGatewayUsageMethod), Settings.Default.ConDefaultRDGatewayUsageMethod);
|
||||
RDGatewayHostname = Settings.Default.ConDefaultRDGatewayHostname;
|
||||
RDGatewayUseConnectionCredentials = (RdpProtocol.RDGatewayUseConnectionCredentials)Enum.Parse(
|
||||
typeof(
|
||||
RdpProtocol
|
||||
.RDGatewayUseConnectionCredentials
|
||||
),
|
||||
Settings
|
||||
.Default
|
||||
.ConDefaultRDGatewayUseConnectionCredentials);
|
||||
RDGatewayUseConnectionCredentials = (RDGatewayUseConnectionCredentials)Enum.Parse(
|
||||
typeof(RDGatewayUseConnectionCredentials), Settings.Default.ConDefaultRDGatewayUseConnectionCredentials);
|
||||
RDGatewayUsername = Settings.Default.ConDefaultRDGatewayUsername;
|
||||
RDGatewayPassword = Settings.Default.ConDefaultRDGatewayPassword;
|
||||
RDGatewayDomain = Settings.Default.ConDefaultRDGatewayDomain;
|
||||
@@ -340,11 +324,10 @@ namespace mRemoteNG.Connection
|
||||
|
||||
private void SetAppearanceDefaults()
|
||||
{
|
||||
Resolution = (RdpProtocol.RDPResolutions)Enum.Parse(typeof(RdpProtocol.RDPResolutions),
|
||||
Settings.Default.ConDefaultResolution);
|
||||
Resolution = (RDPResolutions)Enum.Parse(
|
||||
typeof(RDPResolutions), Settings.Default.ConDefaultResolution);
|
||||
AutomaticResize = Settings.Default.ConDefaultAutomaticResize;
|
||||
Colors = (RdpProtocol.RDPColors)Enum.Parse(typeof(RdpProtocol.RDPColors),
|
||||
Settings.Default.ConDefaultColors);
|
||||
Colors = (RDPColors)Enum.Parse(typeof(RDPColors), Settings.Default.ConDefaultColors);
|
||||
CacheBitmaps = Settings.Default.ConDefaultCacheBitmaps;
|
||||
DisplayWallpaper = Settings.Default.ConDefaultDisplayWallpaper;
|
||||
DisplayThemes = Settings.Default.ConDefaultDisplayThemes;
|
||||
@@ -360,9 +343,9 @@ namespace mRemoteNG.Connection
|
||||
RedirectClipboard = Settings.Default.ConDefaultRedirectClipboard;
|
||||
RedirectPorts = Settings.Default.ConDefaultRedirectPorts;
|
||||
RedirectSmartCards = Settings.Default.ConDefaultRedirectSmartCards;
|
||||
RedirectSound = (RdpProtocol.RDPSounds)Enum.Parse(typeof(RdpProtocol.RDPSounds),
|
||||
RedirectSound = (RDPSounds)Enum.Parse(typeof(RDPSounds),
|
||||
Settings.Default.ConDefaultRedirectSound);
|
||||
SoundQuality = (RdpProtocol.RDPSoundQuality)Enum.Parse(typeof(RdpProtocol.RDPSoundQuality),
|
||||
SoundQuality = (RDPSoundQuality)Enum.Parse(typeof(RDPSoundQuality),
|
||||
Settings.Default.ConDefaultSoundQuality);
|
||||
RedirectAudioCapture = Settings.Default.ConDefaultRedirectAudioCapture;
|
||||
}
|
||||
|
||||
@@ -201,17 +201,17 @@ namespace mRemoteNG.Connection.Protocol.ICA
|
||||
return;
|
||||
}
|
||||
|
||||
if (InterfaceControl.Info.Resolution == RdpProtocol.RDPResolutions.FitToWindow)
|
||||
if (InterfaceControl.Info.Resolution == RDPResolutions.FitToWindow)
|
||||
{
|
||||
_icaClient.SetWindowSize(WFICALib.ICAWindowType.WindowTypeClient, InterfaceControl.Size.Width,
|
||||
InterfaceControl.Size.Height, 0);
|
||||
}
|
||||
else if (InterfaceControl.Info.Resolution == RdpProtocol.RDPResolutions.SmartSize)
|
||||
else if (InterfaceControl.Info.Resolution == RDPResolutions.SmartSize)
|
||||
{
|
||||
_icaClient.SetWindowSize(WFICALib.ICAWindowType.WindowTypeClient, InterfaceControl.Size.Width,
|
||||
InterfaceControl.Size.Height, 0);
|
||||
}
|
||||
else if (InterfaceControl.Info.Resolution == RdpProtocol.RDPResolutions.Fullscreen)
|
||||
else if (InterfaceControl.Info.Resolution == RDPResolutions.Fullscreen)
|
||||
{
|
||||
_icaClient.SetWindowSize(WFICALib.ICAWindowType.WindowTypeClient,
|
||||
Screen.FromControl(_frmMain).Bounds.Width,
|
||||
@@ -238,13 +238,13 @@ namespace mRemoteNG.Connection.Protocol.ICA
|
||||
// ReSharper disable once SwitchStatementMissingSomeCases
|
||||
switch (_info.Colors)
|
||||
{
|
||||
case RdpProtocol.RDPColors.Colors256:
|
||||
case RDPColors.Colors256:
|
||||
_icaClient.SetProp("DesiredColor", "2");
|
||||
break;
|
||||
case RdpProtocol.RDPColors.Colors15Bit:
|
||||
case RDPColors.Colors15Bit:
|
||||
_icaClient.SetProp("DesiredColor", "4");
|
||||
break;
|
||||
case RdpProtocol.RDPColors.Colors16Bit:
|
||||
case RDPColors.Colors16Bit:
|
||||
_icaClient.SetProp("DesiredColor", "4");
|
||||
break;
|
||||
default:
|
||||
|
||||
16
mRemoteV1/Connection/Protocol/RDP/AuthenticationLevel.cs
Normal file
16
mRemoteV1/Connection/Protocol/RDP/AuthenticationLevel.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using mRemoteNG.Tools;
|
||||
|
||||
namespace mRemoteNG.Connection.Protocol.RDP
|
||||
{
|
||||
public enum AuthenticationLevel
|
||||
{
|
||||
[LocalizedAttributes.LocalizedDescription("strAlwaysConnectEvenIfAuthFails")]
|
||||
NoAuth = 0,
|
||||
|
||||
[LocalizedAttributes.LocalizedDescription("strDontConnectWhenAuthFails")]
|
||||
AuthRequired = 1,
|
||||
|
||||
[LocalizedAttributes.LocalizedDescription("strWarnIfAuthFails")]
|
||||
WarnOnFailedAuth = 2
|
||||
}
|
||||
}
|
||||
16
mRemoteV1/Connection/Protocol/RDP/RDGatewayUsageMethod.cs
Normal file
16
mRemoteV1/Connection/Protocol/RDP/RDGatewayUsageMethod.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using mRemoteNG.Tools;
|
||||
|
||||
namespace mRemoteNG.Connection.Protocol.RDP
|
||||
{
|
||||
public enum RDGatewayUsageMethod
|
||||
{
|
||||
[LocalizedAttributes.LocalizedDescription("strNever")]
|
||||
Never = 0, // TSC_PROXY_MODE_NONE_DIRECT
|
||||
|
||||
[LocalizedAttributes.LocalizedDescription("strAlways")]
|
||||
Always = 1, // TSC_PROXY_MODE_DIRECT
|
||||
|
||||
[LocalizedAttributes.LocalizedDescription("strDetect")]
|
||||
Detect = 2 // TSC_PROXY_MODE_DETECT
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
using mRemoteNG.Tools;
|
||||
|
||||
namespace mRemoteNG.Connection.Protocol.RDP
|
||||
{
|
||||
public enum RDGatewayUseConnectionCredentials
|
||||
{
|
||||
[LocalizedAttributes.LocalizedDescription("strUseDifferentUsernameAndPassword")]
|
||||
No = 0,
|
||||
|
||||
[LocalizedAttributes.LocalizedDescription("strUseSameUsernameAndPassword")]
|
||||
Yes = 1,
|
||||
|
||||
[LocalizedAttributes.LocalizedDescription("strUseSmartCard")]
|
||||
SmartCard = 2
|
||||
}
|
||||
}
|
||||
22
mRemoteV1/Connection/Protocol/RDP/RDPColors.cs
Normal file
22
mRemoteV1/Connection/Protocol/RDP/RDPColors.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
using mRemoteNG.Tools;
|
||||
|
||||
namespace mRemoteNG.Connection.Protocol.RDP
|
||||
{
|
||||
public enum RDPColors
|
||||
{
|
||||
[LocalizedAttributes.LocalizedDescription("strRDP256Colors")]
|
||||
Colors256 = 8,
|
||||
|
||||
[LocalizedAttributes.LocalizedDescription("strRDP32768Colors")]
|
||||
Colors15Bit = 15,
|
||||
|
||||
[LocalizedAttributes.LocalizedDescription("strRDP65536Colors")]
|
||||
Colors16Bit = 16,
|
||||
|
||||
[LocalizedAttributes.LocalizedDescription("strRDP16777216Colors")]
|
||||
Colors24Bit = 24,
|
||||
|
||||
[LocalizedAttributes.LocalizedDescription("strRDP4294967296Colors")]
|
||||
Colors32Bit = 32
|
||||
}
|
||||
}
|
||||
22
mRemoteV1/Connection/Protocol/RDP/RDPPerformanceFlags.cs
Normal file
22
mRemoteV1/Connection/Protocol/RDP/RDPPerformanceFlags.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace mRemoteNG.Connection.Protocol.RDP
|
||||
{
|
||||
public enum RDPPerformanceFlags
|
||||
{
|
||||
[Description("strRDPDisableWallpaper")]
|
||||
DisableWallpaper = 0x1,
|
||||
|
||||
// [Description("strRDPDisableFullWindowdrag")]DisableFullWindowDrag = 0x2,
|
||||
// [Description("strRDPDisableMenuAnimations")]DisableMenuAnimations = 0x4,
|
||||
[Description("strRDPDisableThemes")] DisableThemes = 0x8,
|
||||
|
||||
// [Description("strRDPDisableCursorShadow")]DisableCursorShadow = 0x20,
|
||||
// [Description("strRDPDisableCursorblinking")]DisableCursorBlinking = 0x40,
|
||||
[Description("strRDPEnableFontSmoothing")]
|
||||
EnableFontSmoothing = 0x80,
|
||||
|
||||
[Description("strRDPEnableDesktopComposition")]
|
||||
EnableDesktopComposition = 0x100
|
||||
}
|
||||
}
|
||||
34
mRemoteV1/Connection/Protocol/RDP/RDPResolutions.cs
Normal file
34
mRemoteV1/Connection/Protocol/RDP/RDPResolutions.cs
Normal file
@@ -0,0 +1,34 @@
|
||||
using System.ComponentModel;
|
||||
using mRemoteNG.Tools;
|
||||
|
||||
namespace mRemoteNG.Connection.Protocol.RDP
|
||||
{
|
||||
public enum RDPResolutions
|
||||
{
|
||||
[LocalizedAttributes.LocalizedDescription("strRDPFitToPanel")]
|
||||
FitToWindow,
|
||||
|
||||
[LocalizedAttributes.LocalizedDescription("strFullscreen")]
|
||||
Fullscreen,
|
||||
|
||||
[LocalizedAttributes.LocalizedDescription("strRDPSmartSize")]
|
||||
SmartSize,
|
||||
[Description("800x600")] Res800x600,
|
||||
[Description("1024x768")] Res1024x768,
|
||||
[Description("1152x864")] Res1152x864,
|
||||
[Description("1280x800")] Res1280x800,
|
||||
[Description("1280x1024")] Res1280x1024,
|
||||
[Description("1366x768")] Res1366x768,
|
||||
[Description("1440x900")] Res1440x900,
|
||||
[Description("1600x900")] Res1600x900,
|
||||
[Description("1600x1200")] Res1600x1200,
|
||||
[Description("1680x1050")] Res1680x1050,
|
||||
[Description("1920x1080")] Res1920x1080,
|
||||
[Description("1920x1200")] Res1920x1200,
|
||||
[Description("2048x1536")] Res2048x1536,
|
||||
[Description("2560x1440")] Res2560x1440,
|
||||
[Description("2560x1600")] Res2560x1600,
|
||||
[Description("2560x2048")] Res2560x2048,
|
||||
[Description("3840x2160")] Res3840x2160
|
||||
}
|
||||
}
|
||||
16
mRemoteV1/Connection/Protocol/RDP/RDPSoundQuality.cs
Normal file
16
mRemoteV1/Connection/Protocol/RDP/RDPSoundQuality.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using mRemoteNG.Tools;
|
||||
|
||||
namespace mRemoteNG.Connection.Protocol.RDP
|
||||
{
|
||||
public enum RDPSoundQuality
|
||||
{
|
||||
[LocalizedAttributes.LocalizedDescription("strRDPSoundQualityDynamic")]
|
||||
Dynamic = 0,
|
||||
|
||||
[LocalizedAttributes.LocalizedDescription("strRDPSoundQualityMedium")]
|
||||
Medium = 1,
|
||||
|
||||
[LocalizedAttributes.LocalizedDescription("strRDPSoundQualityHigh")]
|
||||
High = 2
|
||||
}
|
||||
}
|
||||
16
mRemoteV1/Connection/Protocol/RDP/RDPSounds.cs
Normal file
16
mRemoteV1/Connection/Protocol/RDP/RDPSounds.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using mRemoteNG.Tools;
|
||||
|
||||
namespace mRemoteNG.Connection.Protocol.RDP
|
||||
{
|
||||
public enum RDPSounds
|
||||
{
|
||||
[LocalizedAttributes.LocalizedDescription("strRDPSoundBringToThisComputer")]
|
||||
BringToThisComputer = 0,
|
||||
|
||||
[LocalizedAttributes.LocalizedDescription("strRDPSoundLeaveAtRemoteComputer")]
|
||||
LeaveAtRemoteComputer = 1,
|
||||
|
||||
[LocalizedAttributes.LocalizedDescription("strRDPSoundDoNotPlay")]
|
||||
DoNotPlay = 2
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,4 @@
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Diagnostics;
|
||||
using System.Drawing;
|
||||
using System.Threading;
|
||||
@@ -15,7 +14,7 @@ using MSTSCLib;
|
||||
|
||||
namespace mRemoteNG.Connection.Protocol.RDP
|
||||
{
|
||||
public class RdpProtocol : ProtocolBase, ISupportsViewOnly
|
||||
public partial class RdpProtocol : ProtocolBase, ISupportsViewOnly
|
||||
{
|
||||
/* RDP v8 requires Windows 7 with:
|
||||
* https://support.microsoft.com/en-us/kb/2592687
|
||||
@@ -819,131 +818,6 @@ namespace mRemoteNG.Connection.Protocol.RDP
|
||||
Port = 3389
|
||||
}
|
||||
|
||||
public enum RDPColors
|
||||
{
|
||||
[LocalizedAttributes.LocalizedDescription("strRDP256Colors")]
|
||||
Colors256 = 8,
|
||||
|
||||
[LocalizedAttributes.LocalizedDescription("strRDP32768Colors")]
|
||||
Colors15Bit = 15,
|
||||
|
||||
[LocalizedAttributes.LocalizedDescription("strRDP65536Colors")]
|
||||
Colors16Bit = 16,
|
||||
|
||||
[LocalizedAttributes.LocalizedDescription("strRDP16777216Colors")]
|
||||
Colors24Bit = 24,
|
||||
|
||||
[LocalizedAttributes.LocalizedDescription("strRDP4294967296Colors")]
|
||||
Colors32Bit = 32
|
||||
}
|
||||
|
||||
public enum RDPSounds
|
||||
{
|
||||
[LocalizedAttributes.LocalizedDescription("strRDPSoundBringToThisComputer")]
|
||||
BringToThisComputer = 0,
|
||||
|
||||
[LocalizedAttributes.LocalizedDescription("strRDPSoundLeaveAtRemoteComputer")]
|
||||
LeaveAtRemoteComputer = 1,
|
||||
|
||||
[LocalizedAttributes.LocalizedDescription("strRDPSoundDoNotPlay")]
|
||||
DoNotPlay = 2
|
||||
}
|
||||
|
||||
public enum RDPSoundQuality
|
||||
{
|
||||
[LocalizedAttributes.LocalizedDescription("strRDPSoundQualityDynamic")]
|
||||
Dynamic = 0,
|
||||
|
||||
[LocalizedAttributes.LocalizedDescription("strRDPSoundQualityMedium")]
|
||||
Medium = 1,
|
||||
|
||||
[LocalizedAttributes.LocalizedDescription("strRDPSoundQualityHigh")]
|
||||
High = 2
|
||||
}
|
||||
|
||||
private enum RDPPerformanceFlags
|
||||
{
|
||||
[Description("strRDPDisableWallpaper")]
|
||||
DisableWallpaper = 0x1,
|
||||
|
||||
// [Description("strRDPDisableFullWindowdrag")]DisableFullWindowDrag = 0x2,
|
||||
// [Description("strRDPDisableMenuAnimations")]DisableMenuAnimations = 0x4,
|
||||
[Description("strRDPDisableThemes")] DisableThemes = 0x8,
|
||||
|
||||
// [Description("strRDPDisableCursorShadow")]DisableCursorShadow = 0x20,
|
||||
// [Description("strRDPDisableCursorblinking")]DisableCursorBlinking = 0x40,
|
||||
[Description("strRDPEnableFontSmoothing")]
|
||||
EnableFontSmoothing = 0x80,
|
||||
|
||||
[Description("strRDPEnableDesktopComposition")]
|
||||
EnableDesktopComposition = 0x100
|
||||
}
|
||||
|
||||
public enum RDPResolutions
|
||||
{
|
||||
[LocalizedAttributes.LocalizedDescription("strRDPFitToPanel")]
|
||||
FitToWindow,
|
||||
|
||||
[LocalizedAttributes.LocalizedDescription("strFullscreen")]
|
||||
Fullscreen,
|
||||
|
||||
[LocalizedAttributes.LocalizedDescription("strRDPSmartSize")]
|
||||
SmartSize,
|
||||
[Description("800x600")] Res800x600,
|
||||
[Description("1024x768")] Res1024x768,
|
||||
[Description("1152x864")] Res1152x864,
|
||||
[Description("1280x800")] Res1280x800,
|
||||
[Description("1280x1024")] Res1280x1024,
|
||||
[Description("1366x768")] Res1366x768,
|
||||
[Description("1440x900")] Res1440x900,
|
||||
[Description("1600x900")] Res1600x900,
|
||||
[Description("1600x1200")] Res1600x1200,
|
||||
[Description("1680x1050")] Res1680x1050,
|
||||
[Description("1920x1080")] Res1920x1080,
|
||||
[Description("1920x1200")] Res1920x1200,
|
||||
[Description("2048x1536")] Res2048x1536,
|
||||
[Description("2560x1440")] Res2560x1440,
|
||||
[Description("2560x1600")] Res2560x1600,
|
||||
[Description("2560x2048")] Res2560x2048,
|
||||
[Description("3840x2160")] Res3840x2160
|
||||
}
|
||||
|
||||
public enum AuthenticationLevel
|
||||
{
|
||||
[LocalizedAttributes.LocalizedDescription("strAlwaysConnectEvenIfAuthFails")]
|
||||
NoAuth = 0,
|
||||
|
||||
[LocalizedAttributes.LocalizedDescription("strDontConnectWhenAuthFails")]
|
||||
AuthRequired = 1,
|
||||
|
||||
[LocalizedAttributes.LocalizedDescription("strWarnIfAuthFails")]
|
||||
WarnOnFailedAuth = 2
|
||||
}
|
||||
|
||||
public enum RDGatewayUsageMethod
|
||||
{
|
||||
[LocalizedAttributes.LocalizedDescription("strNever")]
|
||||
Never = 0, // TSC_PROXY_MODE_NONE_DIRECT
|
||||
|
||||
[LocalizedAttributes.LocalizedDescription("strAlways")]
|
||||
Always = 1, // TSC_PROXY_MODE_DIRECT
|
||||
|
||||
[LocalizedAttributes.LocalizedDescription("strDetect")]
|
||||
Detect = 2 // TSC_PROXY_MODE_DETECT
|
||||
}
|
||||
|
||||
public enum RDGatewayUseConnectionCredentials
|
||||
{
|
||||
[LocalizedAttributes.LocalizedDescription("strUseDifferentUsernameAndPassword")]
|
||||
No = 0,
|
||||
|
||||
[LocalizedAttributes.LocalizedDescription("strUseSameUsernameAndPassword")]
|
||||
Yes = 1,
|
||||
|
||||
[LocalizedAttributes.LocalizedDescription("strUseSmartCard")]
|
||||
SmartCard = 2
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Resolution
|
||||
|
||||
@@ -221,7 +221,7 @@ namespace mRemoteNG.UI.Controls.ConnectionInfoPropertyGrid
|
||||
strHide.Add(nameof(AbstractConnectionRecord.RDPAlertIdleTimeout));
|
||||
}
|
||||
|
||||
if (SelectedConnectionInfo.RDGatewayUsageMethod == RdpProtocol.RDGatewayUsageMethod.Never)
|
||||
if (SelectedConnectionInfo.RDGatewayUsageMethod == RDGatewayUsageMethod.Never)
|
||||
{
|
||||
strHide.Add(nameof(AbstractConnectionRecord.RDGatewayDomain));
|
||||
strHide.Add(nameof(AbstractConnectionRecord.RDGatewayHostname));
|
||||
@@ -230,20 +230,20 @@ namespace mRemoteNG.UI.Controls.ConnectionInfoPropertyGrid
|
||||
strHide.Add(nameof(AbstractConnectionRecord.RDGatewayUsername));
|
||||
}
|
||||
else if (SelectedConnectionInfo.RDGatewayUseConnectionCredentials ==
|
||||
RdpProtocol.RDGatewayUseConnectionCredentials.Yes)
|
||||
RDGatewayUseConnectionCredentials.Yes)
|
||||
{
|
||||
strHide.Add(nameof(AbstractConnectionRecord.RDGatewayDomain));
|
||||
strHide.Add(nameof(AbstractConnectionRecord.RDGatewayPassword));
|
||||
strHide.Add(nameof(AbstractConnectionRecord.RDGatewayUsername));
|
||||
}
|
||||
|
||||
if (!(SelectedConnectionInfo.Resolution == RdpProtocol.RDPResolutions.FitToWindow ||
|
||||
SelectedConnectionInfo.Resolution == RdpProtocol.RDPResolutions.Fullscreen))
|
||||
if (!(SelectedConnectionInfo.Resolution == RDPResolutions.FitToWindow ||
|
||||
SelectedConnectionInfo.Resolution == RDPResolutions.Fullscreen))
|
||||
{
|
||||
strHide.Add(nameof(AbstractConnectionRecord.AutomaticResize));
|
||||
}
|
||||
|
||||
if (SelectedConnectionInfo.RedirectSound != RdpProtocol.RDPSounds.BringToThisComputer)
|
||||
if (SelectedConnectionInfo.RedirectSound != RDPSounds.BringToThisComputer)
|
||||
{
|
||||
strHide.Add(nameof(AbstractConnectionRecord.SoundQuality));
|
||||
}
|
||||
|
||||
@@ -252,12 +252,20 @@
|
||||
<Compile Include="Connection\IHasParent.cs" />
|
||||
<Compile Include="Connection\Protocol\Http\Connection.Protocol.HTTPS.CertEvent.cs" />
|
||||
<Compile Include="Connection\Protocol\ProtocolFactory.cs" />
|
||||
<Compile Include="Connection\Protocol\RDP\AuthenticationLevel.cs" />
|
||||
<Compile Include="Connection\Protocol\RDP\AzureLoadBalanceInfoEncoder.cs" />
|
||||
<Compile Include="Connection\Protocol\ISupportsViewOnly.cs" />
|
||||
<Compile Include="Connection\Protocol\RDP\RDGatewayUsageMethod.cs" />
|
||||
<Compile Include="Connection\Protocol\RDP\RDGatewayUseConnectionCredentials.cs" />
|
||||
<Compile Include="Connection\Protocol\RDP\RdpClientWrap.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Connection\Protocol\RDP\RDPColors.cs" />
|
||||
<Compile Include="Connection\Protocol\RDP\RdpErrorCodes.cs" />
|
||||
<Compile Include="Connection\Protocol\RDP\RDPPerformanceFlags.cs" />
|
||||
<Compile Include="Connection\Protocol\RDP\RDPResolutions.cs" />
|
||||
<Compile Include="Connection\Protocol\RDP\RDPSoundQuality.cs" />
|
||||
<Compile Include="Connection\Protocol\RDP\RDPSounds.cs" />
|
||||
<Compile Include="Connection\Protocol\VNC\VNCEnum.cs" />
|
||||
<Compile Include="Connection\WebHelper.cs" />
|
||||
<Compile Include="Credential\PlaceholderCredentialRecord.cs" />
|
||||
|
||||
Reference in New Issue
Block a user