usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows;usingTango.BL.Entities;usingTango.Integration.ExternalBridge;namespaceTango.MachineStudio.Common.StudioApplication{/// <summary>/// Represents the Machine Studio application manager./// </summary>publicinterfaceIStudioApplicationManager:INotifyPropertyChanged{/// <summary>/// Occurs when the application is ready./// </summary>eventEventHandlerApplicationReady;/// <summary>/// Occurs when the connected machine property has changed./// </summary>eventEventHandler<IExternalBridgeClient>ConnectedMachineChanged;/// <summary>/// Gets a value indicating whether Machine Studio is shutting down./// </summary>boolIsShuttingDown{get;}/// <summary>/// Shutdown the application./// </summary>voidShutDown();/// <summary>/// Gets or sets the currently connected machine if any./// </summary>IExternalBridgeClientConnectedMachine{get;}/// <summary>/// Gets or sets the machine./// </summary>MachineMachine{get;}/// <summary>/// Gets a value indicating whether the <see cref="ConnectedMachine"/> is valid./// </summary>boolIsMachineConnected{get;}/// <summary>/// Gets a value indicating whether the <see cref="ConnectedMachine"/> is valid and connected through TCP/IP./// </summary>boolIsMachineConnectedViaTCP{get;}/// <summary>/// Gets the machine studio application version./// </summary>VersionVersion{get;}/// <summary>/// Gets the core libraries version./// </summary>VersionCoreVersion{get;}/// <summary>/// Gets the build date./// </summary>StringBuildDate{get;}/// <summary>/// Gets the change log./// </summary>StringChangeLog{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>voidRegisterOpenedWindow(Windowwindow);/// <summary>/// Raises the application ready event./// </summary>voidNotifyApplicationReady();/// <summary>/// Sets the connected machine./// </summary>/// <param name="connectedMachine">The connected machine.</param>voidSetConnectedMachine(IExternalBridgeClientconnectedMachine);}}