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 2016/12/08 00:50:53 UTC

[2/2] incubator-mynewt-core git commit: oic; move OIC platform init/device registration out of the omgr, and to app.

oic; move OIC platform init/device registration out of the omgr,
and to app.


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/071271c8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/tree/071271c8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/diff/071271c8

Branch: refs/heads/develop
Commit: 071271c8550cf2f0fa59458577d25ca8159355a7
Parents: efafbb7
Author: Marko Kiiskila <ma...@runtime.io>
Authored: Wed Dec 7 16:50:07 2016 -0800
Committer: Marko Kiiskila <ma...@runtime.io>
Committed: Wed Dec 7 16:50:07 2016 -0800

----------------------------------------------------------------------
 apps/bleprph_oic/src/main.c | 24 ++++++++++--
 apps/slinky_oic/src/main.c  | 20 ++++++++++
 mgmt/oicmgr/src/oicmgr.c    | 27 ++------------
 net/oic/src/api/oc_main.c   | 80 ++++++++++++++++++++--------------------
 4 files changed, 86 insertions(+), 65 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/071271c8/apps/bleprph_oic/src/main.c
----------------------------------------------------------------------
diff --git a/apps/bleprph_oic/src/main.c b/apps/bleprph_oic/src/main.c
index 2907639..203b1d4 100755
--- a/apps/bleprph_oic/src/main.c
+++ b/apps/bleprph_oic/src/main.c
@@ -29,6 +29,7 @@
 #include "console/console.h"
 #include "imgmgr/imgmgr.h"
 #include "mgmt/mgmt.h"
+#include "oic/oc_api.h"
 
 /* BLE */
 #include "nimble/ble.h"
@@ -253,12 +254,27 @@ bleprph_on_sync(void)
     bleprph_advertise();
 }
 
+static void
+omgr_app_init(void)
+{
+    oc_init_platform("MyNewt", NULL, NULL);
+    oc_add_device("/oic/d", "oic.d.light", "MynewtLed", "1.0", "1.0", NULL,
+                  NULL);
+}
+
+static const oc_handler_t omgr_oc_handler = {
+    .init = omgr_app_init,
+};
+
 /*
  * Event loop for the main bleprph task.
  */
 static void
 bleprph_task_handler(void *unused)
 {
+    oc_main_init((oc_handler_t *)&omgr_oc_handler);
+    mgmt_evq_set(&bleprph_evq);
+
     while (1) {
         os_eventq_run(&bleprph_evq);
     }
@@ -285,10 +301,12 @@ main(void)
     sysinit();
 
     /* Initialize the bleprph log. */
-    log_register("bleprph", &bleprph_log, &log_console_handler, NULL, LOG_SYSLEVEL);
+    log_register("bleprph", &bleprph_log, &log_console_handler, NULL,
+                 LOG_SYSLEVEL);
 
     /* Initialize the NimBLE host configuration. */
-    log_register("ble_hs", &ble_hs_log, &log_console_handler, NULL, LOG_SYSLEVEL);
+    log_register("ble_hs", &ble_hs_log, &log_console_handler, NULL,
+                 LOG_SYSLEVEL);
 
     /* Initialize the OIC  */
     log_register("oic", &oc_log, &log_console_handler, NULL, LOG_SYSLEVEL);
@@ -303,7 +321,7 @@ main(void)
     os_task_init(&bleprph_task, "bleprph", bleprph_task_handler,
                  NULL, BLEPRPH_TASK_PRIO, OS_WAIT_FOREVER,
                  bleprph_stack, BLEPRPH_STACK_SIZE);
-    mgmt_evq_set(&bleprph_evq);
+
     ble_hs_evq_set(&bleprph_evq);
 
     oc_ble_coap_gatt_srv_init();

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/071271c8/apps/slinky_oic/src/main.c
----------------------------------------------------------------------
diff --git a/apps/slinky_oic/src/main.c b/apps/slinky_oic/src/main.c
index 06c7bef..2c72098 100755
--- a/apps/slinky_oic/src/main.c
+++ b/apps/slinky_oic/src/main.c
@@ -34,6 +34,7 @@
 #include <bootutil/image.h>
 #include <imgmgr/imgmgr.h>
 #include <mgmt/mgmt.h>
+#include <oic/oc_api.h>
 #include <assert.h>
 #include <string.h>
 #include <json/json.h>
@@ -206,6 +207,23 @@ task2_handler(void *arg)
     }
 }
 
+/*
+ * OIC platform/resource registration.
+ */
+static void
+omgr_app_init(void)
+{
+    oc_init_platform("MyNewt", NULL, NULL);
+    /*
+      oc_add_device("/oic/d", "oic.d.light", "MynewtLed", "1.0", "1.0", NULL,
+                  NULL);
+    */
+}
+
+static const oc_handler_t omgr_oc_handler = {
+    .init = omgr_app_init,
+};
+
 /**
  * This task serves as a container for the shell and newtmgr packages.  These
  * packages enqueue timer events when they need this task to do work.
@@ -213,6 +231,8 @@ task2_handler(void *arg)
 static void
 task3_handler(void *arg)
 {
+    oc_main_init((oc_handler_t *)&omgr_oc_handler);
+
     while (1) {
         os_eventq_run(&slinky_oic_evq);
     }

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/071271c8/mgmt/oicmgr/src/oicmgr.c
----------------------------------------------------------------------
diff --git a/mgmt/oicmgr/src/oicmgr.c b/mgmt/oicmgr/src/oicmgr.c
index e66c4ed..df86c5f 100644
--- a/mgmt/oicmgr/src/oicmgr.c
+++ b/mgmt/oicmgr/src/oicmgr.c
@@ -187,20 +187,15 @@ omgr_oic_put(oc_request_t *req, oc_interface_mask_t mask)
 }
 
 static void
-omgr_app_init(void)
-{
-    oc_init_platform("MyNewt", NULL, NULL);
-    oc_add_device("/oic/d", "oic.d.light", "MynewtLed", "1.0", "1.0", NULL,
-      NULL);
-}
-
-static void
-omgr_register_resources(void)
+omgr_event_start(struct os_event *ev)
 {
     uint8_t mode;
     oc_resource_t *res = NULL;
     char name[12];
 
+    /*
+     * net/oic must be initialized before now.
+     */
     snprintf(name, sizeof(name), "/omgr");
     res = oc_new_resource(name, 1, 0);
     oc_resource_bind_resource_type(res, "x.mynewt.nmgr");
@@ -213,20 +208,6 @@ omgr_register_resources(void)
     oc_add_resource(res);
 }
 
-static const oc_handler_t omgr_oc_handler = {
-    .init = omgr_app_init,
-    .register_resources = omgr_register_resources
-};
-
-static void
-omgr_event_start(struct os_event *ev)
-{
-    struct omgr_state *o = &omgr_state;
-
-    oc_main_init((oc_handler_t *)&omgr_oc_handler);
-    os_eventq_ensure(&o->os_evq, NULL);
-}
-
 int
 oicmgr_init(void)
 {

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/071271c8/net/oic/src/api/oc_main.c
----------------------------------------------------------------------
diff --git a/net/oic/src/api/oc_main.c b/net/oic/src/api/oc_main.c
index acf0219..1979e51 100644
--- a/net/oic/src/api/oc_main.c
+++ b/net/oic/src/api/oc_main.c
@@ -36,57 +36,59 @@ static bool initialized = false;
 int
 oc_main_init(oc_handler_t *handler)
 {
-  int ret;
-  extern int oc_stack_errno;
+    int ret;
+    extern int oc_stack_errno;
 
-  if (initialized == true)
-    return 0;
-
-  oc_ri_init();
+    if (initialized == true) {
+        return 0;
+    }
+    oc_ri_init();
 
 #ifdef OC_SECURITY
-  handler->get_credentials();
+    handler->get_credentials();
 
-  oc_sec_load_pstat();
-  oc_sec_load_doxm();
-  oc_sec_load_cred();
+    oc_sec_load_pstat();
+    oc_sec_load_doxm();
+    oc_sec_load_cred();
 
-  oc_sec_dtls_init_context();
+    oc_sec_dtls_init_context();
 #endif
 
-  oc_network_event_handler_mutex_init();
-  ret = oc_connectivity_init();
-  if (ret < 0)
-    goto err;
-
-  handler->init();
+    oc_network_event_handler_mutex_init();
+    ret = oc_connectivity_init();
+    if (ret < 0) {
+        goto err;
+    }
+    handler->init();
 
 #ifdef OC_SERVER
-  handler->register_resources();
+    if (handler->register_resources) {
+        handler->register_resources();
+    }
 #endif
 
 #ifdef OC_SECURITY
-  oc_sec_create_svr();
-  oc_sec_load_acl();
+    oc_sec_create_svr();
+    oc_sec_load_acl();
 #endif
 
-  if (oc_stack_errno != 0) {
-    ret = -oc_stack_errno;
-    goto err;
-  }
+    if (oc_stack_errno != 0) {
+        ret = -oc_stack_errno;
+        goto err;
+    }
 
-  PRINT("oc_main: Stack successfully initialized\n");
+    PRINT("oci: Initialized\n");
 
 #ifdef OC_CLIENT
-  handler->requests_entry();
+    handler->requests_entry();
 #endif
 
-  initialized = true;
-  return 0;
+    initialized = true;
+    return 0;
 
 err:
-  oc_abort("oc_main: Error in stack initialization\n");
-  return ret;
+    oc_abort("oc_main: Error in stack initialization\n");
+    return ret;
 }
 
 oc_clock_time_t
@@ -98,17 +100,17 @@ oc_main_poll(void)
 void
 oc_main_shutdown(void)
 {
-  if (initialized == false) {
-    PRINT("tiny_ocf is not initialized\n");
-    return;
-  }
+    if (initialized == false) {
+        PRINT("oci: not initialized\n");
+        return;
+    }
 
-  oc_connectivity_shutdown();
-  oc_ri_shutdown();
+    oc_connectivity_shutdown();
+    oc_ri_shutdown();
 
-#ifdef OC_SECURITY /* fix ensure this gets executed on constraied platforms */
-  oc_sec_dump_state();
+#ifdef OC_SECURITY /* fix ensure this gets executed on constrained platforms */
+    oc_sec_dump_state();
 #endif
 
-  initialized = false;
+    initialized = false;
 }