소스 검색

Added MqttClientUnsubscribeOptionsBuilder analogous to MqttClientSubscribeOptionsBuilder

release/3.x.x
Dominik Viererbe 4 년 전
부모
커밋
5f59aca62c
1개의 변경된 파일60개의 추가작업 그리고 0개의 파일을 삭제
  1. +60
    -0
      Source/MQTTnet/Client/Unsubscribing/MqttClientUnsubscribeOptionsBuilder.cs

+ 60
- 0
Source/MQTTnet/Client/Unsubscribing/MqttClientUnsubscribeOptionsBuilder.cs 파일 보기

@@ -0,0 +1,60 @@
using MQTTnet.Packets;
using System;
using System.Collections.Generic;
using System.Text;

namespace MQTTnet.Client.Unsubscribing
{
public class MqttClientUnsubscribeOptionsBuilder
{
private readonly MqttClientUnsubscribeOptions _unsubscribeOptions = new MqttClientUnsubscribeOptions();

public MqttClientUnsubscribeOptionsBuilder WithUserProperty(string name, string value)
{
if (name is null) throw new ArgumentNullException(nameof(name));
if (value is null) throw new ArgumentNullException(nameof(value));

return WithUserProperty(new MqttUserProperty(name, value));
}

public MqttClientUnsubscribeOptionsBuilder WithUserProperty(MqttUserProperty userProperty)
{
if (userProperty is null) throw new ArgumentNullException(nameof(userProperty));

if (_unsubscribeOptions.UserProperties is null)
{
_unsubscribeOptions.UserProperties = new List<MqttUserProperty>();
}

_unsubscribeOptions.UserProperties.Add(userProperty);

return this;
}

public MqttClientUnsubscribeOptionsBuilder WithTopicFilter(string topic)
{
if (topic is null) throw new ArgumentNullException(nameof(topic));

if (_unsubscribeOptions.TopicFilters is null)
{
_unsubscribeOptions.TopicFilters = new List<string>();
}

_unsubscribeOptions.TopicFilters.Add(topic);

return this;
}
public MqttClientUnsubscribeOptionsBuilder WithTopicFilter(TopicFilter topicFilter)
{
if (topicFilter is null) throw new ArgumentNullException(nameof(topicFilter));

return WithTopic(topicFilter.Topic);
}

public MqttClientUnsubscribeOptions Build()
{
return _unsubscribeOptions;
}
}
}

불러오는 중...
취소
저장