/** \ingroup msg_host_management
* \brief Return the content of mounted storages on an host.
* \param host a host
- * \return a dynar containing content (as a dict) of all storages mounted on the host
+ * \return a dict containing content (as a dict) of all storages mounted on the host
*/
-xbt_dynar_t MSG_host_get_storage_content(msg_host_t host)
+xbt_dict_t MSG_host_get_storage_content(msg_host_t host)
{
xbt_assert((host != NULL), "Invalid parameters");
- xbt_dynar_t contents = xbt_dynar_new(sizeof(void *),NULL);
-// msg_storage_t storage;
-// char* storage_name;
-// unsigned int i;
-// xbt_dynar_t storage_list = simcall_host_get_storage_list(host);
-// xbt_dynar_foreach(storage_list, i, storage_name){
-// storage = xbt_lib_get_elm_or_null(storage_lib,storage_name);
-//
-// XBT_INFO("STORAGE NAME: %s", storage_name);
-// xbt_dict_t content = simcall_storage_get_content(storage);
-// xbt_dynar_push(contents, &content);
-// }
+ xbt_dict_t contents = xbt_dict_new_homogeneous(NULL);
+ msg_storage_t storage;
+ char* storage_name;
+ char* mount_name;
+ xbt_dict_cursor_t cursor = NULL;
+
+ xbt_dict_t storage_list = simcall_host_get_storage_list(host);
+
+ xbt_dict_foreach(storage_list,cursor,mount_name,storage_name){
+ storage = (msg_storage_t)xbt_lib_get_elm_or_null(storage_lib,storage_name);
+ xbt_dict_t content = simcall_storage_get_content(storage);
+ xbt_dict_set(contents,mount_name, content,NULL);
+ }
+ xbt_dict_free(&storage_list);
return contents;
}