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
c8ddb8c4
Commit
c8ddb8c4
authored
Aug 03, 2020
by
whmaizmy
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
【修改内容】增加dm_msg_response接口
【提交人】陈伟灿
parent
4a369d9b
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
53 additions
and
0 deletions
+53
-0
src/midware/dm/kk_dm_msg.c
src/midware/dm/kk_dm_msg.c
+52
-0
src/midware/midware.c
src/midware/midware.c
+1
-0
No files found.
src/midware/dm/kk_dm_msg.c
View file @
c8ddb8c4
#include "kk_dm_msg.h"
#include "kk_dm_mng.h"
#include "kk_tsl_api.h"
#include "lite-cjson.h"
const
char
DM_URI_SYS_PREFIX
[]
DM_READ_ONLY
=
"/sys/%s/%s/"
;
const
char
DM_URI_THING_EVENT_PROPERTY_POST
[]
DM_READ_ONLY
=
"thing/event/property/post"
;
const
char
DM_URI_THING_SERVICE_PROPERTY_SET_REPLY
[]
DM_READ_ONLY
=
"thing/service/property/set_reply"
;
...
...
@@ -56,3 +59,52 @@ int dm_msg_request (_IN_ dm_msg_request_t *request)
return
SUCCESS_RETURN
;
}
const
char
DM_MSG_RESPONSE_WITH_DATA
[]
DM_READ_ONLY
=
"{
\"
id
\"
:
\"
%.*s
\"
,
\"
code
\"
:%d,
\"
data
\"
:%.*s}"
;
int
dm_msg_response
(
_IN_
kk_msg_request_payload_t
*
request
,
_IN_
kk_msg_response_t
*
response
,
_IN_
char
*
data
,
_IN_
int
data_len
,
_IN_
void
*
user_data
)
{
int
res
=
0
,
payload_len
=
0
;
char
*
uri
=
NULL
,
*
payload
=
NULL
;
lite_cjson_t
lite
;
if
(
request
==
NULL
||
response
==
NULL
||
data
==
NULL
||
data_len
<=
0
)
{
return
INVALID_PARAMETER
;
}
/* Response URI */
res
=
kk_utils_service_name
(
response
->
service_prefix
,
response
->
service_name
,
response
->
product_key
,
response
->
device_name
,
&
uri
);
if
(
res
!=
SUCCESS_RETURN
)
{
return
FAIL_RETURN
;
}
/* Response Payload */
payload_len
=
strlen
(
DM_MSG_RESPONSE_WITH_DATA
)
+
request
->
id
.
value_length
+
DM_UTILS_UINT32_STRLEN
+
data_len
+
1
;
payload
=
malloc
(
payload_len
);
if
(
payload
==
NULL
)
{
free
(
uri
);
return
MEMORY_NOT_ENOUGH
;
}
memset
(
payload
,
0
,
payload_len
);
snprintf
(
payload
,
payload_len
,
DM_MSG_RESPONSE_WITH_DATA
,
request
->
id
.
value_length
,
request
->
id
.
value
,
response
->
code
,
data_len
,
data
);
memset
(
&
lite
,
0
,
sizeof
(
lite_cjson_t
));
res
=
lite_cjson_parse
(
payload
,
payload_len
,
&
lite
);
if
(
res
<
SUCCESS_RETURN
)
{
printf
(
"Wrong JSON Format, URI: %s, Payload: %s"
,
uri
,
payload
);
free
(
uri
);
free
(
payload
);
return
FAIL_RETURN
;
}
printf
(
"Send URI: %s, Payload: %s"
,
uri
,
payload
);
//dm_client_publish(uri, (unsigned char *)payload, strlen(payload), NULL);
free
(
uri
);
free
(
payload
);
return
SUCCESS_RETURN
;
}
src/midware/midware.c
View file @
c8ddb8c4
...
...
@@ -88,6 +88,7 @@ int main(const int argc, const char **argv)
kk_ipc_init
(
IPC_MID2APP
,
mid_cb
);
kk_ipc_init
(
IPC_MID2PLAT
,
mid2p_cb
);
dm_mgr_init
();
//DB_Init();
//test_tcp();
char
buf
[
100
]
=
{
0
};
...
...
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