You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

30 lines
1.1 KiB

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Threading.Tasks;
  4. using MQTTnet.Client;
  5. namespace MQTTnet.Extensions.ManagedClient
  6. {
  7. public interface IManagedMqttClient : IApplicationMessageReceiver, IApplicationMessagePublisher, IDisposable
  8. {
  9. bool IsStarted { get; }
  10. bool IsConnected { get; }
  11. int PendingApplicationMessagesCount { get; }
  12. event EventHandler<MqttClientConnectedEventArgs> Connected;
  13. event EventHandler<MqttClientDisconnectedEventArgs> Disconnected;
  14. event EventHandler<ApplicationMessageProcessedEventArgs> ApplicationMessageProcessed;
  15. event EventHandler<MqttManagedProcessFailedEventArgs> ConnectingFailed;
  16. event EventHandler<MqttManagedProcessFailedEventArgs> SynchronizingSubscriptionsFailed;
  17. Task StartAsync(IManagedMqttClientOptions options);
  18. Task StopAsync();
  19. Task SubscribeAsync(IEnumerable<TopicFilter> topicFilters);
  20. Task UnsubscribeAsync(IEnumerable<string> topics);
  21. Task PublishAsync(ManagedMqttApplicationMessage applicationMessages);
  22. }
  23. }