You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by ma...@apache.org on 2017/01/06 23:04:12 UTC
[07/11] incubator-mynewt-core git commit: oic;
incoming data is now in mbuf chain, instead of in flat buffer.
oic; incoming data is now in mbuf chain, instead of in flat buffer.
Project: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/commit/3ab30861
Tree: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/tree/3ab30861
Diff: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/diff/3ab30861
Branch: refs/heads/develop
Commit: 3ab3086108a98527c53a0dde7f80a672be2ab23c
Parents: 5c307f6
Author: Marko Kiiskila <ma...@runtime.io>
Authored: Fri Jan 6 11:30:54 2017 -0800
Committer: Marko Kiiskila <ma...@runtime.io>
Committed: Fri Jan 6 15:03:00 2017 -0800
----------------------------------------------------------------------
apps/bleprph_oic/src/main.c | 8 ++++----
apps/ocf_sample/src/main.c | 14 ++++++++------
mgmt/oicmgr/src/oicmgr.c | 15 ++++++++-------
3 files changed, 20 insertions(+), 17 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/3ab30861/apps/bleprph_oic/src/main.c
----------------------------------------------------------------------
diff --git a/apps/bleprph_oic/src/main.c b/apps/bleprph_oic/src/main.c
index 81fa813..b59e12b 100755
--- a/apps/bleprph_oic/src/main.c
+++ b/apps/bleprph_oic/src/main.c
@@ -284,7 +284,8 @@ app_set_light(oc_request_t *request, oc_interface_mask_t interface)
{
bool state;
int len;
- const uint8_t *data;
+ uint16_t data_off;
+ struct os_mbuf *m;
struct cbor_attr_t attrs[] = {
[0] = {
.attribute = "state",
@@ -296,14 +297,13 @@ app_set_light(oc_request_t *request, oc_interface_mask_t interface)
}
};
- len = coap_get_payload(request->packet, &data);
- if (cbor_read_flat_attrs(data, len, attrs)) {
+ len = coap_get_payload(request->packet, &m, &data_off);
+ if (cbor_read_mbuf_attrs(m, data_off, len, attrs)) {
oc_send_response(request, OC_STATUS_BAD_REQUEST);
} else {
hal_gpio_write(LED_BLINK_PIN, state == true);
oc_send_response(request, OC_STATUS_CHANGED);
}
-
}
static void
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/3ab30861/apps/ocf_sample/src/main.c
----------------------------------------------------------------------
diff --git a/apps/ocf_sample/src/main.c b/apps/ocf_sample/src/main.c
index 2fdfb12..55d1b81 100644
--- a/apps/ocf_sample/src/main.c
+++ b/apps/ocf_sample/src/main.c
@@ -73,7 +73,8 @@ put_light(oc_request_t *request, oc_interface_mask_t interface)
{
bool state;
int len;
- const uint8_t *data;
+ uint16_t data_off;
+ struct os_mbuf *m;
struct cbor_attr_t attrs[] = {
[0] = {
.attribute = "state",
@@ -87,8 +88,8 @@ put_light(oc_request_t *request, oc_interface_mask_t interface)
printf("PUT_light:\n");
- len = coap_get_payload(request->packet, &data);
- if (cbor_read_flat_attrs(data, len, attrs)) {
+ len = coap_get_payload(request->packet, &m, &data_off);
+ if (cbor_read_mbuf_attrs(m, data_off, len, attrs)) {
oc_send_response(request, OC_STATUS_BAD_REQUEST);
} else {
printf("value: %d\n", state);
@@ -148,7 +149,8 @@ observe_light(oc_client_response_t *rsp)
{
bool state;
int len;
- const uint8_t *data;
+ uint16_t data_off;
+ struct os_mbuf *m;
struct cbor_attr_t attrs[] = {
[0] = {
.attribute = "state",
@@ -160,8 +162,8 @@ observe_light(oc_client_response_t *rsp)
}
};
- len = coap_get_payload(rsp->packet, &data);
- if (cbor_read_flat_attrs(data, len, attrs)) {
+ len = coap_get_payload(rsp->packet, &m, &data_off);
+ if (cbor_read_mbuf_attrs(m, data_off, len, attrs)) {
printf("OBSERVE_light: %d\n", state);
light_state = state;
}
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/3ab30861/mgmt/oicmgr/src/oicmgr.c
----------------------------------------------------------------------
diff --git a/mgmt/oicmgr/src/oicmgr.c b/mgmt/oicmgr/src/oicmgr.c
index df86c5f..75e8bde 100644
--- a/mgmt/oicmgr/src/oicmgr.c
+++ b/mgmt/oicmgr/src/oicmgr.c
@@ -31,13 +31,12 @@
#include <cborattr/cborattr.h>
#include <tinycbor/cbor.h>
-#include <tinycbor/cbor_buf_writer.h>
-#include <tinycbor/cbor_buf_reader.h>
+#include <tinycbor/cbor_mbuf_reader.h>
#include <oic/oc_api.h>
struct omgr_cbuf {
struct mgmt_cbuf ob_mj;
- struct cbor_buf_reader ob_reader;
+ struct cbor_mbuf_reader ob_reader;
};
struct omgr_state {
@@ -104,7 +103,8 @@ omgr_oic_op(oc_request_t *req, oc_interface_mask_t mask, int isset)
{
struct omgr_state *o = &omgr_state;
const struct mgmt_handler *handler;
- const uint8_t *data;
+ uint16_t data_off;
+ struct os_mbuf *m;
int rc = 0;
extern CborEncoder g_encoder;
@@ -117,10 +117,11 @@ omgr_oic_op(oc_request_t *req, oc_interface_mask_t mask, int isset)
goto bad_req;
}
- rc = coap_get_payload(req->packet, &data);
- cbor_buf_reader_init(&o->os_cbuf.ob_reader, data, rc);
+ rc = coap_get_payload(req->packet, &m, &data_off);
+ cbor_mbuf_reader_init(&o->os_cbuf.ob_reader, m, data_off);
- cbor_parser_init(&o->os_cbuf.ob_reader.r, 0, &o->os_cbuf.ob_mj.parser, &o->os_cbuf.ob_mj.it);
+ cbor_parser_init(&o->os_cbuf.ob_reader.r, 0, &o->os_cbuf.ob_mj.parser,
+ &o->os_cbuf.ob_mj.it);
/* start generating the CBOR OUTPUT */
/* this is worth a quick note. We are encoding CBOR within CBOR, so we