using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Tango.BL.Entities;
using Tango.Integration.ExternalBridge;
using Tango.Integration.Operation;
namespace Tango.PPC.Common.Connection
{
/// <summary>
/// Represents the machine connection provider.
/// </summary>
public interface IMachineProvider
{
/// <summary>
/// Occurs when current <see cref="IMachineOperator"/> has changed.
/// </summary>
event EventHandler<MachineOperatorChangedEventArgs> MachineOperatorChanged;
/// <summary>
/// Gets the database machine entity associated with the current machine.
/// </summary>
Machine Machine { get; }
/// <summary>
/// Gets the machine operator.
/// </summary>
IMachineOperator MachineOperator { get; }
/// <summary>
/// Initializes this machine provider start machine port scanning and connection.
/// </summary>
void Init();
}
}