{
struct mesh_db_node *db_node = data;
unsigned int num_ele;
+ uint8_t mode;
node->comp = l_new(struct node_composition, 1);
node->comp->cid = db_node->cid;
node->primary = db_node->unicast;
+ mesh_net_set_seq_num(node->net, node->seq_number);
+ mesh_net_set_default_ttl(node->net, node->ttl);
+
+ mode = node->proxy;
+ if (mode == MESH_MODE_ENABLED || mode == MESH_MODE_DISABLED)
+ mesh_net_set_proxy_mode(node->net, mode == MESH_MODE_ENABLED);
+
+ mode = node->lpn;
+ if (mode == MESH_MODE_ENABLED || mode == MESH_MODE_DISABLED)
+ mesh_net_set_friend_mode(node->net, mode == MESH_MODE_ENABLED);
+
+ mode = node->relay.mode;
+ if (mode == MESH_MODE_ENABLED || mode == MESH_MODE_DISABLED)
+ mesh_net_set_relay_mode(node->net, mode == MESH_MODE_ENABLED,
+ node->relay.cnt, node->relay.interval);
+
+ mode = node->beacon;
+ if (mode == MESH_MODE_ENABLED || mode == MESH_MODE_DISABLED)
+ mesh_net_set_beacon_mode(node->net, mode == MESH_MODE_ENABLED);
+
+ if (!IS_UNASSIGNED(node->primary) &&
+ !mesh_net_register_unicast(node->net, node->primary, num_ele))
+ return false;
+
+ if (node->uuid)
+ mesh_net_id_uuid_set(node->net, node->uuid);
+
/* Initialize configuration server model */
mesh_config_srv_init(node, PRIMARY_ELE_IDX);
static bool read_node_cb(struct mesh_db_node *db_node, void *user_data)
{
struct mesh_node *node = user_data;
- struct mesh_net *net;
- uint32_t seq_number;
- uint8_t ttl, mode, cnt, num_ele;
- uint16_t unicast, interval;
- uint8_t *uuid;
if (!node_init_from_storage(node, db_node)) {
node_remove(node);
return false;
}
- net = node_get_net(node);
- seq_number = node_get_sequence_number(node);
- mesh_net_set_seq_num(net, seq_number);
- ttl = node_default_ttl_get(node);
- mesh_net_set_default_ttl(net, ttl);
-
- mode = node_proxy_mode_get(node);
- if (mode == MESH_MODE_ENABLED || mode == MESH_MODE_DISABLED)
- mesh_net_set_proxy_mode(net, mode == MESH_MODE_ENABLED);
-
- mode = node_friend_mode_get(node);
- if (mode == MESH_MODE_ENABLED || mode == MESH_MODE_DISABLED)
- mesh_net_set_friend_mode(net, mode == MESH_MODE_ENABLED);
-
- mode = node_relay_mode_get(node, &cnt, &interval);
- if (mode == MESH_MODE_ENABLED || mode == MESH_MODE_DISABLED)
- mesh_net_set_relay_mode(net, mode == MESH_MODE_ENABLED, cnt,
- interval);
-
- mode = node_beacon_mode_get(node);
- if (mode == MESH_MODE_ENABLED || mode == MESH_MODE_DISABLED)
- mesh_net_set_beacon_mode(net, mode == MESH_MODE_ENABLED);
-
- unicast = db_node->unicast;
- num_ele = node_get_num_elements(node);
-
- if (!IS_UNASSIGNED(unicast) &&
- !mesh_net_register_unicast(net, unicast, num_ele))
- return false;
-
- uuid = node_uuid_get(node);
- if (uuid)
- mesh_net_id_uuid_set(net, uuid);
-
return true;
}