Restore interfaces.

This commit is contained in:
Christian
2022-04-05 20:00:49 +02:00
parent cf2974cd34
commit 7cf454952f
31 changed files with 293 additions and 137 deletions
@@ -0,0 +1,52 @@
using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using MQTTnet.Client;
using MQTTnet.Packets;
namespace MQTTnet.Extensions.ManagedClient
{
public interface IManagedMqttClient : IDisposable
{
event Func<ApplicationMessageProcessedEventArgs, Task> ApplicationMessageProcessedAsync;
event Func<MqttApplicationMessageReceivedEventArgs, Task> ApplicationMessageReceivedAsync;
event Func<EventArgs, Task> ConnectedAsync;
event Func<ConnectingFailedEventArgs, Task> ConnectingFailedAsync;
event Func<EventArgs, Task> ConnectionStateChangedAsync;
event Func<EventArgs, Task> DisconnectedAsync;
IApplicationMessageSkippedHandler ApplicationMessageSkippedHandler { get; set; }
IMqttClient InternalClient { get; }
bool IsConnected { get; }
bool IsStarted { get; }
ManagedMqttClientOptions Options { get; }
int PendingApplicationMessagesCount { get; }
ISynchronizingSubscriptionsFailedHandler SynchronizingSubscriptionsFailedHandler { get; set; }
Task EnqueueAsync(MqttApplicationMessage applicationMessage);
Task EnqueueAsync(ManagedMqttApplicationMessage applicationMessage);
Task PingAsync(CancellationToken cancellationToken = default);
Task StartAsync(ManagedMqttClientOptions options);
Task StopAsync();
Task SubscribeAsync(ICollection<MqttTopicFilter> topicFilters);
Task UnsubscribeAsync(ICollection<string> topics);
}
}
@@ -14,11 +14,10 @@ using MQTTnet.Internal;
using MQTTnet.Packets;
using MQTTnet.Protocol;
using MQTTnet.Server;
using MqttClient = MQTTnet.Client.MqttClient;
namespace MQTTnet.Extensions.ManagedClient
{
public sealed class ManagedMqttClient : Disposable
public sealed class ManagedMqttClient : Disposable, IManagedMqttClient
{
readonly AsyncEvent<ApplicationMessageProcessedEventArgs> _applicationMessageProcessedEvent = new AsyncEvent<ApplicationMessageProcessedEventArgs>();
readonly AsyncEvent<ConnectingFailedEventArgs> _connectingFailedEvent = new AsyncEvent<ConnectingFailedEventArgs>();
@@ -62,7 +61,7 @@ namespace MQTTnet.Extensions.ManagedClient
ManagedMqttClientStorageManager _storageManager;
public ManagedMqttClient(MqttClient mqttClient, IMqttNetLogger logger)
public ManagedMqttClient(IMqttClient mqttClient, IMqttNetLogger logger)
{
InternalClient = mqttClient ?? throw new ArgumentNullException(nameof(mqttClient));
@@ -112,7 +111,7 @@ namespace MQTTnet.Extensions.ManagedClient
public IApplicationMessageSkippedHandler ApplicationMessageSkippedHandler { get; set; }
public MqttClient InternalClient { get; }
public IMqttClient InternalClient { get; }
public bool IsConnected => InternalClient.IsConnected;
@@ -203,7 +202,7 @@ namespace MQTTnet.Extensions.ManagedClient
}
}
public Task PingAsync(CancellationToken cancellationToken)
public Task PingAsync(CancellationToken cancellationToken = default)
{
return InternalClient.PingAsync(cancellationToken);
}
@@ -13,7 +13,7 @@ namespace MQTTnet.Extensions.ManagedClient
public static class ManagedMqttClientExtensions
{
public static Task EnqueueAsync(
this ManagedMqttClient managedMqttClient,
this IManagedMqttClient managedMqttClient,
string topic,
string payload = null,
MqttQualityOfServiceLevel qualityOfServiceLevel = MqttQualityOfServiceLevel.AtMostOnce,
@@ -39,7 +39,7 @@ namespace MQTTnet.Extensions.ManagedClient
}
public static Task SubscribeAsync(
this ManagedMqttClient managedMqttClient,
this IManagedMqttClient managedMqttClient,
string topic,
MqttQualityOfServiceLevel qualityOfServiceLevel = MqttQualityOfServiceLevel.AtMostOnce)
{
@@ -60,7 +60,7 @@ namespace MQTTnet.Extensions.ManagedClient
});
}
public static Task UnsubscribeAsync(this ManagedMqttClient managedMqttClient, string topic)
public static Task UnsubscribeAsync(this IManagedMqttClient managedMqttClient, string topic)
{
if (managedMqttClient == null)
{
@@ -10,7 +10,7 @@ namespace MQTTnet.Extensions.ManagedClient
{
public static class MqttFactoryExtensions
{
public static ManagedMqttClient CreateManagedMqttClient(this MqttFactory factory, MqttClient mqttClient = null)
public static IManagedMqttClient CreateManagedMqttClient(this MqttFactory factory, IMqttClient mqttClient = null)
{
if (factory == null) throw new ArgumentNullException(nameof(factory));
@@ -22,7 +22,7 @@ namespace MQTTnet.Extensions.ManagedClient
return new ManagedMqttClient(mqttClient, factory.DefaultLogger);
}
public static ManagedMqttClient CreateManagedMqttClient(this MqttFactory factory, IMqttNetLogger logger)
public static IManagedMqttClient CreateManagedMqttClient(this MqttFactory factory, IMqttNetLogger logger)
{
if (factory == null) throw new ArgumentNullException(nameof(factory));
if (logger == null) throw new ArgumentNullException(nameof(logger));