aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineConnectionViewVM.cs
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2019-03-28 10:55:56 +0200
committerShlomo Hecht <shlomo@twine-s.com>2019-03-28 10:55:56 +0200
commit36f19301ac0cc27d74b73eb4b31fdecfd86f5060 (patch)
treee4f4a636f4a2dc03376e6eff2077ced4079429ed /Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineConnectionViewVM.cs
parent1ea2a13900697e203658ff8c9489b70866792a49 (diff)
parentb62c4b8b67b3103c691564df80f65423a9c315a0 (diff)
downloadTango-36f19301ac0cc27d74b73eb4b31fdecfd86f5060.tar.gz
Tango-36f19301ac0cc27d74b73eb4b31fdecfd86f5060.zip
Merge branch 'master' of https://twinetfs.visualstudio.com/Tango/_git/Tango
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineConnectionViewVM.cs')
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineConnectionViewVM.cs46
1 files changed, 28 insertions, 18 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineConnectionViewVM.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineConnectionViewVM.cs
index 7737911e0..ce49d805e 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineConnectionViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineConnectionViewVM.cs
@@ -19,18 +19,16 @@ namespace Tango.MachineStudio.UI.ViewModels
/// <seealso cref="Tango.MachineStudio.Common.Notifications.DialogViewVM" />
public class MachineConnectionViewVM : DialogViewVM
{
- private EmulatorExternalBridge _emulator;
-
- private ExternalBridgeScanner _scanner;
- /// <summary>
- /// Gets or sets the machine scanner.
- /// </summary>
+ private static ExternalBridgeScanner _scanner;
public ExternalBridgeScanner Scanner
{
get { return _scanner; }
set { _scanner = value; RaisePropertyChangedAuto(); }
}
+
+ private EmulatorExternalBridge _emulator;
+
private IExternalBridgeClient _selectedMachine;
/// <summary>
/// Gets or sets the selected machine.
@@ -50,11 +48,15 @@ namespace Tango.MachineStudio.UI.ViewModels
/// Initializes a new instance of the <see cref="MachineConnectionViewVM"/> class.
/// </summary>
/// <param name="scanner">The scanner.</param>
- public MachineConnectionViewVM(ExternalBridgeScanner scanner)
+ public MachineConnectionViewVM()
{
+ if (_scanner == null)
+ {
+ _scanner = new ExternalBridgeScanner();
+ }
+
EnableDiagnostics = true;
UploadHardwareConfiguration = true;
- Scanner = scanner;
ConnectCommand = new RelayCommand(Connect, (x) => SelectedMachine != null);
}
@@ -65,7 +67,7 @@ namespace Tango.MachineStudio.UI.ViewModels
{
if (SelectedMachine != null)
{
- Scanner.Stop();
+ _scanner.Stop();
Accept();
}
}
@@ -75,7 +77,7 @@ namespace Tango.MachineStudio.UI.ViewModels
/// </summary>
protected override void Cancel()
{
- Scanner.Stop();
+ _scanner.Stop();
base.Cancel();
}
@@ -85,19 +87,27 @@ namespace Tango.MachineStudio.UI.ViewModels
public override void OnShow()
{
base.OnShow();
- Scanner.AvailableMachines.Clear();
- if (SettingsManager.Default.GetOrCreate<MachineStudioSettings>().UseExternalBridgeEmulator)
+ try
{
- if (_emulator != null)
+ _scanner.AvailableMachines.Clear();
+
+ if (SettingsManager.Default.GetOrCreate<MachineStudioSettings>().UseExternalBridgeEmulator)
{
- _emulator.Disconnect();
+ if (_emulator != null)
+ {
+ _emulator.Disconnect();
+ }
+ _emulator = new EmulatorExternalBridge();
}
- _emulator = new EmulatorExternalBridge();
- }
- Scanner.AvailableMachines.Add(_emulator);
- Scanner.Start();
+ _scanner.AvailableMachines.Add(_emulator);
+ _scanner.Start();
+ }
+ catch (Exception ex)
+ {
+ LogManager.Log(ex, "Error starting external bridge scanner.");
+ }
}
private bool _enableDiagnostics;