diff mbox series

[BlueZ] tools/mesh-cfgclient: Record remote node's default TTL

Message ID 20200304073915.24964-1-inga.stotland@intel.com
State New
Headers show
Series [BlueZ] tools/mesh-cfgclient: Record remote node's default TTL | expand

Commit Message

Inga Stotland March 4, 2020, 7:39 a.m. UTC
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 mbox series

Patch

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;