This file is the interface for all the Shadow related JSON functions.
More...
#include <stddef.h>
Go to the source code of this file.
|
|
typedef struct jsonStruct | jsonStruct_t |
| | This is a static JSON object that could be used in code.
|
| |
|
typedef void(* | jsonStructCallback_t) (const char *pJsonValueBuffer, uint32_t valueLength, jsonStruct_t *pJsonStruct_t) |
| | Every JSON name value can have a callback. The callback should follow this signature.
|
| |
|
| enum | JsonPrimitiveType {
SHADOW_JSON_INT32,
SHADOW_JSON_INT16,
SHADOW_JSON_INT8,
SHADOW_JSON_UINT32,
SHADOW_JSON_UINT16,
SHADOW_JSON_UINT8,
SHADOW_JSON_FLOAT,
SHADOW_JSON_DOUBLE,
SHADOW_JSON_BOOL,
SHADOW_JSON_STRING,
SHADOW_JSON_OBJECT
} |
| | All the JSON object types enum. More...
|
| |
JSON number types need to be split into proper integer / floating point data types and sizes on embedded platforms.
| IoT_Error_t aws_iot_fill_with_client_token |
( |
char * |
pBufferToBeUpdatedWithClientToken, |
|
|
size_t |
maxSizeOfJsonDocument |
|
) |
| |
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
-
| pBufferToBeUpdatedWithClientToken | buffer to be updated with the client token string |
| maxSizeOfJsonDocument | maximum 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
| IoT_Error_t aws_iot_finalize_json_document |
( |
char * |
pJsonDocument, |
|
|
size_t |
maxSizeOfJsonDocument |
|
) |
| |
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
-
| pJsonDocument | The JSON Document filled in this char buffer |
| maxSizeOfJsonDocument | maximum 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
| IoT_Error_t aws_iot_shadow_add_desired |
( |
char * |
pJsonDocument, |
|
|
size_t |
maxSizeOfJsonDocument, |
|
|
uint8_t |
count, |
|
|
|
... |
|
) |
| |
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
-
| pJsonDocument | The JSON Document filled in this char buffer |
| maxSizeOfJsonDocument | maximum size of the pJsonDocument that can be used to fill the JSON document |
| count | total 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
| IoT_Error_t aws_iot_shadow_add_reported |
( |
char * |
pJsonDocument, |
|
|
size_t |
maxSizeOfJsonDocument, |
|
|
uint8_t |
count, |
|
|
|
... |
|
) |
| |
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
-
| pJsonDocument | The JSON Document filled in this char buffer |
| maxSizeOfJsonDocument | maximum size of the pJsonDocument that can be used to fill the JSON document |
| count | total 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
| IoT_Error_t aws_iot_shadow_init_json_document |
( |
char * |
pJsonDocument, |
|
|
size_t |
maxSizeOfJsonDocument |
|
) |
| |
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
-
| pJsonDocument | The JSON Document filled in this char buffer |
| maxSizeOfJsonDocument | maximum 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