IFeeder.cs 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using Team.FFFeederService.Enums;
  7. using TouchSocket.Sockets;
  8. namespace Team.FFFeederService.Interfaces
  9. {
  10. public interface IFeeder : IDisposable
  11. {
  12. TcpClient TcpClient { get; }
  13. FeederBrand FeederBrand { get; }
  14. int FeederPort { get; }
  15. string FeederIp { get; }
  16. Guid Id { get; set; }
  17. FeederModel FeederModel { get; }
  18. void Reset();
  19. Task ResetAsync();
  20. void OpenLight();
  21. Task OpenLightAsync();
  22. void CloseLight();
  23. Task CloseLightAsync();
  24. /// <summary>
  25. /// 停止
  26. /// </summary>
  27. /// <returns></returns>
  28. Task StopAsync();
  29. void Stop();
  30. void Connect();
  31. Task ConnectAsync();
  32. bool IsConnected { get; }
  33. bool IsInit { get; }
  34. /// <summary>
  35. /// Feeder连接上时
  36. /// </summary>
  37. event Action<Guid, ITcpClient, ConnectedEventArgs> FeederConnectedEvent;
  38. /// <summary>
  39. /// Feeder断开连接上时
  40. /// </summary>
  41. event Action<Guid, ITcpClient, ClosedEventArgs> FeederDisconnectedEvent;
  42. }
  43. }