Commit aae148a5 authored by chen.weican's avatar chen.weican

【修改内容】1,增加accessMode的判断

【提交人】陈伟灿
parent 164253f0
......@@ -363,11 +363,11 @@ int kk_is_tcp_channel(char devCode[DEVICE_CODE_LEN]){
if (devCode == NULL || strlen(devCode) == 0){
return -1;
}
//printf("[%s] devCode=%s \n", __FUNCTION__,devCode);
INFO_PRINT("[%s] devCode=%s \n", __FUNCTION__,devCode);
for(;i < MAX_LISTEN_NUM; i++){
if(strcmp(devCode, g_tcp_ctrl[i].deviceCode) == 0){
//printf("[%s] idx=%d ip=%s sock=%d\n", __FUNCTION__,i, g_tcp_ctrl[i].ip, g_tcp_ctrl[i].sock);
INFO_PRINT("[%s] idx=%d ip=%s sock=%d\n", __FUNCTION__,i, g_tcp_ctrl[i].ip, g_tcp_ctrl[i].sock);
return g_tcp_ctrl[i].sock;
}
}
......
......@@ -165,6 +165,10 @@ static int kk_property_set_data_check(cJSON * payload,const char *deviceCode){
propertyItem = cJSON_GetObjectItem(params, property->identifier);
if(propertyItem != NULL){
if(strcmp(property->accessMode,"rw") != 0){
ERROR_PRINT("ERROR !!!property->accessMode:%s\n",property->accessMode);
return INVALID_PARAMETER;
}
if(property->data_value.type == KK_TSL_DATA_TYPE_STRUCT){
kk_tsl_data_value_complex_t *complex_struct = NULL;
kk_tsl_data_t *current_data = NULL;
......@@ -457,7 +461,7 @@ void kk_platMsg_handle(void* data, char* chalMark){
HAL_GetDevice_Code(ccu_deviceCode);
kk_mid_subdev_add(KK_DM_DEVICE_GATEWAY,proCode->valuestring,devCode->valuestring, mac->valuestring,ccu_deviceCode);
cJSON * sceneSupportStr = cJSON_GetObjectItem(jsonPay, MSG_SCENE_SUPPORT);
if(sceneSupportStr != NULL&&sceneSupportStr->valueint == 1){
if(sceneSupportStr != NULL&&!strcmp(sceneSupportStr->valuestring,"1")){
kk_subDev_update_sceneSupport(1,devCode->valuestring);
}
}else{
......
......@@ -151,6 +151,7 @@ typedef struct {
typedef struct {
char *identifier;
char *accessMode;
kk_tsl_data_value_t data_value;
} kk_tsl_data_t;
......
......@@ -441,6 +441,17 @@ static int _kk_tsl_property_parse(_IN_ kk_tsl_data_t *property, _IN_ lite_cjson_
return FAIL_RETURN;
}
memset(&lite_item, 0, sizeof(lite_cjson_t));
res = lite_cjson_object_item(root, KK_TSL_KEY_ACCESS_MODE, strlen(KK_TSL_KEY_ACCESS_MODE), &lite_item);
if (res != SUCCESS_RETURN || !lite_cjson_is_string(&lite_item)) {
return JSON_PARSE_FAILED;
}
res = kk_utils_copy(lite_item.value, lite_item.value_length, (void **)(&property->accessMode),
lite_item.value_length + 1);
if (res != SUCCESS_RETURN) {
return FAIL_RETURN;
}
//Parse DataType
memset(&lite_item, 0, sizeof(lite_cjson_t));
res = lite_cjson_object_item(root, KK_TSL_KEY_DATATYPE, strlen(KK_TSL_KEY_DATATYPE), &lite_item);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment