@@ -2566,6 +2566,8 @@ static void update_iv_ivu_state(struct mesh_net *net, uint32_t iv_index,
rpl_init(net->node, iv_index);
}
+ node_property_changed(net->node, "IVIndex");
+
net->iv_index = iv_index;
net->iv_update = ivu;
}
@@ -2280,6 +2280,15 @@ static void setup_node_interface(struct l_dbus_interface *iface)
NULL);
}
+void node_property_changed(struct mesh_node *node, const char *property)
+{
+ struct l_dbus *bus = dbus_get_bus();
+
+ if (bus)
+ l_dbus_property_changed(dbus_get_bus(), node->obj_path,
+ MESH_NODE_INTERFACE, property);
+}
+
bool node_dbus_init(struct l_dbus *bus)
{
if (!l_dbus_register_interface(bus, MESH_NODE_INTERFACE,
@@ -99,3 +99,4 @@ struct mesh_agent *node_get_agent(struct mesh_node *node);
const char *node_get_storage_dir(struct mesh_node *node);
bool node_load_from_storage(const char *storage_dir);
void node_finalize_new_node(struct mesh_node *node, struct mesh_io *io);
+void node_property_changed(struct mesh_node *node, const char *property);