int aciga_action_in_set_keys(uint8_t msgid, uint32_t runid, uint8_t aiid, aciga_service_data_t *svc,uint8_t *out,int *out_len ) { ACIGA_LOGD("[ACTION_IN] %s",__func__); uint16_t key_id ; uint8_t week ; uint32_t date_start_time ; uint32_t date_end_time; uint16_t start_time; uint16_t end_time; props_data_t data[6]; data[0].piid = E_LOCK_PIID_KEY_ID; data[1].piid = E_LOCK_PIID_WEEKEND; data[2].piid = E_LOCK_PIID_START_TIME; data[3].piid = E_LOCK_PIID_END_TIME; data[4].piid = E_LOCK_PIID_START_DATA; data[5].piid = E_LOCK_PIID_END_DATE; if(aciga_action_in_scv_get_piid_val(svc,(props_data_t *)&data,ARRAY_SIZE(data))==0){ ACIGA_LOGE("get piid error"); return -1; }
时间: 2024-04-06 17:29:28 浏览: 60
这段代码定义了一个名为 aciga_action_in_set_keys 的函数,它有六个参数,分别为 msgid、runid、aiid、svc、out 和 out_len。函数返回一个 int 类型的值。
函数的主要作用是从 svc 中获取一组属性值,并根据这些属性值执行一些动作。具体来说,函数首先使用 __func__ 宏打印日志,然后声明了一些变量,包括 key_id、week、date_start_time、date_end_time、start_time、end_time 和 data 数组。
接下来,函数使用数组 data 来存储属性值,每个属性值都有一个 piid 标识符,分别为 E_LOCK_PIID_KEY_ID、E_LOCK_PIID_WEEKEND、E_LOCK_PIID_START_TIME、E_LOCK_PIID_END_TIME、E_LOCK_PIID_START_DATA 和 E_LOCK_PIID_END_DATE。
函数调用了 aciga_action_in_scv_get_piid_val 函数来从 svc 中获取属性值,并将这些值存储在 data 数组中。如果获取属性值失败,则函数返回 -1。
总之,这段代码实现了从 svc 中获取属性值并执行相应动作的功能。
阅读全文