Commit 5ff08f02 authored by 陈伟灿's avatar 陈伟灿

Merge branch 'cwc' into 'master'

【修改内容】增加内场景的设置

See merge request chenweican/k-sdk!62
parents 6d57df34 96769efb
......@@ -93,7 +93,8 @@ typedef enum {
#define MSG_KEYMODIFY_NOTIFICATION "KeyModifyNotification"
/************************SCENE RELATION*************************/
#define MSG_SCENE_ARGS "args"
#define MSG_SCENE_SUPPORT "sceneSupport"
#define MSG_SCENE_MSGID "msgId"
#define MSG_SCENE_NAME "name"
#define MSG_SCENE_SCENCTYPE "sceneType"
#define MSG_SCENE_ENABLE "enable"
......@@ -123,9 +124,6 @@ typedef enum {
typedef void ipc_cb(void* data, int len, char* chalMark);
int kk_ipc_init(ipc_type type, ipc_cb cb, char* chalMark, char* ip);
int kk_ipc_deinit(ipc_type type);
......
......@@ -133,16 +133,14 @@ uint64_t HAL_GetTime(void)
}
uint64_t HAL_GetTimeMs(char *outStr)
time_t HAL_GetTime_s(char *outStr)
{
uint64_t time_ms;
struct timeval tv;
time_t t;
t = time(NULL);
gettimeofday(&tv, NULL);
time_ms = ((uint64_t)tv.tv_sec * (uint64_t)1000) + (tv.tv_usec / 1000 );
sprintf(outStr,"%lld",time_ms);
sprintf(outStr,"%d",t);
return time_ms;
return t;
}
......
......@@ -128,7 +128,7 @@ int kk_room_add(const char *name,const char *roomId)
values ('%s','%s');";
_kk_area_lock();
ctx->roomNum++;
HAL_GetTimeMs(roomId);
HAL_GetTime_s(roomId);
sqlCmd = sqlite3_mprintf(insertCmd,name,roomId);
res = sqlite3_exec(ctx->pDb, sqlCmd, NULL, NULL, &zErrMsg);
......
This diff is collapsed.
......@@ -17,6 +17,7 @@
#define KK_DM_GW_DEVICE_PRODUCT_CODE "2"
#define KK_DM_DEVICE_CCU_DEVICEID (0x00)
#define MSG_MAX_LEN (64)
typedef struct {
int devid;
......@@ -40,7 +41,7 @@ typedef struct {
} dm_mgr_ctx;
typedef struct {
int msgid;
char msgid[MSG_MAX_LEN];
int devid;
//const char *service_prefix;
//const char *service_name;
......
This diff is collapsed.
......@@ -73,6 +73,12 @@ const char DM_MSG_INFO[] DM_READ_ONLY;
#define KK_THING_SERVICE_DELETESCENC "/thing/service/deleteScene"
#define KK_THING_SERVICE_UPDATESCENC "/thing/service/updateScene"
#define KK_THING_SERVICE_PROPERTY_GET_REPLY "/thing/service/property/get_reply"
#define KK_THING_SERVICE_EXECUTESCENE "/thing/service/executeScene"
#define KK_THING_METHOD_DELETESCENC "thing.service.deleteScene"
#define KK_THING_METHOD_UPDATESCENC "thing.service.updateScene"
#define KK_THING_METHOD_EXECUTESCENE "thing.service.executeScene"
#define KK_THING_METHOD_ADDSCENC "thing.service.addScene"
#define KK_THING_EVENT_MESSAGE "/thing/event/"
#define KK_THING_EVENT_POST "/post"
......
This diff is collapsed.
......@@ -163,7 +163,7 @@ int kk_property_db_insert(const char *deviceCode,const char *identifier,kk_tsl_d
if(_kk_check_property_exist(deviceCode,identifier) == 1)
{
WARNING_PRINT("[%s][%d] DATA ALREADY EXIST!!!\n",__FUNCTION__,__LINE__);
//WARNING_PRINT("[%s][%d] DATA ALREADY EXIST!!!\n",__FUNCTION__,__LINE__);
return SUCCESS_RETURN;
}
_kk_property_db_lock();
......
......@@ -3,7 +3,7 @@
#include "kk_tsl_api.h"
#include "kk_sub_db.h"
#include "kk_dm_mng.h"
#include "kk_scene_handle.h"
#include "sqlite3.h"
#include "kk_log.h"
......@@ -25,7 +25,8 @@ typedef enum{
DB_AUTH,
DB_DEVTYPE,
DB_HEARTBEAT,
DB_PRODUCTTYPE
DB_PRODUCTTYPE,
DB_SCENESUPPORT
};
static kk_subDb_ctx_t s_kk_subDb_ctx = {NULL,0,NULL};
......@@ -71,7 +72,8 @@ static int kk_subDev_db_Init(void)
isAuth INTEGER, \
devType INTEGER, \
heartbeat INTEGER,\
productType varchar(33))";
productType varchar(33),\
sceneSupport INTEGER)";
char *pcErr;
......@@ -187,8 +189,8 @@ static int _kk_check_subDev_exist(const char* deviceCode)
int kk_subDev_insert_db(int devType,char productCode[PRODUCT_CODE_MAXLEN], \
char deviceCode[DEVICE_CODE_MAXLEN],char fatherDeviceCode[DEVICE_CODE_MAXLEN],char mac[DEVICE_MAC_MAXLEN],char version[DEVICE_VERSION_MAXLEN],int heartbeat)
{
const char *insertCmd = "insert into SubDeviceInfo (idx,isOffline,productCode,deviceCode,mac,fatherDeviceCode,version,isAuth,devType,heartbeat) \
values ('%d','%d', '%s','%s','%s','%s','%s','%d','%d','%d');";
const char *insertCmd = "insert into SubDeviceInfo (idx,isOffline,productCode,deviceCode,mac,fatherDeviceCode,version,isAuth,devType,heartbeat,sceneSupport) \
values ('%d','%d', '%s','%s','%s','%s','%s','%d','%d','%d','%d');";
char *sqlCmd = NULL;
int rc = 0;
char *zErrMsg = 0;
......@@ -201,7 +203,7 @@ int kk_subDev_insert_db(int devType,char productCode[PRODUCT_CODE_MAXLEN], \
return SUCCESS_RETURN;
}
_kk_subDb_lock();
sqlCmd = sqlite3_mprintf(insertCmd,ctx->subDevNum,0,productCode,deviceCode,mac,fatherDeviceCode,version,0,devType,heartbeat);
sqlCmd = sqlite3_mprintf(insertCmd,ctx->subDevNum,0,productCode,deviceCode,mac,fatherDeviceCode,version,0,devType,heartbeat,0);
rc = sqlite3_exec(ctx->pDb, sqlCmd, NULL, NULL, &zErrMsg);
if( rc != SQLITE_OK ){
......@@ -307,6 +309,29 @@ int kk_subDev_update_auth(int isAuth,const char *deviceCode)
return SUCCESS_RETURN;
}
int kk_subDev_update_sceneSupport(int sceneSupport,const char *deviceCode)
{
char *sqlCmd = NULL;
int len =0;
int rc = 0;
char *zErrMsg = 0;
kk_subDb_ctx_t *ctx = _kk_subDb_get_ctx();
_kk_subDb_lock();
sqlCmd = sqlite3_mprintf("UPDATE SubDeviceInfo SET sceneSupport=%d WHERE deviceCode= '%s'",sceneSupport,deviceCode);
INFO_PRINT("kk_subDev_update_sceneSupport sqlCmd:%s\n",sqlCmd);
rc = sqlite3_exec(ctx->pDb, sqlCmd, NULL, NULL, &zErrMsg);
if( rc != SQLITE_OK ){
ERROR_PRINT("SQL error: %s\n", zErrMsg);
sqlite3_free(zErrMsg);
}else{
INFO_PRINT("Table updata data successfully\n");
}
sqlite3_free(sqlCmd);
_kk_subDb_unlock();
return SUCCESS_RETURN;
}
int kk_subDev_send_property_get_from_db(void)
{
const char *searchCmd = "select * from SubDeviceInfo;";
......@@ -376,6 +401,84 @@ int kk_subDev_send_property_get(const char *fatherDeviceCode)
}
int kk_subDev_check_scene_support(const char *deviceCode)
{
int res = 0;
sqlite3_stmt *stmt;
char *sqlCmd = NULL;
char *pDeviceCode = NULL;
kk_subDb_ctx_t *ctx = _kk_subDb_get_ctx();
const char *searchCmd = "select * from SubDeviceInfo WHERE devType= '%d' and sceneSupport = '%d'";
if(deviceCode == NULL){
ERROR_PRINT("ERROR [%s][%d]\n",__FUNCTION__,__LINE__);
return INVALID_PARAMETER;
}
sqlCmd = sqlite3_mprintf(searchCmd,KK_DM_DEVICE_GATEWAY,1);
sqlite3_prepare_v2(ctx->pDb, sqlCmd, strlen(sqlCmd), &stmt, NULL);
//INFO_PRINT("total_column = %d\n", sqlite3_column_count(stmt));
while(sqlite3_step(stmt) == SQLITE_ROW){
pDeviceCode = sqlite3_column_text(stmt, DB_DEVICECODE);
if (!strcmp(deviceCode,pDeviceCode)) {
return 1;
}
}
sqlite3_finalize(stmt);
sqlite3_free(sqlCmd);
return 0;
}
int kk_subDev_set_action_by_productType(const char *productType,const char *sceneId,const char *propertyName,const char *propertyValue,const char *type)
{
int res = 0;
sqlite3_stmt *stmt;
char *sqlCmd = NULL;
char *pDeviceCode = NULL;
dm_mgr_dev_node_t *node = NULL;
kk_subDb_ctx_t *ctx = _kk_subDb_get_ctx();
const char *searchCmd = "select * from SubDeviceInfo WHERE productType= '%s'";
printf("[%s][%d]\n",__FUNCTION__,__LINE__);
if(productType == NULL){
ERROR_PRINT("ERROR [%s][%d]\n",__FUNCTION__,__LINE__);
return INVALID_PARAMETER;
}
printf("[%s][%d]\n",__FUNCTION__,__LINE__);
sqlCmd = sqlite3_mprintf(searchCmd,productType);
sqlite3_prepare_v2(ctx->pDb, sqlCmd, strlen(sqlCmd), &stmt, NULL);
//INFO_PRINT("total_column = %d\n", sqlite3_column_count(stmt));
while(sqlite3_step(stmt) == SQLITE_ROW){
pDeviceCode = sqlite3_column_text(stmt, DB_DEVICECODE);
res = dm_mgr_get_device_by_devicecode(pDeviceCode,&node);
if (res != SUCCESS_RETURN) {
continue;
}
printf("[%s][%d]\n",__FUNCTION__,__LINE__);
if(kk_subDev_check_scene_support(node->fatherDeviceCode) == 1){
kk_scene_action_detail_t info = {0};
memcpy(info.deviceCode,node->deviceCode,strlen(node->deviceCode));
memcpy(info.propertyName,propertyName,strlen(propertyName));
memcpy(info.propertyValue,propertyValue,strlen(propertyValue));
info.epNum = 1;
info.delay = 0;
kk_scene_action_add(node->fatherDeviceCode,sceneId,info);
res = kk_scene_insert_scene_action(type,node->deviceCode,info.epNum,
propertyName,propertyValue,info.delay,sceneId,node->fatherDeviceCode);
if(res != SUCCESS_RETURN){
INFO_PRINT("kk_subDev_set_action_by_productType fail!!!\n");
//return res;
continue;
}
}
}
sqlite3_finalize(stmt);
sqlite3_free(sqlCmd);
return SUCCESS_RETURN;
}
......
......@@ -49,6 +49,7 @@ static int _kk_filter_to_plat(const char* msgtype)
for(i =0; i < num; i++){
if(strstr(msgtype,g_filerToPlatTable[i]))
{
INFO_PRINT("this msg do not send to platform!!!\n");
return 1;
}
}
......@@ -153,12 +154,13 @@ static int kk_property_set_data_check(cJSON * payload,const char *deviceCode){
}
}
}else if(property->data_value.type == KK_TSL_DATA_TYPE_INT){
value = propertyItem->valueint;
if(value < property->data_value.mix ||value > property->data_value.max ){
ERROR_PRINT("ERROR ------------>value:%d,mix:%d,max:%d\n",value,property->data_value.mix,property->data_value.max);
return INVALID_PARAMETER;
}
}
else if(property->data_value.type == KK_TSL_DATA_TYPE_INT){
value = propertyItem->valueint;
if(value < property->data_value.mix ||value > property->data_value.max ){
ERROR_PRINT("ERROR ------------>value:%d,mix:%d,max:%d\n",value,property->data_value.mix,property->data_value.max);
return INVALID_PARAMETER;
}
}
else if(property->data_value.type == KK_TSL_DATA_TYPE_TEXT){
if(strlen(propertyItem->valuestring) > property->data_value.length ){
......@@ -313,23 +315,19 @@ void kk_platMsg_handle(void* data, char* chalMark){
msgType = cJSON_GetObjectItem(info, MSG_TYPE_STR);
info_dcode = cJSON_GetObjectItem(info, MSG_DEVICE_CODE_STR);
if (msgType == NULL || info_dcode == NULL){
ERROR_PRINT("msgType info_dcode or jsonPay params are error\n");
goto error;
}
if (chalMark != NULL){
dm_mgr_update_timestamp_by_devicecode(chalMark,HAL_Uptimes());
}
dm_mgr_update_timestamp_by_devicecode(info_dcode->valuestring,HAL_Uptimes());
if (strcmp(msgType->valuestring, KK_THING_TOPO_ADD_MSG)==0){
jsonPay = cJSON_GetObjectItem(payload, MSG_PARAMS_STR);
if(jsonPay == NULL) goto error;
proCode = cJSON_GetObjectItem(jsonPay, MSG_PRODUCT_CODE_STR);
devCode = cJSON_GetObjectItem(jsonPay, MSG_DEVICE_CODE_STR);
mac = cJSON_GetObjectItem(jsonPay, "mac");
......@@ -343,6 +341,10 @@ void kk_platMsg_handle(void* data, char* chalMark){
char ccu_deviceCode[DEVICE_CODE_MAXLEN] = {0};
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){
kk_subDev_update_sceneSupport(1,devCode->valuestring);
}
}else{
kk_mid_subdev_add(KK_DM_DEVICE_SUBDEV,proCode->valuestring,devCode->valuestring, mac->valuestring,info_dcode->valuestring);
}
......@@ -352,7 +354,9 @@ void kk_platMsg_handle(void* data, char* chalMark){
else if (strstr(msgType->valuestring, KK_THING_TOPO_BATCH_ADD_MSG) != NULL){
kk_ipc_send(IPC_MID2APP,data,strlen(data));
jsonPay = cJSON_GetObjectItem(payload, MSG_PARAMS_STR);
if(jsonPay == NULL) goto error;
cJSON *devices = cJSON_GetObjectItem(jsonPay, MSG_TOPO_CHANGE_DEVICES_STR);
if(devices == NULL) goto error;
cJSON * item = devices->child;
while(item != NULL){
char *deviceCode = cJSON_GetObjectItem(item,MSG_DEVICE_CODE_STR)->valuestring;
......@@ -366,6 +370,7 @@ void kk_platMsg_handle(void* data, char* chalMark){
}else if (strstr(msgType->valuestring, KK_THING_PROPERTY_POST) != NULL){
INFO_PRINT("save property and send to cloud \n");
jsonPay = cJSON_GetObjectItem(payload, MSG_PARAMS_STR);
if(jsonPay == NULL) goto error;
char* outstr = cJSON_Print(payload);
dm_mgr_dev_node_t *search_node = NULL;
dm_mgr_get_device_by_devicecode(info_dcode->valuestring,&search_node);
......@@ -380,6 +385,7 @@ void kk_platMsg_handle(void* data, char* chalMark){
}else if(strstr(msgType->valuestring, KK_THING_TOPO_DELETE_MSG) != NULL){
INFO_PRINT("kk_platMsg_handle data: handle delete\n");
jsonPay = cJSON_GetObjectItem(payload, MSG_PARAMS_STR);
if(jsonPay == NULL) goto error;
devCode = cJSON_GetObjectItem(jsonPay, MSG_DEVICE_CODE_STR);
kk_ipc_send(IPC_MID2APP,data,strlen(data)+1);
dm_mgr_subdev_delete(devCode->valuestring);
......@@ -392,6 +398,7 @@ void kk_platMsg_handle(void* data, char* chalMark){
char tmpStr[128] = {0};
cJSON * itemStr = NULL;
jsonPay = cJSON_GetObjectItem(payload, MSG_PARAMS_STR);
if(jsonPay == NULL) goto error;
res = dm_mgr_get_device_by_devicecode(info_dcode->valuestring,&node);
if (res < SUCCESS_RETURN) {
goto error;
......@@ -408,7 +415,6 @@ void kk_platMsg_handle(void* data, char* chalMark){
eventItem->output_data_number > 0){
int index = 0;
kk_tsl_data_t *itemData = NULL;
for(index = 0; index < eventItem->output_data_number;index++){
itemStr = cJSON_GetObjectItem(jsonPay, eventItem->identifier);
itemData = eventItem->output_datas + index;
......@@ -416,7 +422,20 @@ void kk_platMsg_handle(void* data, char* chalMark){
memset(tmpStr,0x0,sizeof(tmpStr));
sprintf(tmpStr,"%s.%s",eventItem->identifier,itemData->identifier);
kk_tsl_set_value(kk_tsl_set_event_output_value,node->dev_shadow,tmpStr,&itemStr->valueint,NULL);
if(itemData->data_value.type == KK_TSL_DATA_TYPE_INT||
itemData->data_value.type == KK_TSL_DATA_TYPE_ENUM||
itemData->data_value.type == KK_TSL_DATA_TYPE_BOOL){
kk_tsl_set_value(kk_tsl_set_event_output_value,node->dev_shadow,tmpStr,&itemStr->valueint,NULL);
}
else if(itemData->data_value.type == KK_TSL_DATA_TYPE_FLOAT ||
itemData->data_value.type == KK_TSL_DATA_TYPE_DOUBLE){
kk_tsl_set_value(kk_tsl_set_event_output_value,node->dev_shadow,tmpStr,&itemStr->valuedouble,NULL);
}
else if(itemData->data_value.type == KK_TSL_DATA_TYPE_TEXT ||
itemData->data_value.type == KK_TSL_DATA_TYPE_DATE){
kk_tsl_set_value(kk_tsl_set_event_output_value,node->dev_shadow,tmpStr,NULL,itemStr->valuestring);
}
INFO_PRINT("kk_platMsg_handle data: event post\n");
dm_msg_thing_event_post(info_dcode->valuestring,eventItem->identifier);
kk_scene_iftt_check(info_dcode->valuestring,jsonPay);
......@@ -426,8 +445,20 @@ void kk_platMsg_handle(void* data, char* chalMark){
if(itemDataIdentifier != NULL){
memset(tmpStr,0x0,sizeof(tmpStr));
sprintf(tmpStr,"%s.%s",eventItem->identifier,itemData->identifier);
if(itemData->data_value.type == KK_TSL_DATA_TYPE_INT||
itemData->data_value.type == KK_TSL_DATA_TYPE_ENUM||
itemData->data_value.type == KK_TSL_DATA_TYPE_BOOL){
kk_tsl_set_value(kk_tsl_set_event_output_value,node->dev_shadow,tmpStr,&itemDataIdentifier->valueint,NULL);
}
else if(itemData->data_value.type == KK_TSL_DATA_TYPE_FLOAT ||
itemData->data_value.type == KK_TSL_DATA_TYPE_DOUBLE){
kk_tsl_set_value(kk_tsl_set_event_output_value,node->dev_shadow,tmpStr,&itemDataIdentifier->valuedouble,NULL);
kk_tsl_set_value(kk_tsl_set_event_output_value,node->dev_shadow,tmpStr,&itemDataIdentifier->valueint,NULL);
}
else if(itemData->data_value.type == KK_TSL_DATA_TYPE_TEXT ||
itemData->data_value.type == KK_TSL_DATA_TYPE_DATE){
kk_tsl_set_value(kk_tsl_set_event_output_value,node->dev_shadow,tmpStr,NULL,itemDataIdentifier->valuestring);
}
INFO_PRINT("kk_platMsg_handle data: event post\n");
dm_msg_thing_event_post(info_dcode->valuestring,eventItem->identifier);
kk_scene_iftt_check(info_dcode->valuestring,jsonPay);
......@@ -452,6 +483,7 @@ void kk_platMsg_handle(void* data, char* chalMark){
else if(strstr(msgType->valuestring, KK_THING_TOPO_BATCH_DELETE_MSG) != NULL){
kk_ipc_send(IPC_MID2APP,data,strlen(data));
jsonPay = cJSON_GetObjectItem(payload, MSG_PARAMS_STR);
if(jsonPay == NULL) goto error;
cJSON *devices = cJSON_GetObjectItem(jsonPay, MSG_TOPO_CHANGE_DEVICES_STR);
cJSON * item = devices->child;
while(item != NULL){
......@@ -468,7 +500,7 @@ void kk_platMsg_handle(void* data, char* chalMark){
res = dm_mgr_get_device_by_devicecode(info_dcode->valuestring,&node);
if (res != SUCCESS_RETURN) {
ERROR_PRINT("ERROR [%s][%d] res:%d\n",__FUNCTION__,__LINE__,res);
return;
goto error;
}
/*开机先获取网关属性,网关返回relay,置网关状态在线*/
if(node->dev_type == KK_DM_DEVICE_GATEWAY){
......@@ -514,13 +546,6 @@ void kk_platMsg_dispatch(void)
}
time_t getSysTime(){
time_t t;
t = time(NULL);
return t;
}
typedef struct {
int auto_add_subdev;
int master_devid;
......
This diff is collapsed.
......@@ -3,6 +3,25 @@
#include "kk_tsl_common.h"
typedef struct kk_scene_action_detail{
char deviceCode[DEVICE_CODE_MAXLEN];
char propertyName[DEVICE_PROPERTY_NAME_MAX];
char propertyValue[DEVICE_PROPERTY_VALUE_MAX];
int epNum;
int delay;
} kk_scene_action_detail_t;
typedef struct kk_scene_action_info_ex{
kk_scene_action_detail_t info;
struct kk_scene_action_info_ex * next;
} kk_scene_action_info_ex_t;
typedef struct kk_scene_action{
char gwdeviceCode[DEVICE_CODE_MAXLEN];
char sceneId[16];
kk_scene_action_info_ex_t *actionInfo;
struct kk_scene_action * next;
} kk_scene_action_t;
typedef struct {
......
......@@ -3,7 +3,7 @@
*/
#include "infra_config.h"
#ifdef INFRA_SHA256
#define INFRA_SHA256_SMALLER
......@@ -317,5 +317,5 @@ void utils_hmac_sha256(const uint8_t *msg, uint32_t msg_len, const uint8_t *key,
utils_sha256_finish(&context, output); /* finish up 2nd pass */
}
#endif
#include "infra_config.h"
#ifdef INFRA_TIMER
/*
*
*/
......@@ -91,5 +90,5 @@ uint32_t utils_time_get_ms(void)
{
return HAL_UptimeMs();
}
#endif
......@@ -25,6 +25,9 @@
#define DM_UTILS_UINT16_STRLEN (5)
#define DM_UTILS_UINT32_STRLEN (10)
#define DM_UTILS_UINT64_STRLEN (20)
#define DEVICE_PROPERTY_NAME_MAX (64+1)
#define DEVICE_PROPERTY_VALUE_MAX (64+1)
#define KK_TSL_KEY_SCHEMA "schema"
#define KK_TSL_KEY_LINK "link"
......
......@@ -793,7 +793,7 @@ int dm_tls_set_event_output_value(_IN_ kk_tsl_t *shadow, _IN_ char *key, _IN_ in
return FAIL_RETURN;
}
printf("Key: %.*s", key_len, key);
//printf("Key: %.*s", key_len, key);
res = _kk_tsl_event_search(shadow, key, offset, &event);
if (res != SUCCESS_RETURN) {
......
......@@ -3,6 +3,7 @@
#include <string.h>
#include "lite-cjson.h"
#include "kk_tsl_common.h"
#include "kk_log.h"
typedef int (*kk_tsl_data_parse)(_IN_ kk_tsl_data_value_t *data_value, _IN_ lite_cjson_t *root);
......@@ -470,7 +471,7 @@ static int _kk_tsl_properties_parse(_IN_ kk_tsl_t *shadow, _IN_ lite_cjson_t *ro
return SUCCESS_RETURN;
}
printf("Number: %d", lite_properties.size);
INFO_PRINT("property number: %d\n", lite_properties.size);
if (lite_properties.size == 0) {
return SUCCESS_RETURN;
}
......@@ -490,7 +491,7 @@ static int _kk_tsl_properties_parse(_IN_ kk_tsl_t *shadow, _IN_ lite_cjson_t *ro
return FAIL_RETURN;
}
printf("Index: %d\n", index);
//printf("Index: %d\n", index);
_kk_tsl_property_parse(shadow->properties + index, &lite_property);
}
......@@ -537,7 +538,7 @@ static int _kk_tsl_event_outputdatas_parse(_IN_ kk_tsl_t *shadow, _IN_ kk_tsl_ev
lite_cjson_t lite_item;
kk_tsl_data_t *output_data = NULL;
printf("event outputdata Number: %d\n", event->output_data_number);
//printf("event outputdata Number: %d\n", event->output_data_number);
if (event->output_data_number == 0) {
return SUCCESS_RETURN;
}
......@@ -558,7 +559,7 @@ static int _kk_tsl_event_outputdatas_parse(_IN_ kk_tsl_t *shadow, _IN_ kk_tsl_ev
return FAIL_RETURN;
}
printf("Index: %d\n", index);
//printf("Index: %d\n", index);
_kk_tsl_event_outputdata_parse(shadow, output_data, &lite_item);
}
......@@ -595,6 +596,7 @@ static int _dm_shw_event_parse(_IN_ kk_tsl_t *shadow, _IN_ kk_tsl_event_t *event
if (res != SUCCESS_RETURN || !lite_cjson_is_array(&lite_item)) {
return JSON_PARSE_FAILED;
}
//INFO_PRINT("event output number: %d\n", lite_item.size);
event->output_data_number = lite_item.size;
res = _kk_tsl_event_outputdatas_parse(shadow, event, &lite_item);
if (res != SUCCESS_RETURN) {
......@@ -618,8 +620,7 @@ static int _kk_tsl_events_parse(_IN_ kk_tsl_t *shadow, _IN_ lite_cjson_t *root)
} else {
return SUCCESS_RETURN;
}
printf("\nevent Number: %d\n", lite_events.size);
INFO_PRINT("event Number: %d\n");
if (lite_events.size == 0) {
return SUCCESS_RETURN;
}
......@@ -788,7 +789,7 @@ static int _kk_tsl_service_inputdatas_get_parse(_IN_ kk_tsl_t *shadow, _IN_ kk_t
lite_cjson_t lite_item;
kk_tsl_data_t *input_data = NULL;
printf("input Number: %d\n", service->input_data_number);
//printf("input Number: %d\n", service->input_data_number);
if (service->input_data_number == 0) {
return SUCCESS_RETURN;
}
......@@ -810,7 +811,7 @@ static int _kk_tsl_service_inputdatas_parse(_IN_ kk_tsl_t *shadow, _IN_ kk_tsl_s
lite_cjson_t lite_item;
kk_tsl_data_t *input_data = NULL;
printf("input Number: %d\n", service->input_data_number);
//printf("input Number: %d\n", service->input_data_number);
if (service->input_data_number == 0) {
return SUCCESS_RETURN;
}
......@@ -874,6 +875,7 @@ static int _kk_tsl_service_parse(_IN_ kk_tsl_t *shadow, _IN_ kk_tsl_service_t *s
memset(&lite_item, 0, sizeof(lite_cjson_t));
res = lite_cjson_object_item(root, KK_TSL_KEY_OUTPUTDATA, strlen(KK_TSL_KEY_OUTPUTDATA), &lite_item);
if (res == SUCCESS_RETURN && lite_cjson_is_array(&lite_item)) {
//INFO_PRINT("services output Number: %d\n", lite_item.size);
service->output_data_number = lite_item.size;
res = _kk_tsl_service_outputdatas_parse(shadow, service, &lite_item);
if (res != SUCCESS_RETURN) {
......@@ -886,7 +888,7 @@ static int _kk_tsl_service_parse(_IN_ kk_tsl_t *shadow, _IN_ kk_tsl_service_t *s
res = lite_cjson_object_item(root, KK_TSL_KEY_INPUTDATA, strlen(KK_TSL_KEY_INPUTDATA), &lite_item);
if (res == SUCCESS_RETURN && lite_cjson_is_array(&lite_item)) {
service->input_data_number = lite_item.size;
//INFO_PRINT("services input Number: %d\n", lite_item.size);
if(isGetService && service->input_data_number > 0){
res = _kk_tsl_service_inputdatas_get_parse(shadow, service, &lite_item);
}else
......@@ -914,7 +916,7 @@ static int _kk_tsl_services_parse(_IN_ kk_tsl_t *shadow, _IN_ lite_cjson_t *root
return SUCCESS_RETURN;
}
printf("_kk_tsl_services_parse Number: %d\n", lite_services.size);
INFO_PRINT("services Number: %d\n", lite_services.size);
if (lite_services.size == 0) {
return SUCCESS_RETURN;
}
......@@ -936,7 +938,7 @@ static int _kk_tsl_services_parse(_IN_ kk_tsl_t *shadow, _IN_ lite_cjson_t *root
return FAIL_RETURN;
}
printf(" Index: %d\n", index);
//printf(" Index: %d\n", index);
_kk_tsl_service_parse(shadow, service, &lite_service);
}
......@@ -1669,6 +1671,7 @@ int kk_tsl_create(_IN_ const char *tsl, _IN_ int tsl_len, _OU_ kk_tsl_t **shadow
int res = 0;
lite_cjson_t lite_root;
INFO_PRINT("kk_tsl_create start!!\n");
if (shadow == NULL || *shadow != NULL || tsl == NULL || tsl_len <= 0) {
return INVALID_PARAMETER;
}
......@@ -1707,6 +1710,7 @@ int kk_tsl_create(_IN_ const char *tsl, _IN_ int tsl_len, _OU_ kk_tsl_t **shadow
if (res != SUCCESS_RETURN) {
return FAIL_RETURN;
}
INFO_PRINT("kk_tsl_create successful!!\n");
return SUCCESS_RETURN;
}
......
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