aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels')
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineConnectionViewVM.cs19
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs12
2 files changed, 25 insertions, 6 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 60447f37a..51b7168ed 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineConnectionViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineConnectionViewVM.cs
@@ -4,8 +4,11 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Tango.Core.Commands;
+using Tango.Emulations.ExternalBridge;
using Tango.Integration.ExternalBridge;
+using Tango.MachineStudio.Common;
using Tango.MachineStudio.Common.Notifications;
+using Tango.Settings;
using Tango.SharedUI;
namespace Tango.MachineStudio.UI.ViewModels
@@ -16,6 +19,8 @@ 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.
@@ -63,6 +68,9 @@ namespace Tango.MachineStudio.UI.ViewModels
}
}
+ /// <summary>
+ /// Invokes the <see cref="E:Tango.SharedUI.DialogViewVM.Canceled" /> event.
+ /// </summary>
protected override void Cancel()
{
Scanner.Stop();
@@ -76,6 +84,17 @@ namespace Tango.MachineStudio.UI.ViewModels
{
base.OnShow();
Scanner.AvailableMachines.Clear();
+
+ if (SettingsManager.Default.GetOrCreate<MachineStudioSettings>().UseExternalBridgeEmulator)
+ {
+ if (_emulator != null)
+ {
+ _emulator.Disconnect();
+ }
+ _emulator = new EmulatorExternalBridge();
+ }
+
+ Scanner.AvailableMachines.Add(_emulator);
Scanner.Start();
}
}
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs
index ee4435832..31b2181ea 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs
@@ -388,7 +388,7 @@ namespace Tango.MachineStudio.UI.ViewModels
InvalidateRelayCommands();
String serial = ApplicationManager.ConnectedMachine.SerialNumber;
await ApplicationManager.ConnectedMachine.Disconnect();
- ApplicationManager.ConnectedMachine = null;
+ ApplicationManager.SetConnectedMachine(null);
_eventLogger.Log("Disconnected from machine " + serial);
PostMessage(new MachineConnectionChangedMessage() { Machine = null });
@@ -459,13 +459,13 @@ namespace Tango.MachineStudio.UI.ViewModels
Intent = PMR.Integration.ExternalBridgeLoginIntent.Override,
});
- ApplicationManager.ConnectedMachine = x.SelectedMachine;
+ ApplicationManager.SetConnectedMachine(x.SelectedMachine);
(x.SelectedMachine as IExternalBridgeSecureClient).SessionClosed += (_, __) =>
{
InvokeUI(() =>
{
_notificationProvider.ShowError("The remote machine has closed the current session. Machine disconnected.");
- ApplicationManager.ConnectedMachine = null;
+ ApplicationManager.SetConnectedMachine(null);
});
};
PostMessage(new MachineConnectionChangedMessage() { Machine = x.SelectedMachine });
@@ -506,7 +506,7 @@ namespace Tango.MachineStudio.UI.ViewModels
await x.SelectedMachine.Connect();
x.SelectedMachine.SerialNumber = vm.SelectedMachine.SerialNumber;
- ApplicationManager.ConnectedMachine = x.SelectedMachine;
+ ApplicationManager.SetConnectedMachine(x.SelectedMachine);
PostMessage(new MachineConnectionChangedMessage() { Machine = x.SelectedMachine });
_eventLogger.Log(String.Format("Successfully connected to machine {0} via USB", x.SelectedMachine.SerialNumber));
@@ -556,8 +556,8 @@ namespace Tango.MachineStudio.UI.ViewModels
{
using (ObservablesContext db = ObservablesContext.CreateDefault())
{
- var config = db.Adapter.GetConfiguration(s => s.Guid == ApplicationManager.ConnectedMachine.Machine.ConfigurationGuid);
- var hw = db.Adapter.GetHardwareVersionByMachine(ApplicationManager.ConnectedMachine.Machine.Guid);
+ var config = db.Adapter.GetConfiguration(s => s.Guid == ApplicationManager.Machine.ConfigurationGuid);
+ var hw = db.Adapter.GetHardwareVersionByMachine(ApplicationManager.Machine.Guid);
await ApplicationManager.ConnectedMachine.UploadHardwareConfiguration(hw, config);
}