using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Tango.BL.Entities; using Tango.Integration.Operation; using Tango.PMR.Integration; using Tango.Transport; using Tango.Transport.Transporters; namespace Tango.Integration.ExternalBridge { public interface IExternalBridgeService : ITransporter { /// /// Occurs when a new client is waiting for authentication. /// event EventHandler ConnectionRequest; /// /// Occurs when the last client has been disconnected. /// event EventHandler ClientDisconnected; /// /// Occurs when the service has received a new color profile request. /// event EventHandler ColorProfileRequest; /// /// Gets or sets the machine operator. /// IMachineOperator MachineOperator { get; set; } /// /// Gets or sets the machine. /// Machine Machine { get; set; } /// /// Gets a value indicating whether this instance is started. /// bool IsStarted { get; } /// /// Gets or sets a value indicating whether this is enabled. /// bool Enabled { get; set; } /// /// Gets a value indicating whether a remote client is authenticated and in session. /// bool IsInSession { get; } /// /// Starts this instance. /// void Start(); /// /// Stops this instance. /// void Stop(); /// /// Disconnects the current remote client session. /// void DisconnectSession(); /// /// Gets the current session login intent. /// ExternalBridgeLoginIntent SessionIntent { get; } } }