blob: fabe3e02fb281cf7ec61d5254aa266c3c570f11a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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 session has been lost and an automatic reconnection with the last machine is required.
/// </summary>
event EventHandler ReconnectionRequired;
/// <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);
}
}
|