return ANCS_DATA_CONFIG_DIR;\r
}\r
\r
-uint32_t message_data(int uid,int appid,char *title,char *msg,int hasCode)\r
+void* message_data(int uid,int appid,char *title,char *msg,int hasCode)\r
{\r
- if(!creatMessageDir())//创建文件夹失败\r
- {\r
- return 0;\r
- }\r
- uint32_t index= ble_get_message_index();\r
-\r
\r
- uint8_t buf_size = 0;\r
- char message_data_path[128]={0};\r
uint32_t timeBuf = 0;\r
if (uapi_get_timestampe_ss(&timeBuf) != ERRCODE_SUCC)\r
{\r
timeBuf = 0;\r
}\r
+ ancs_data_info_t *data= (ancs_data_info_t *)malloc(sizeof(ancs_data_info_t));\r
+ if(data==NULL)\r
+ return NULL;\r
\r
- sprintf_s(message_data_path,128,ANCS_DATA_MSG_CJSON_PATH,index);\r
- \r
- FILE *jsfile = fopen(message_data_path, "w+");\r
- if(jsfile==NULL)\r
- {\r
- printf("message_data open %s fail\r\n",message_data_path);\r
- }\r
-\r
-\r
- cJSON* dataJSON = cJSON_CreateObject();\r
-\r
- cJSON_AddNumberToObject(dataJSON,"uid",uid);\r
- cJSON_AddNumberToObject(dataJSON,"appid_t",appid);//消息类型 微信 qq 等看结构体或者协议定义\r
- cJSON_AddStringToObject(dataJSON,"title",title);//消息发送者\r
- cJSON_AddStringToObject(dataJSON,"msg",msg);//消息内容\r
- cJSON_AddNumberToObject(dataJSON,"time",timeBuf);//时间戳\r
- cJSON_AddNumberToObject(dataJSON,"hasCode",hasCode);//暂时不需要预留接口\r
- cJSON_AddBoolToObject(dataJSON,"read",false);//是否已读 false未读 1 已读默认存的时候已经未读\r
-\r
- char *json_format = cJSON_PrintUnformatted(dataJSON);\r
- cJSON_Delete(dataJSON);\r
+ data->appid=appid;\r
+ memcpy_s(data->title,TITLE_BUF_LEN+1,title,strlen(title));\r
+ memcpy_s(data->msg,TITLE_BUF_LEN+1,title,strlen(msg));\r
+ data->uid=uid;\r
+ data->time=timeBuf;\r
+ data->read=0;\r
+ data->hasCode=hasCode;\r
\r
- if(json_format==NULL)\r
- return 0;\r
- else\r
- printf("message_data json:%s\r\n",json_format);\r
-\r
- if( strlen(json_format)!=fwrite(json_format,1,strlen(json_format),jsfile))\r
- {\r
- printf("message_data fwrite fail\r\n");\r
- }\r
- \r
- fclose(jsfile);\r
- cJSON_free(json_format);\r
- ble_add_message_index(index);\r
- return index;\r
+ return data;\r
//read_message_data();\r
}\r
int uft8_check(char *chinese_string,int length)\r
}\r
return i;\r
}\r
-static uint32_t ancs_msg_index =0;\r
+static void* ancs_msg_data =NULL;\r
+\r
+\r
//安卓消息接收解析数据 //ANCS 2AE1\r
uint8_t jscheck_ancs(uint8_t *data)\r
{\r
hasCode_t = hasCode->valueint;\r
}\r
cJSON_Delete(root);\r
- ancs_msg_index= message_data(uid_t,appid_t,titleBuf,msgBuf,hasCode_t);\r
+ if(ancs_msg_data!=NULL)\r
+ {\r
+ free(ancs_msg_data);\r
+ ancs_msg_data=NULL;\r
+ }\r
+ ancs_msg_data= message_data(uid_t,appid_t,titleBuf,msgBuf,hasCode_t);\r
+ \r
if(titleBuf != NULL){\r
ym_free(titleBuf);\r
titleBuf = NULL;\r
value[17] = 1;\r
value[18] = Calculate_CRC(value,18);\r
sendBleData(value,19);\r
-\r
- CustomEventPublish(TOPIC_EVENT_MESSAGENOTE,&ancs_msg_index,4);\r
+ if(ancs_msg_data)\r
+ CustomEventPublish_TOPIC_EVENT_MESSAGENOTE(ancs_msg_data);\r
}else{\r
value[17] = 0;\r
value[18] = Calculate_CRC(value,18);\r
}\r
}\r
\r
-void CustomEventPublish_TOPIC_EVENT_MESSAGENOTE(uint32_t index)\r
+void CustomEventPublish_TOPIC_EVENT_MESSAGENOTE(void *data)\r
{\r
- CustomEventPublish(TOPIC_EVENT_MESSAGENOTE,&index,4);\r
+ CustomEventPublish(TOPIC_EVENT_MESSAGENOTE,(uint8_t*)data,sizeof(ancs_data_info_t));\r
+ if(data)\r
+ {\r
+ free(data);\r
+ data=NULL;\r
+ }\r
+ \r
}\r
\r
void type2AE1Data(uint8_t *buf_cmd,uint8_t *data,uint16_t datalen,uint8_t *totalData,uint8_t crcvalue)\r