Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
host data comeback as property 'data'
authorPaul Bédaride <paul.bedaride@gmail.com>
Mon, 17 Feb 2014 13:46:31 +0000 (14:46 +0100)
committerPaul Bédaride <paul.bedaride@gmail.com>
Mon, 17 Feb 2014 13:46:31 +0000 (14:46 +0100)
include/msg/msg.h
src/msg/msg_host.c

index 2c30c65..9f983ca 100644 (file)
@@ -116,6 +116,8 @@ XBT_PUBLIC(xbt_dict_t) MSG_as_router_get_properties(const char* asr);
 XBT_PUBLIC(void) MSG_as_router_set_property_value(const char* asr, const char *name, char *value,void_f_pvoid_t free_ctn);
 
 /************************** Host handling ***********************************/
+XBT_PUBLIC(msg_error_t) MSG_host_set_data(msg_host_t host, void *data);
+XBT_PUBLIC(void *) MSG_host_get_data(msg_host_t host);
 XBT_PUBLIC(const char *) MSG_host_get_name(msg_host_t host);
 XBT_PUBLIC(void) MSG_host_on(msg_host_t host);
 XBT_PUBLIC(void) MSG_host_off(msg_host_t host);
index 627b1e6..5c2eec8 100644 (file)
@@ -72,6 +72,32 @@ msg_host_t MSG_get_host_by_name(const char *name)
   return (msg_host_t) xbt_lib_get_elm_or_null(host_lib,name);
 }
 
+static const char *msg_data = "data";
+/** \ingroup m_host_management
+ *
+ * \brief Set the user data of a #msg_host_t.
+ *
+ * This functions checks whether some data has already been associated to \a host
+   or not and attach \a data to \a host if it is possible.
+ */
+msg_error_t MSG_host_set_data(msg_host_t host, void *data)
+{
+  MSG_host_set_property_value(host, msg_data, data, NULL);
+  return MSG_OK;
+}
+
+/** \ingroup m_host_management
+ *
+ * \brief Return the user data of a #msg_host_t.
+ *
+ * This functions checks whether \a host is a valid pointer or not and return
+   the user data associated to \a host if it is possible.
+ */
+void *MSG_host_get_data(msg_host_t host)
+{
+  return (void *)MSG_host_get_property_value(host, msg_data);
+}
+
 /** \ingroup m_host_management
  *
  * \brief Return the name of the #msg_host_t.