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 <[email protected]>
Authored: Fri Jan 6 11:30:54 2017 -0800
Committer: Marko Kiiskila <[email protected]>
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

Reply via email to