Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
K
k-sdk
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
陈伟灿
k-sdk
Commits
dbaa62f2
Commit
dbaa62f2
authored
Sep 08, 2020
by
黄振令
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
【修改内容】kcloud—>ccu的消息做过滤,给主机或给网关
【提交人】huang.zhenling
parent
c4dbdba7
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
23 additions
and
20 deletions
+23
-20
midware/midware/dm/kk_dm_msg.h
midware/midware/dm/kk_dm_msg.h
+1
-0
midware/midware/midware.c
midware/midware/midware.c
+22
-20
No files found.
midware/midware/dm/kk_dm_msg.h
View file @
dbaa62f2
...
...
@@ -46,6 +46,7 @@ const char DM_MSG_INFO[] DM_READ_ONLY;
#define KK_LOGIN_TOPIC_REPLY "/thing/combine/login_reply"
#define KK_ONLINE_TOPIC_REPLY "/thing/status/online_reply"
#define KK_THING_SERVICE_PROPERTY_SET "/thing/service/property/set"
#define KK_THING_SERVICE_PROPERTY_GET "/thing/service/property/get"
#define KK_THING_OTA_DEVICE_UPGRADE "/ota/device/upgrade"
#define KK_THING_CLOUDSTATE_MSG "/thing/ccu/cloudstate_reply"
#define KK_THING_TOPO_ADD_MSG "/thing/topo/add"
...
...
midware/midware/midware.c
View file @
dbaa62f2
...
...
@@ -27,8 +27,8 @@ char * g_filerToPlatTable[] =
{
KK_REGISTER_TOPIC_REPLY
},
{
KK_ADD_TOPIC_REPLY
},
{
KK_LOGIN_TOPIC_REPLY
},
{
KK_THING_
OTA_DEVICE_UPGRADE
},
{
KK_THING_CLOUDSTATE_MSG
},
{
KK_THING_
SERVICE_PROPERTY_GET
},
{
KK_THING_CLOUDSTATE_MSG
},
};
static
int
_kk_filter_to_plat
(
const
char
*
msgtype
)
...
...
@@ -61,38 +61,42 @@ void kk_sendData2gw(void* data, int len, char* chalMark){
void
mid_cb
(
void
*
data
,
int
len
){
if
(
data
!=
NULL
){
char
*
out
;
cJSON
*
json
;
cJSON
*
info_root
,
*
info
,
*
type
;
cJSON
*
payload
;
cJSON
*
info_root
,
*
type
;
cJSON
*
deviceCode
;
int
res
;
void
*
buf
=
malloc
(
len
);
memcpy
(
buf
,
data
,
len
);
res
=
dm_queue_msg_insert
((
void
*
)
buf
);
if
(
res
!=
SUCCESS_RETURN
)
{
free
(
buf
);
//return FAIL_RETURN;
}
json
=
cJSON_Parse
(
data
);
if
(
!
json
)
{
printf
(
"Error before: [%s]
\n
"
,
"cJSON_Parse"
);
ERROR_PRINT
(
"Error before: [%s]
\n
"
,
"cJSON_Parse"
);
}
else
{
info_root
=
cJSON_GetObjectItem
(
json
,
MSG_INFO_STR
);
if
(
info_root
==
NULL
){
ERROR_PRINT
(
" params [%s] can't find
\n
"
,
MSG_INFO_STR
);
cJSON_Delete
(
json
);
return
;
}
deviceCode
=
cJSON_GetObjectItem
(
info_root
,
MSG_DEVICE_CODE_STR
);
type
=
cJSON_GetObjectItem
(
info_root
,
MSG_TYPE_STR
);
if
(
_kk_filter_to_plat
(
type
->
valuestring
)
){
cJSON_Delete
(
json
);
cJSON_Delete
(
info
);
if
(
deviceCode
==
NULL
||
type
==
NULL
){
ERROR_PRINT
(
" params [%s] or [%s] can't find
\n
"
,
MSG_DEVICE_CODE_STR
,
MSG_TYPE_STR
);
cJSON_Delete
(
json
);
return
;
}
}
int
devType
=
0
;
dm_mgr_get_devicetype_by_devicecode
(
deviceCode
->
valuestring
,
&
devType
);
if
(
devType
==
KK_DM_DEVICE_GATEWAY
){
//主机的device或过滤的
if
(
devType
==
KK_DM_DEVICE_CCU
||
_kk_filter_to_plat
(
type
->
valuestring
)){
void
*
buf
=
malloc
(
len
);
memcpy
(
buf
,
data
,
len
);
res
=
dm_queue_msg_insert
((
void
*
)
buf
);
if
(
res
!=
SUCCESS_RETURN
)
{
free
(
buf
);
}
}
else
if
(
devType
==
KK_DM_DEVICE_GATEWAY
){
kk_sendData2gw
(
data
,
strlen
(
data
),
deviceCode
->
valuestring
);
//send to gw itself
}
else
if
(
devType
==
KK_DM_DEVICE_SUBDEV
){
dm_mgr_dev_node_t
*
gw_node
=
NULL
;
...
...
@@ -100,7 +104,6 @@ void mid_cb(void* data, int len){
if
(
res
!=
SUCCESS_RETURN
)
{
ERROR_PRINT
(
"res:%d
\n
"
,
res
);
cJSON_Delete
(
json
);
cJSON_Delete
(
info
);
return
;
}
kk_sendData2gw
(
data
,
strlen
(
data
),
gw_node
->
fatherDeviceCode
);
//send to sub device
...
...
@@ -109,7 +112,6 @@ void mid_cb(void* data, int len){
ERROR_PRINT
(
"wrong type
\n
"
);
}
cJSON_Delete
(
json
);
cJSON_Delete
(
info
);
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment