aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineConnectionViewVM.cs
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2019-03-12 15:26:36 +0200
committerRoy Ben-Shabat <Roy@Twine-s.com>2019-03-12 15:26:36 +0200
commitdb5c4418d90840ec033a8eacc948419b72755857 (patch)
tree70be526f87898e133718b315bbf7b3b02e9d35c0 /Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineConnectionViewVM.cs
parent64326bd1599ef3855212c737ddfaeb6756337e2d (diff)
downloadTango-db5c4418d90840ec033a8eacc948419b72755857.tar.gz
Tango-db5c4418d90840ec033a8eacc948419b72755857.zip
Machine Studio v4.0.10
PPC v1.0.6
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;