Message ID | 20200304073915.24964-1-inga.stotland@intel.com (mailing list archive) |
---|---|
State | Accepted |
Delegated to: | Brian Gix |
Headers | show |
Series | [BlueZ] tools/mesh-cfgclient: Record remote node's default TTL | expand |
Applied On Tue, 2020-03-03 at 23:39 -0800, Inga Stotland wrote: > This adds code to save the value of a remote node's default TTL > upon receiving Config Default TTL Status message. > > Also, cleanup leftover "#if 0" clause > --- > tools/mesh/cfgcli.c | 1 + > tools/mesh/mesh-db.c | 25 ++++++++++++++++++------- > 2 files changed, 19 insertions(+), 7 deletions(-) > > diff --git a/tools/mesh/cfgcli.c b/tools/mesh/cfgcli.c > index 0aea7e553..33e77d878 100644 > --- a/tools/mesh/cfgcli.c > +++ b/tools/mesh/cfgcli.c > @@ -557,6 +557,7 @@ static bool msg_recvd(uint16_t src, uint16_t idx, uint8_t *data, > return true; > > bt_shell_printf("Node %4.4x Default TTL %d\n", src, data[0]); > + mesh_db_node_ttl_set(src, data[0]); > > break; > > diff --git a/tools/mesh/mesh-db.c b/tools/mesh/mesh-db.c > index 41114f40f..4a26a667e 100644 > --- a/tools/mesh/mesh-db.c > +++ b/tools/mesh/mesh-db.c > @@ -434,6 +434,24 @@ bool mesh_db_node_net_key_add(uint16_t unicast, uint16_t idx) > return add_node_key(jnode, "netKeys", idx); > } > > +bool mesh_db_node_ttl_set(uint16_t unicast, uint8_t ttl) > +{ > + json_object *jnode; > + > + if (!cfg || !cfg->jcfg) > + return false; > + > + jnode = get_node_by_unicast(unicast); > + if (!jnode) > + return false; > + > + if (!write_int(jnode, "defaultTTL", ttl)) > + return false; > + > + return mesh_config_save((struct mesh_config *) cfg, true, > + NULL, NULL); > +} > + > static void jarray_key_del(json_object *jarray, int16_t idx) > { > int i, sz = json_object_array_length(jarray); > @@ -923,13 +941,6 @@ bool mesh_db_create(const char *fname, const uint8_t token[8], > goto fail; > > json_object_object_add(jcfg, "appKeys", jarray); > -#if 0 > - jarray = json_object_new_array(); > - if (!jarray) > - goto fail; > - > - json_object_object_add(jcfg, "groups", jarray); > -#endif > > if (!mesh_config_save((struct mesh_config *) cfg, true, NULL, NULL)) > goto fail;
diff --git a/tools/mesh/cfgcli.c b/tools/mesh/cfgcli.c index 0aea7e553..33e77d878 100644 --- a/tools/mesh/cfgcli.c +++ b/tools/mesh/cfgcli.c @@ -557,6 +557,7 @@ static bool msg_recvd(uint16_t src, uint16_t idx, uint8_t *data, return true; bt_shell_printf("Node %4.4x Default TTL %d\n", src, data[0]); + mesh_db_node_ttl_set(src, data[0]); break; diff --git a/tools/mesh/mesh-db.c b/tools/mesh/mesh-db.c index 41114f40f..4a26a667e 100644 --- a/tools/mesh/mesh-db.c +++ b/tools/mesh/mesh-db.c @@ -434,6 +434,24 @@ bool mesh_db_node_net_key_add(uint16_t unicast, uint16_t idx) return add_node_key(jnode, "netKeys", idx); } +bool mesh_db_node_ttl_set(uint16_t unicast, uint8_t ttl) +{ + json_object *jnode; + + if (!cfg || !cfg->jcfg) + return false; + + jnode = get_node_by_unicast(unicast); + if (!jnode) + return false; + + if (!write_int(jnode, "defaultTTL", ttl)) + return false; + + return mesh_config_save((struct mesh_config *) cfg, true, + NULL, NULL); +} + static void jarray_key_del(json_object *jarray, int16_t idx) { int i, sz = json_object_array_length(jarray); @@ -923,13 +941,6 @@ bool mesh_db_create(const char *fname, const uint8_t token[8], goto fail; json_object_object_add(jcfg, "appKeys", jarray); -#if 0 - jarray = json_object_new_array(); - if (!jarray) - goto fail; - - json_object_object_add(jcfg, "groups", jarray); -#endif if (!mesh_config_save((struct mesh_config *) cfg, true, NULL, NULL)) goto fail;