blob: 3e54a327bdb8a9ed3ffd27c6d7801d04e5b3a9c3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using Tango.BL.Entities;
using Tango.Integration.ExternalBridge;
namespace Tango.MachineStudio.Common.StudioApplication
{
/// <summary>
/// Represents the Machine Studio application manager.
/// </summary>
public interface IStudioApplicationManager : INotifyPropertyChanged
{
/// <summary>
/// Occurs when the application is ready.
/// </summary>
event EventHandler ApplicationReady;
/// <summary>
/// Occurs when the connected machine property has changed.
/// </summary>
event EventHandler<IExternalBridgeClient> ConnectedMachineChanged;
/// <summary>
/// Gets a value indicating whether Machine Studio is shutting down.
/// </summary>
bool IsShuttingDown { get; }
/// <summary>
/// Shutdown the application.
/// </summary>
void ShutDown();
/// <summary>
/// Gets or sets the currently connected machine if any.
/// </summary>
IExternalBridgeClient ConnectedMachine { get; }
/// <summary>
/// Gets or sets the machine.
/// </summary>
Machine Machine { get; }
/// <summary>
/// Gets a value indicating whether the <see cref="ConnectedMachine"/> is valid.
/// </summary>
bool IsMachineConnected { get; }
/// <summary>
/// Gets a value indicating whether the <see cref="ConnectedMachine"/> is valid and connected through TCP/IP.
/// </summary>
bool IsMachineConnectedViaTCP { get; }
/// <summary>
/// Gets the machine studio application version.
/// </summary>
Version Version { get; }
/// <summary>
/// Gets the core libraries version.
/// </summary>
Version CoreVersion { get; }
/// <summary>
/// Gets the build date.
/// </summary>
String BuildDate { get; }
/// <summary>
/// Gets the change log.
/// </summary>
String ChangeLog { get; }
/// <summary>
/// Notify the application manager about an external opened window.
/// When application exists. All registered windows will be closed.
/// </summary>
/// <param name="window">The window.</param>
void RegisterOpenedWindow(Window window);
/// <summary>
/// Raises the application ready event.
/// </summary>
void NotifyApplicationReady();
/// <summary>
/// Sets the connected machine.
/// </summary>
/// <param name="connectedMachine">The connected machine.</param>
void SetConnectedMachine(IExternalBridgeClient connectedMachine);
}
}
|