Commit b951d6a6 authored by 黄振令's avatar 黄振令

Merge branch 'master' of http://172.17.3.10:17001/chenweican/k-sdk

# Conflicts:
#	application/kcloud/kcloud_data_handle.c
parents b049cedc 36737fa0
......@@ -5,60 +5,61 @@
#include "com_api.h"
#include "cJSON.h"
static char * _kk_data_create(const char *topic,const char *data)
{
cJSON *root;
char *out;
root=cJSON_CreateObject();
cJSON_AddStringToObject(root,"topic",topic);
cJSON_AddStringToObject(root,"payload",data);
out=cJSON_Print(root);
cJSON_Delete(root);
printf("[%s][%d]%s\n",__FUNCTION__,__LINE__,out);
return out;
//free(out); /* Print to text, Delete the cJSON, print it, release the string. */
#define KK_FILTER_ADD_TOPIC "/thing/topo/add"
#define KK_FILTER_ADD_TOPIC_REPLY "/thing/topo/add_reply"
#define KK_FILTER_DELETE_TOPIC "/thing/topo/delete"
#define KK_FILTER_DELETE_TOPIC_REPLY "/thing/topo/delete_reply"
#define KK_FILTER_REGISTER_TOPIC "/thing/sub/register"
#define KK_FILTER_REGISTER_TOPIC_REPLY "/thing/sub/register_reply"
#define KK_FILTER_LOGIN_TOPIC "/thing/combine/login"
#define KK_FILTER_LOGIN_TOPIC_REPLY "/thing/combine/login_reply"
#define KK_FILTER_SET_TOPIC "/thing/service/property/set"
#define KK_FILTER_SET_TOPIC_REPLY "/thing/service/property/set_reply"
#define KK_FILTER_EVENT_POST_TOPIC "/thing/event/property/post"
#define KK_FILTER_EVENT_POST_REPLY "/thing/event/property/post_reply"
}
void KK_Sendto_CloudData(void *data,int len)
int _kk_sendto_cloud(cJSON *root)
{
cJSON *root,*pTopic,*pData;
cJSON *pTopic,*pData;
char *topic = NULL;
char *payload = NULL;
root=cJSON_Parse((char*)data);
if(root == NULL)
{
return;
}
pTopic = cJSON_GetObjectItem(root, "topic");
if(pTopic == NULL)
{
if(pTopic == NULL){
return;
}
pData = cJSON_GetObjectItem(root, "payload");
if(pData == NULL)
{
if(pData == NULL){
return;
}
printf("[%s][%d] topic:%s\n",__FUNCTION__,__LINE__,pTopic->valuestring);
printf("[%s][%d] payload:%s\n",__FUNCTION__,__LINE__,pData->valuestring);
KK_MQTT_SendMsg(pTopic->valuestring,(const char*)pData->valuestring);
}
#define KK_FILTER_ADD_TOPIC "/thing/topo/add"
#define KK_FILTER_ADD_TOPIC_REPLY "/thing/topo/add_reply"
#define KK_FILTER_DELETE_TOPIC "/thing/topo/delete"
#define KK_FILTER_DELETE_TOPIC_REPLY "/thing/topo/delete_reply"
#define KK_FILTER_REGISTER_TOPIC "/thing/sub/register"
#define KK_FILTER_REGISTER_TOPIC_REPLY "/thing/sub/register_reply"
#define KK_FILTER_LOGIN_TOPIC "/thing/combine/login"
#define KK_FILTER_LOGIN_TOPIC_REPLY "/thing/combine/login_reply"
#define KK_FILTER_SET_TOPIC "/thing/service/property/set"
#define KK_FILTER_SET_TOPIC_REPLY "/thing/service/property/set_reply"
#define KK_FILTER_EVENT_POST_TOPIC "/thing/event/property/post"
#define KK_FILTER_EVENT_POST_REPLY "/thing/event/property/post_reply"
void KK_Data_FromDev(void* str,int len)
{
cJSON *root,*cmd;
if(str == NULL){
return;
}
root=cJSON_Parse((char*)str);
if(root == NULL){
return;
}
cmd = cJSON_GetObjectItem(root, "cmd");
if(cmd == NULL){
_kk_sendto_cloud(root);
}
else{
KK_Subdev_Subscribe(root);
}
cJSON_Delete(root);
free(root);
static int _check_invalid_topic(char* topic)
}
static int _check_invalid_topic(const char* topic)
{
if(strstr(topic, KK_FILTER_ADD_TOPIC) != NULL && \
strstr(topic,KK_FILTER_ADD_TOPIC_REPLY) == NULL){
......@@ -85,6 +86,20 @@ static int _check_invalid_topic(char* topic)
}
return 0;
}
static char * _kk_data_create(const char *topic,const char *data)
{
cJSON *root;
char *out;
root=cJSON_CreateObject();
cJSON_AddStringToObject(root,"topic",topic);
cJSON_AddStringToObject(root,"payload",data);
out=cJSON_Print(root);
cJSON_Delete(root);
printf("[%s][%d]%s\n",__FUNCTION__,__LINE__,out);
return out;
//free(out); /* Print to text, Delete the cJSON, print it, release the string. */
}
void KK_Sendto_DevData(const char *topic,const char *data)
{
if(_check_invalid_topic(topic))
......
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