using System;
|
using System.Collections.Generic;
|
using System.ComponentModel;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
using Bro.Common.Helper;
|
using static Bro.Common.Helper.EnumHelper;
|
|
namespace Bro.Common.Interface
|
{
|
public delegate void DeviceStateChangedDelegate(IDevice device, DeviceState state);
|
public interface IDevice : IProcessID, IDisposable, INotifyPropertyChanged, ISimpleDevice
|
{
|
IInitialConfig InitialConfig { get; set; }
|
|
EnumHelper.DeviceState CurrentState { get; set; }
|
|
Action<IDevice, Exception> OnDeviceException { get; set; }
|
Action<DateTime, IDevice, string> OnLog { get; set; }
|
Action<DeviceState> OnDeviceStateChanged { get; set; }
|
event DeviceStateChangedDelegate OnDeviceStateChangedWithDeviceInfo;
|
|
void StateChange(EnumHelper.DeviceState stateToBe);
|
IOperationConfig SetAndRun(IOperationConfig config);
|
}
|
|
public interface ISimpleDevice
|
{
|
string Id { get; set; }
|
string Name { get; set; }
|
}
|
}
|