memset (ed, 0, sizeof (nns_edge_data_s));
ed->magic = NNS_EDGE_MAGIC;
- ed->info_table = g_hash_table_new_full (g_str_hash, g_str_equal,
- nns_edge_free, nns_edge_free);
+ nns_edge_metadata_init (&ed->metadata);
*data_h = ed;
return NNS_EDGE_ERROR_NONE;
ed->data[i].destroy_cb (ed->data[i].data);
}
- g_hash_table_destroy (ed->info_table);
+ nns_edge_metadata_free (&ed->metadata);
SAFE_FREE (ed);
return NNS_EDGE_ERROR_NONE;
{
nns_edge_data_s *ed;
nns_edge_data_s *copied;
- GHashTableIter iter;
- gpointer key, value;
unsigned int i;
int ret;
copied->data[i].destroy_cb = nns_edge_free;
}
- g_hash_table_iter_init (&iter, ed->info_table);
- while (g_hash_table_iter_next (&iter, &key, &value)) {
- g_hash_table_insert (copied->info_table, nns_edge_strdup (key),
- nns_edge_strdup (value));
- }
-
- return NNS_EDGE_ERROR_NONE;
+ return nns_edge_metadata_copy (&copied->metadata, &ed->metadata);
}
/**
return NNS_EDGE_ERROR_INVALID_PARAMETER;
}
- g_hash_table_insert (ed->info_table, nns_edge_strdup (key),
- nns_edge_strdup (value));
-
- return NNS_EDGE_ERROR_NONE;
+ return nns_edge_metadata_set (&ed->metadata, key, value);
}
/**
nns_edge_data_get_info (nns_edge_data_h data_h, const char *key, char **value)
{
nns_edge_data_s *ed;
- char *val;
ed = (nns_edge_data_s *) data_h;
return NNS_EDGE_ERROR_INVALID_PARAMETER;
}
- val = g_hash_table_lookup (ed->info_table, key);
- if (!val) {
- nns_edge_loge ("Invalid param, cannot find info about '%s'.", key);
- return NNS_EDGE_ERROR_INVALID_PARAMETER;
- }
-
- *value = nns_edge_strdup (val);
-
- return NNS_EDGE_ERROR_NONE;
+ return nns_edge_metadata_get (&ed->metadata, key, value);
}
eh->host = nns_edge_strdup ("localhost");
eh->port = 0;
eh->flags = flags;
+ nns_edge_metadata_init (&eh->meta);
/* Connection data for each client ID. */
eh->conn_table = g_hash_table_new_full (g_direct_hash, g_direct_equal, NULL,
g_hash_table_destroy (eh->conn_table);
eh->conn_table = NULL;
+ nns_edge_metadata_free (&eh->meta);
SAFE_FREE (eh->id);
SAFE_FREE (eh->topic);
SAFE_FREE (eh->host);
nns_edge_loge ("Cannot update %s.", key);
ret = NNS_EDGE_ERROR_INVALID_PARAMETER;
} else {
- nns_edge_logw ("Failed to set edge info. Unknown key: %s", key);
- ret = NNS_EDGE_ERROR_INVALID_PARAMETER;
+ ret = nns_edge_metadata_set (&eh->meta, key, value);
}
nns_edge_unlock (eh);
*value = nns_edge_strdup_printf ("%ld", (long int) eh->client_id);
}
} else {
- nns_edge_logw ("Failed to get edge info. Unknown key: %s", key);
- ret = NNS_EDGE_ERROR_INVALID_PARAMETER;
+ ret = nns_edge_metadata_get (&eh->meta, key, value);
}
nns_edge_unlock (eh);