aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common
diff options
context:
space:
mode:
authorRoy <roy.mail.net@gmail.com>2017-12-17 13:03:05 +0200
committerRoy <roy.mail.net@gmail.com>2017-12-17 13:03:05 +0200
commit1d9247ecb3af34b7a509f46550efcb621817fa4a (patch)
tree545ea98cbb6216191f636231f283ab3e19291b85 /Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common
parent8c021f470bca9a938dbfcd425f7056c1ae71a305 (diff)
downloadTango-1d9247ecb3af34b7a509f46550efcb621817fa4a.tar.gz
Tango-1d9247ecb3af34b7a509f46550efcb621817fa4a.zip
Implemented IStudioApplicationManager + IShutDownRequestBlocker.
Implemented extension methods for service locator, GetAllInstances & GetAllInstancesByBase.. Implemented ShutDown View.
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common')
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/StudioApplication/IShutdownRequestBlocker.cs13
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/StudioApplication/IStudioApplicationManager.cs13
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/StudioViewModel.cs25
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Tango.MachineStudio.Common.csproj2
4 files changed, 53 insertions, 0 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/StudioApplication/IShutdownRequestBlocker.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/StudioApplication/IShutdownRequestBlocker.cs
new file mode 100644
index 000000000..a157bd598
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/StudioApplication/IShutdownRequestBlocker.cs
@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Tango.MachineStudio.Common.StudioApplication
+{
+ public interface IShutdownRequestBlocker
+ {
+ Task<bool> OnShutdownRequest();
+ }
+}
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/StudioApplication/IStudioApplicationManager.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/StudioApplication/IStudioApplicationManager.cs
new file mode 100644
index 000000000..0ee27fbf6
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/StudioApplication/IStudioApplicationManager.cs
@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Tango.MachineStudio.Common.StudioApplication
+{
+ public interface IStudioApplicationManager
+ {
+ void ShutDown();
+ }
+}
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/StudioViewModel.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/StudioViewModel.cs
new file mode 100644
index 000000000..6b7984faf
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/StudioViewModel.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tango.SharedUI;
+
+namespace Tango.MachineStudio.Common
+{
+ public abstract class StudioViewModel : ViewModel
+ {
+ public abstract Task<bool> RequestShutdown();
+ }
+
+ public abstract class StudioViewModel<T> : ViewModel<T> where T : IView
+ {
+ public abstract Task<bool> OnShutdownRequest();
+
+ public StudioViewModel(T view) : base(view)
+ {
+
+ }
+ }
+}
+
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Tango.MachineStudio.Common.csproj b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Tango.MachineStudio.Common.csproj
index cb2818ddf..1aa5216b4 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Tango.MachineStudio.Common.csproj
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Tango.MachineStudio.Common.csproj
@@ -69,6 +69,8 @@
<Reference Include="PresentationFramework" />
</ItemGroup>
<ItemGroup>
+ <Compile Include="StudioApplication\IStudioApplicationManager.cs" />
+ <Compile Include="StudioApplication\IShutdownRequestBlocker.cs" />
<Compile Include="ExtensionMethods\IStudioMessageExtensions.cs" />
<Compile Include="Messages\IStudioMessage.cs" />
<Compile Include="Notifications\TaskItem.cs" />