using System; using System.Collections.Generic; using System.Linq; using System.Runtime.InteropServices; using System.Text; using System.Threading.Tasks; namespace Paho.MqttDotnet { /// /// 表示mqtt遗属 /// public class MqttWill { /// /// 获取或设置主题 /// public string Topic { get; set; } /// /// 获取或设置消息内容 /// public string Message { get; set; } /// /// 获取或设置是否存储遗属 /// public bool Retain { get; set; } /// /// 获取或设置消息质量等级 /// public MqttQoS Qos { get; set; } /// /// 转换为结构体 /// /// internal MQTTAsync_willOptions ToStruct() { var will = MQTTAsync_willOptions.Init(); will.topicName = this.Topic.ToUnmanagedPointer(); will.message = this.Message.ToUnmanagedPointer(); will.retained = this.Retain ? 1 : 0; will.qos = (int)this.Qos; return will; } } }