Jim Flynn / Mbed OS aws-iot-device-sdk-mbed-c
Embed: (wiki syntax)

« Back to documentation index

aws_iot_shadow_json.c File Reference

aws_iot_shadow_json.c File Reference

Shadow client JSON parsing API definitions. More...

Go to the source code of this file.

Functions

IoT_Error_t aws_iot_shadow_init_json_document (char *pJsonDocument, size_t maxSizeOfJsonDocument)
 Initialize the JSON document with Shadow expected name/value.
IoT_Error_t aws_iot_shadow_add_desired (char *pJsonDocument, size_t maxSizeOfJsonDocument, uint8_t count,...)
 Add the desired section of the JSON document of jsonStruct_t.
IoT_Error_t aws_iot_shadow_add_reported (char *pJsonDocument, size_t maxSizeOfJsonDocument, uint8_t count,...)
 Add the reported section of the JSON document of jsonStruct_t.
IoT_Error_t aws_iot_fill_with_client_token (char *pBufferToBeUpdatedWithClientToken, size_t maxSizeOfJsonDocument)
 Fill the given buffer with client token for tracking the Repsonse.
IoT_Error_t aws_iot_finalize_json_document (char *pJsonDocument, size_t maxSizeOfJsonDocument)
 Finalize the JSON document with Shadow expected client Token.

Detailed Description

Shadow client JSON parsing API definitions.

Definition in file aws_iot_shadow_json.c.


Function Documentation

IoT_Error_t aws_iot_fill_with_client_token ( char *  pBufferToBeUpdatedWithClientToken,
size_t  maxSizeOfJsonDocument 
)

Fill the given buffer with client token for tracking the Repsonse.

This function will add the AWS_IOT_MQTT_CLIENT_ID with a sequence number. Every time this function is used the sequence number gets incremented

Parameters:
pBufferToBeUpdatedWithClientTokenbuffer to be updated with the client token string
maxSizeOfJsonDocumentmaximum size of the pBufferToBeUpdatedWithClientToken that can be used
Returns:
An IoT Error Type defining if the buffer was null or the entire string was not filled up

Definition at line 278 of file aws_iot_shadow_json.c.

IoT_Error_t aws_iot_finalize_json_document ( char *  pJsonDocument,
size_t  maxSizeOfJsonDocument 
)

Finalize the JSON document with Shadow expected client Token.

This function will automatically increment the client token every time this function is called.

Note:
Ensure the size of the Buffer is enough to hold the entire JSON Document. If the finalized section is not invoked then the JSON doucment will not be valid
Parameters:
pJsonDocumentThe JSON Document filled in this char buffer
maxSizeOfJsonDocumentmaximum size of the pJsonDocument that can be used to fill the JSON document
Returns:
An IoT Error Type defining if the buffer was null or the entire string was not filled up

Definition at line 286 of file aws_iot_shadow_json.c.

IoT_Error_t aws_iot_shadow_add_desired ( char *  pJsonDocument,
size_t  maxSizeOfJsonDocument,
uint8_t  count,
  ... 
)

Add the desired section of the JSON document of jsonStruct_t.

This is a variadic function and please be careful with the usage. count is the number of jsonStruct_t types that you would like to add in the reported section This function will add "desired":{<all the="" values="" that="" needs="" to="" be="" added>="">}

Note:
Ensure the size of the Buffer is enough to hold the reported section + the init section. Always use the same JSON document buffer used in the iot_shadow_init_json_document function. This function will accommodate the size of previous null terminated string, so pass the max size of the buffer
Parameters:
pJsonDocumentThe JSON Document filled in this char buffer
maxSizeOfJsonDocumentmaximum size of the pJsonDocument that can be used to fill the JSON document
counttotal number of arguments(jsonStruct_t object) passed in the arguments
Returns:
An IoT Error Type defining if the buffer was null or the entire string was not filled up

Definition at line 128 of file aws_iot_shadow_json.c.

IoT_Error_t aws_iot_shadow_add_reported ( char *  pJsonDocument,
size_t  maxSizeOfJsonDocument,
uint8_t  count,
  ... 
)

Add the reported section of the JSON document of jsonStruct_t.

This is a variadic function and please be careful with the usage. count is the number of jsonStruct_t types that you would like to add in the reported section This function will add "reported":{<all the="" values="" that="" needs="" to="" be="" added>="">}

Note:
Ensure the size of the Buffer is enough to hold the reported section + the init section. Always use the same JSON document buffer used in the iot_shadow_init_json_document function. This function will accommodate the size of previous null terminated string, so pass teh max size of the buffer
Parameters:
pJsonDocumentThe JSON Document filled in this char buffer
maxSizeOfJsonDocumentmaximum size of the pJsonDocument that can be used to fill the JSON document
counttotal number of arguments(jsonStruct_t object) passed in the arguments
Returns:
An IoT Error Type defining if the buffer was null or the entire string was not filled up

Definition at line 197 of file aws_iot_shadow_json.c.

IoT_Error_t aws_iot_shadow_init_json_document ( char *  pJsonDocument,
size_t  maxSizeOfJsonDocument 
)

Initialize the JSON document with Shadow expected name/value.

This Function will fill the JSON Buffer with a null terminated string. Internally it uses snprintf This function should always be used First, followed by iot_shadow_add_reported and/or iot_shadow_add_desired. Always finish the call sequence with iot_finalize_json_document

Note:
Ensure the size of the Buffer is enough to hold the entire JSON Document.
Parameters:
pJsonDocumentThe JSON Document filled in this char buffer
maxSizeOfJsonDocumentmaximum size of the pJsonDocument that can be used to fill the JSON document
Returns:
An IoT Error Type defining if the buffer was null or the entire string was not filled up

Definition at line 112 of file aws_iot_shadow_json.c.