The topic that the server should publish the WillMessage to in the event of an ungraceful disconnection.
ANSI (Cross Platform) char* GetWillTopic();
int SetWillTopic(const char* lpszWillTopic); Unicode (Windows) LPWSTR GetWillTopic();
INT SetWillTopic(LPCWSTR lpszWillTopic);
@property (nonatomic,readwrite,assign,getter=willTopic,setter=setWillTopic:) NSString* willTopic; - (NSString*)willTopic; - (void)setWillTopic:(NSString*)newWillTopic;
#define PID_MQTT_WILLTOPIC 59 IPWORKSMQ_EXTERNAL void* IPWORKSMQ_CALL IPWorksMQ_MQTT_Get(void *lpObj, int propid, int arridx, int *lpcbVal, int64 *lpllVal); IPWORKSMQ_EXTERNAL int IPWORKSMQ_CALL IPWorksMQ_MQTT_Set(void *lpObj, int propid, int arridx, const void *val, int cbVal);
This property may be set before calling Connect to specify the topic name that the server should publish the WillMessage on if the connection is closed ungracefully. Since it is sent to the server when Connect is called, this property's value cannot be changed when already connected.
The Will feature of MQTT allows a client to specify to the server a WillMessage to publish (as well as a WillTopic to publish it on) in the event of an ungraceful disconnection.
An "ungraceful disconnection" is any disconnection other than one triggered by calling Disconnect (in which case the server discards the Will message without publishing it). Note that in MQTT 5, the client can set a DisconnectReasonCode of 0x04 before calling Disconnect to instruct the server to publish the Will message anyway.
In addition to the WillTopic and WillMessage properties, the WillQOS setting may be used to specify the Will message's QoS level, and the WillRetain setting to set the Will message's Retain flag. Refer to those settings for more information.
If WillTopic is set to empty string (default) when Connect is called, the class will not send a Will to the server.
In MQTT 5, the "WillDelayInterval" value in the WillProperties config can specify a delay between the ending of the connection and sending the will message, so that the WillMessage will not be sent if a connection is re-established within a certain period of time.
This property is not available at design time.