IManagedMqttClient.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435
  1. using MQTTnet.Client.Connecting;
  2. using MQTTnet.Client.Disconnecting;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Threading;
  6. using System.Threading.Tasks;
  7. namespace MQTTnet.Extensions.ManagedClient
  8. {
  9. public interface IManagedMqttClient : IApplicationMessageReceiver, IApplicationMessagePublisher, IDisposable
  10. {
  11. bool IsStarted { get; }
  12. bool IsConnected { get; }
  13. int PendingApplicationMessagesCount { get; }
  14. IManagedMqttClientOptions Options { get; }
  15. IMqttClientConnectedHandler ConnectedHandler { get; set; }
  16. IMqttClientDisconnectedHandler DisconnectedHandler { get; set; }
  17. IApplicationMessageProcessedHandler ApplicationMessageProcessedHandler { get; set; }
  18. IApplicationMessageSkippedHandler ApplicationMessageSkippedHandler { get; set; }
  19. IConnectingFailedHandler ConnectingFailedHandler { get; set; }
  20. ISynchronizingSubscriptionsFailedHandler SynchronizingSubscriptionsFailedHandler { get; set; }
  21. Task StartAsync(IManagedMqttClientOptions options);
  22. Task StopAsync();
  23. Task PingAsync(CancellationToken cancellationToken);
  24. Task SubscribeAsync(IEnumerable<MqttTopicFilter> topicFilters);
  25. Task UnsubscribeAsync(IEnumerable<string> topics);
  26. Task PublishAsync(ManagedMqttApplicationMessage applicationMessages);
  27. }
  28. }