Constants defined in the Shadow library. More...
Macros | |
#define | SHADOW_PREFIX "$aws/things/" |
The common prefix of all Shadow MQTT topics from here https://docs.aws.amazon.com/iot/latest/developerguide/device-shadow-mqtt.html. | |
#define | SHADOW_PREFIX_LENGTH ( ( uint16_t ) ( sizeof( SHADOW_PREFIX ) - 1U ) ) |
The length of SHADOW_PREFIX. | |
#define | SHADOW_OP_DELETE "/shadow/delete" |
The string representing a Shadow "DELETE" operation in a Shadow MQTT topic. | |
#define | SHADOW_OP_DELETE_LENGTH ( ( uint16_t ) ( sizeof( SHADOW_OP_DELETE ) - 1U ) ) |
The length of SHADOW_OP_DELETE. | |
#define | SHADOW_OP_GET "/shadow/get" |
The string representing a Shadow "GET" operation in a Shadow MQTT topic. | |
#define | SHADOW_OP_GET_LENGTH ( ( uint16_t ) ( sizeof( SHADOW_OP_GET ) - 1U ) ) |
The length of SHADOW_OP_GET. | |
#define | SHADOW_OP_UPDATE "/shadow/update" |
The string representing a Shadow "UPDATE" operation in a Shadow MQTT topic. | |
#define | SHADOW_OP_UPDATE_LENGTH ( ( uint16_t ) ( sizeof( SHADOW_OP_UPDATE ) - 1U ) ) |
The length of SHADOW_OP_UPDATE. | |
#define | SHADOW_SUFFIX_ACCEPTED "/accepted" |
The suffix for a Shadow operation "accepted" topic. | |
#define | SHADOW_SUFFIX_ACCEPTED_LENGTH ( ( uint16_t ) ( sizeof( SHADOW_SUFFIX_ACCEPTED ) - 1U ) ) |
The length of SHADOW_SUFFIX_ACCEPTED. | |
#define | SHADOW_SUFFIX_REJECTED "/rejected" |
The suffix for a Shadow operation "rejected" topic. | |
#define | SHADOW_SUFFIX_REJECTED_LENGTH ( ( uint16_t ) ( sizeof( SHADOW_SUFFIX_REJECTED ) - 1U ) ) |
The length of SHADOW_SUFFIX_REJECTED. | |
#define | SHADOW_SUFFIX_DELTA "/delta" |
The suffix for a Shadow "delta" topic. | |
#define | SHADOW_SUFFIX_DELTA_LENGTH ( ( uint16_t ) ( sizeof( SHADOW_SUFFIX_DELTA ) - 1U ) ) |
The length of SHADOW_SUFFIX_DELTA. | |
#define | SHADOW_SUFFIX_DOCUMENTS "/documents" |
The suffix for a Shadow "documents" topic. | |
#define | SHADOW_SUFFIX_DOCUMENTS_LENGTH ( ( uint16_t ) ( sizeof( SHADOW_SUFFIX_DOCUMENTS ) - 1U ) ) |
The length of SHADOW_SUFFIX_DOCUMENTS. | |
#define | SHADOW_SUFFIX_NULL |
The suffix for a "null" suffix. | |
#define | SHADOW_SUFFIX_NULL_LENGTH ( 0U ) |
The length of null suffix. | |
#define | SHADOW_THINGNAME_LENGTH_MAX ( 128U ) |
The maximum length of Thing Name. | |
#define | SHADOW_TOPIC_LENGTH(operationLength, suffixLength, thingNameLength) ( operationLength + suffixLength + thingNameLength + SHADOW_PREFIX_LENGTH ) |
Compute shadow topic length. More... | |
#define | SHADOW_TOPIC_LENGTH_MAX(thingNameLength) SHADOW_TOPIC_LENGTH( SHADOW_OP_UPDATE_LENGTH, SHADOW_SUFFIX_DOCUMENTS_LENGTH, thingNameLength ) |
Compute the length of the longest shadow topic. | |
#define | SHADOW_TOPIC_STRING(thingName, operation, suffix) ( SHADOW_PREFIX thingName operation suffix ) |
Assemble constant shadow topic strings when Thing Name is known at compile time. More... | |
Constants defined in the Shadow library.
#define SHADOW_TOPIC_LENGTH | ( | operationLength, | |
suffixLength, | |||
thingNameLength | |||
) | ( operationLength + suffixLength + thingNameLength + SHADOW_PREFIX_LENGTH ) |
Compute shadow topic length.
The format of shadow topic strings is defined at https://docs.aws.amazon.com/iot/latest/developerguide/device-shadow-mqtt.html
A shadow topic string takes one of the two forms: $aws/things/<thingName>/shadow/<operation> $aws/things/<thingName>/shadow/<operation>/<suffix>
The <thingName>, <operation> and <suffix> segments correspond to the three input parameters of this macro. The <suffix> part can be null.
When thingName is known to be "myThing" at compile time, invoke the macro like this: (In this case, the length is a constant at compile time.)
SHADOW_TOPIC_LENGTH( SHADOW_OP_UPDATE_LENGTH, SHADOW_SUFFIX_DELTA_LENGTH, 7 )
When thingName is only known at run time and held in a variable myThingName, invoke the macro like this:
SHADOW_TOPIC_LENGTH( SHADOW_OP_UPDATE_LENGTH, SHADOW_SUFFIX_DELTA_LENGTH, strlen( ( const char * ) myThingName ) )
[operationLength] | Can be one of: |
[suffixLength] | Can be one of: |
[thingNameLength] | Length of the thingName excluding the ending NULL. |
#define SHADOW_TOPIC_STRING | ( | thingName, | |
operation, | |||
suffix | |||
) | ( SHADOW_PREFIX thingName operation suffix ) |
Assemble constant shadow topic strings when Thing Name is known at compile time.
When thingName is known to be "myThing" at compile time, invoke the macro like this:
SHADOW_TOPIC_STRING( SHADOW_OP_UPDATE, SHADOW_SUFFIX_DELTA, "myThing" )
When thingName is only known at run time, do not use this macro. Use the Shadow_GetTopicString() function instead.
[operation] | Can be one of: |
[suffix] | Can be one of: |
[thingName] | Thing Name. |