/**
* @brief Create a data type registered to the server.
*
* @param [in] handle: The handle of device shadow.
* @param [in] pattr: The parameter which registered to the server.
* @retval SUCCESS_RETURN : Success.
* @retval other : See iotx_err_t.
* @see None.
*/
iotx_err_t IOT_Shadow_RegisterAttribute(void *handle, iotx_shadow_attr_pt pattr);
/**
* @brief Synchronize device shadow data from cloud.
* It is a synchronous interface.
* @param [in] handle: The handle of device shadow.
* @retval SUCCESS_RETURN : Success.
* @retval other : See iotx_err_t.
* @see None.
*/
iotx_err_t IOT_Shadow_Pull(void *handle);
/**
* @brief Start a process the structure of the data type format.
*
* @param [in] handle: The handle of device shadow.
* @param [out] pformat: The format struct of device shadow.
* @param [in] buf: The buf which store device shadow.
* @param [in] size: Maximum length of device shadow attribute.
* @retval SUCCESS_RETURN : Success.
* @retval other : See iotx_err_t.
* @see None.
*/
iotx_err_t IOT_Shadow_PushFormat_Init(
void *handle,
format_data_pt pformat,
char *buf,
uint16_t size);
/**
* @brief Format the attribute name and value for update.
*
* @param [in] handle: The handle of device shadow.
* @param [in] pformat: The format struct of device shadow.
* @param [in] pattr: To have created the data type of the format in the add member attributes.
* @retval SUCCESS_RETURN : Success.
* @retval other : See iotx_err_t.
* @see None.
*/
iotx_err_t IOT_Shadow_PushFormat_Add(
void *handle,
format_data_pt pformat,
iotx_shadow_attr_pt pattr);
/**
* @brief Complete a process the structure of the data type format.
*
* @param [in] handle: The handle of device shadow.
* @param [in] pformat: The format struct of device shadow.
* @retval SUCCESS_RETURN : Success.
* @retval other : See iotx_err_t.
* @see None.
*/
iotx_err_t IOT_Shadow_PushFormat_Finalize(void *handle, format_data_pt pformat);