IMqttClient.cs 1.3 KB

123456789101112131415161718192021222324252627282930
  1. using MQTTnet.Client.Connecting;
  2. using MQTTnet.Client.Disconnecting;
  3. using MQTTnet.Client.ExtendedAuthenticationExchange;
  4. using MQTTnet.Client.Options;
  5. using MQTTnet.Client.Subscribing;
  6. using MQTTnet.Client.Unsubscribing;
  7. using System;
  8. using System.Threading;
  9. using System.Threading.Tasks;
  10. namespace MQTTnet.Client
  11. {
  12. public interface IMqttClient : IApplicationMessageReceiver, IApplicationMessagePublisher, IDisposable
  13. {
  14. bool IsConnected { get; }
  15. IMqttClientOptions Options { get; }
  16. IMqttClientConnectedHandler ConnectedHandler { get; set; }
  17. IMqttClientDisconnectedHandler DisconnectedHandler { get; set; }
  18. Task<MqttClientAuthenticateResult> ConnectAsync(IMqttClientOptions options, CancellationToken cancellationToken);
  19. Task DisconnectAsync(MqttClientDisconnectOptions options, CancellationToken cancellationToken);
  20. Task PingAsync(CancellationToken cancellationToken);
  21. Task SendExtendedAuthenticationExchangeDataAsync(MqttExtendedAuthenticationExchangeData data, CancellationToken cancellationToken);
  22. Task<MqttClientSubscribeResult> SubscribeAsync(MqttClientSubscribeOptions options, CancellationToken cancellationToken);
  23. Task<MqttClientUnsubscribeResult> UnsubscribeAsync(MqttClientUnsubscribeOptions options, CancellationToken cancellationToken);
  24. }
  25. }