Link Kit C-SDK  4.1.0
函数
aiot_shadow_api.c 文件参考

shadow模块的API接口实现, 提供更新, 删除, 获取设备影子的能力 更多...

#include "shadow_private.h"
#include "core_string.h"
#include "core_log.h"
#include "core_global.h"
#include "core_mqtt.h"
aiot_shadow_api.c 的引用(Include)关系图:

函数

static int32_t _shadow_get_pk_dn (aiot_sysdep_portfile_t *sysdep, char *topic, uint16_t topic_len, char **product_key, char **device_name)
 
int32_t _shadow_int642str (int64_t input, char *output, uint8_t *output_len)
 
static void _shadow_recv_message_handler (void *handle, const aiot_mqtt_recv_t *msg, void *userdata)
 
static void _shadow_core_mqtt_process_handler (void *context, aiot_mqtt_event_t *event, core_mqtt_event_t *core_event)
 
static int32_t _shadow_core_mqtt_operate_process_handler (shadow_handle_t *shadow_handle, core_mqtt_option_t option)
 
void * aiot_shadow_init (void)
 创建shadow会话实例, 并以默认值配置会话参数 更多...
 
int32_t aiot_shadow_setopt (void *handle, aiot_shadow_option_t option, void *data)
 配置shadow会话 更多...
 
int32_t aiot_shadow_send (void *handle, aiot_shadow_msg_t *msg)
 向服务器发送shadow消息请求 更多...
 
int32_t aiot_shadow_deinit (void **p_handle)
 结束shadow会话, 销毁实例并回收资源 更多...
 

详细描述

shadow模块的API接口实现, 提供更新, 删除, 获取设备影子的能力

函数说明

static int32_t _shadow_get_pk_dn ( aiot_sysdep_portfile_t sysdep,
char *  topic,
uint16_t  topic_len,
char **  product_key,
char **  device_name 
)
static
int32_t _shadow_int642str ( int64_t  input,
char *  output,
uint8_t *  output_len 
)
static void _shadow_recv_message_handler ( void *  handle,
const aiot_mqtt_recv_t msg,
void *  userdata 
)
static

函数调用图:

static void _shadow_core_mqtt_process_handler ( void *  context,
aiot_mqtt_event_t event,
core_mqtt_event_t *  core_event 
)
static
static int32_t _shadow_core_mqtt_operate_process_handler ( shadow_handle_t *  shadow_handle,
core_mqtt_option_t  option 
)
static

函数调用图:

void* aiot_shadow_init ( void  )

创建shadow会话实例, 并以默认值配置会话参数

返回
void *
返回值
非NULLshadow实例的句柄
NULL初始化失败, 一般是内存分配失败导致

函数调用图:

int32_t aiot_shadow_setopt ( void *  handle,
aiot_shadow_option_t  option,
void *  data 
)

配置shadow会话

参数
[in]handleshadow会话句柄
[in]option配置选项, 更多信息请参考aiot_shadow_option_t
[in]data配置选项数据, 更多信息请参考aiot_shadow_option_t
返回
int32_t
返回值
STATE_SUCCESS参数配置成功
STATE_USER_INPUT_NULL_POINTER入参handle或data为NULL
STATE_USER_INPUT_OUT_RANGE入参optioin的枚举值>=AIOT_SHADOWOPT_MAX
others参考aiot_state_api.h

函数调用图:

int32_t aiot_shadow_send ( void *  handle,
aiot_shadow_msg_t msg 
)

向服务器发送shadow消息请求

参数
[in]handleshadow会话句柄
[in]msg消息结构体, 可指定发送消息的设备productKey, deviceName; 消息类型, 消息数据等, 更多信息请参考aiot_shadow_msg_t
返回
int32_t
返回值
STATE_SUCCESS请求发送成功
STATE_USER_INPUT_NULL_POINTER入参handlemsg为NULL
STATE_USER_INPUT_OUT_RANGE入参msg的结构体成员type >= AIOT_SHADOWMSG_MAX
STATE_SYS_DEPEND_MALLOC_FAILED内存分配失败
STATE_SHADOW_MQTT_HANDLE_IS_NULL用户未调用aiot_shadow_setopt 配置MQTT句柄
others参考aiot_state_api.hSTATE_SHADOW_BASE 中对应的错误码说明

函数调用图:

int32_t aiot_shadow_deinit ( void **  handle)

结束shadow会话, 销毁实例并回收资源

参数
[in]handle指向shadow会话句柄的指针
返回
int32_t
返回值
STATE_SUCCESS执行成功
<STATE_SUCCESS执行失败

函数调用图: