// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. using System; using System.Collections; namespace MQTTnet.Server { public sealed class ClientUnsubscribedTopicEventArgs : EventArgs { public ClientUnsubscribedTopicEventArgs(string clientId, string userName, string topicFilter, IDictionary sessionItems) { ClientId = clientId ?? throw new ArgumentNullException(nameof(clientId)); UserName = userName; TopicFilter = topicFilter ?? throw new ArgumentNullException(nameof(topicFilter)); SessionItems = sessionItems ?? throw new ArgumentNullException(nameof(sessionItems)); } /// /// Gets the client identifier. /// Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. /// public string ClientId { get; } /// /// Gets the user name of the client. /// public string UserName { get; } /// /// Gets or sets a key/value collection that can be used to share data within the scope of this session. /// public IDictionary SessionItems { get; } /// /// Gets or sets the topic filter. /// The topic filter can contain topics and wildcards. /// public string TopicFilter { get; } } }