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]){ ...@@ -363,11 +363,11 @@ int kk_is_tcp_channel(char devCode[DEVICE_CODE_LEN]){
if (devCode == NULL || strlen(devCode) == 0){ if (devCode == NULL || strlen(devCode) == 0){
return -1; return -1;
} }
//printf("[%s] devCode=%s \n", __FUNCTION__,devCode); INFO_PRINT("[%s] devCode=%s \n", __FUNCTION__,devCode);
for(;i < MAX_LISTEN_NUM; i++){ for(;i < MAX_LISTEN_NUM; i++){
if(strcmp(devCode, g_tcp_ctrl[i].deviceCode) == 0){ 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; return g_tcp_ctrl[i].sock;
} }
} }
......
...@@ -162,9 +162,13 @@ static int kk_property_set_data_check(cJSON * payload,const char *deviceCode){ ...@@ -162,9 +162,13 @@ static int kk_property_set_data_check(cJSON * payload,const char *deviceCode){
if(property == NULL){ if(property == NULL){
continue; continue;
} }
propertyItem = cJSON_GetObjectItem(params, property->identifier); propertyItem = cJSON_GetObjectItem(params, property->identifier);
if(propertyItem != NULL){ 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){ if(property->data_value.type == KK_TSL_DATA_TYPE_STRUCT){
kk_tsl_data_value_complex_t *complex_struct = NULL; kk_tsl_data_value_complex_t *complex_struct = NULL;
kk_tsl_data_t *current_data = NULL; kk_tsl_data_t *current_data = NULL;
...@@ -457,7 +461,7 @@ void kk_platMsg_handle(void* data, char* chalMark){ ...@@ -457,7 +461,7 @@ void kk_platMsg_handle(void* data, char* chalMark){
HAL_GetDevice_Code(ccu_deviceCode); HAL_GetDevice_Code(ccu_deviceCode);
kk_mid_subdev_add(KK_DM_DEVICE_GATEWAY,proCode->valuestring,devCode->valuestring, mac->valuestring,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); 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); kk_subDev_update_sceneSupport(1,devCode->valuestring);
} }
}else{ }else{
......
...@@ -151,6 +151,7 @@ typedef struct { ...@@ -151,6 +151,7 @@ typedef struct {
typedef struct { typedef struct {
char *identifier; char *identifier;
char *accessMode;
kk_tsl_data_value_t data_value; kk_tsl_data_value_t data_value;
} kk_tsl_data_t; } kk_tsl_data_t;
......
...@@ -440,6 +440,17 @@ static int _kk_tsl_property_parse(_IN_ kk_tsl_data_t *property, _IN_ lite_cjson_ ...@@ -440,6 +440,17 @@ static int _kk_tsl_property_parse(_IN_ kk_tsl_data_t *property, _IN_ lite_cjson_
if (res != SUCCESS_RETURN) { if (res != SUCCESS_RETURN) {
return FAIL_RETURN; 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 //Parse DataType
memset(&lite_item, 0, sizeof(lite_cjson_t)); memset(&lite_item, 0, sizeof(lite_cjson_t));
......
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