RegisterTopic Method
Register a topic name. Returns the topic id mapped to the newly registered topic name.
Syntax
ANSI (Cross Platform) int RegisterTopic(const char* lpszTopicName); Unicode (Windows) INT RegisterTopic(LPCWSTR lpszTopicName);
- (int)registerTopic:(NSString*)topicName;
#define MID_MQTTSN_REGISTERTOPIC 11 IPWORKSIOT_EXTERNAL int IPWORKSIOT_CALL IPWorksIoT_MQTTSN_Do(void *lpObj, int methid, int cparam, void *param[], int cbparam[], int64 *lpllVal);
Remarks
Requests that the gateway establish a new topic id mapping for the TopicName provided. If accepted, the gateway assigns a topic id to the received topic name and returns it. At this point, the client may begin sending messages with this topic id.
Topic Names
Topic names are case-sensitive, must be 1-65535 characters long, and may include any characters except wildcard characters (# and +) and the null character. The / character separates levels within a topic name, which is important in the context of subscribing (see Subscribe for more information).
Keep in mind that using topic names with leading or trailing / characters will cause topic levels with zero-length names to be created. That is, a topic name like /a/b/ consists of the levels '', 'a', 'b', and ''. Depending on the server, multiple successive /s may also cause zero-length levels to be created, or may be treated as a single /.
Topic names that begin with a $ are "system topics", and servers will typically prevent clients from publishing to them.
Error Handling (C++)
This method returns an Integer value; after it returns, call the GetLastErrorCode() method to obtain its result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message.