/* Code generated by Azure.Iot.Operations.ProtocolCompilerLib v1.0.0.0; DO NOT EDIT. */

#nullable enable

using System.Collections.Generic;
using Azure.Iot.Operations.Protocol;
using Azure.Iot.Operations.Protocol.Telemetry;
using Azure.Iot.Operations.Protocol.Models;
using Azure.Iot.Operations.Services.AssetAndDeviceRegistry.Generated.Common;

namespace Azure.Iot.Operations.Services.AssetAndDeviceRegistry.Generated.AdrBaseService
{
    public static partial class AdrBaseService
    {
        /// <summary>
        /// Specializes the <c>TelemetrySender</c> class for type <c>ManagementActionRuntimeHealthEventTelemetry</c>.
        /// </summary>
        [TelemetryTopic("akri/connector/resources/telemetry/{ex:connectorClientId}/{ex:deviceName}/{ex:inboundEndpointName}/managementActionRuntimeHealthEvent")]
        public class ManagementActionRuntimeHealthEventTelemetrySender : TelemetrySender<ManagementActionRuntimeHealthEventTelemetry>
        {
            /// <summary>
            /// Initializes a new instance of the <see cref="ManagementActionRuntimeHealthEventTelemetrySender"/> class.
            /// </summary>
            public ManagementActionRuntimeHealthEventTelemetrySender(ApplicationContext applicationContext, IMqttPubSubClient mqttClient)
                : base(applicationContext, mqttClient, new Utf8JsonSerializer())
            {
                if (mqttClient.ClientId != null)
                {
                    TopicTokenMap["senderId"] = mqttClient.ClientId;
                }
            }
        }
    }
}
