Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
kill some remainings of sd_link_t
[simgrid.git] / src / surf / network_interface.hpp
index ba829aa..188539f 100644 (file)
@@ -7,6 +7,8 @@
 #include "surf_interface.hpp"
 #include "surf_routing.hpp"
 
+#include "simgrid/link.h"
+
 #ifndef SURF_NETWORK_INTERFACE_HPP_
 #define SURF_NETWORK_INTERFACE_HPP_
 
@@ -16,9 +18,6 @@
 class NetworkModel;
 typedef NetworkModel *NetworkModelPtr;
 
-class Link;
-typedef Link *LinkPtr;
-
 class NetworkAction;
 typedef NetworkAction *NetworkActionPtr;
 
@@ -28,21 +27,21 @@ typedef NetworkAction *NetworkActionPtr;
 
 /** @ingroup SURF_callbacks
  * @brief Callbacks handler which emits the callbacks after Link creation
- * @details Callback functions have the following signature: `void(LinkPtr)`
+ * @details Callback functions have the following signature: `void(Link*)`
  */
-XBT_PUBLIC_DATA( surf_callback(void, LinkPtr)) networkLinkCreatedCallbacks;
+XBT_PUBLIC_DATA( surf_callback(void, Link*)) networkLinkCreatedCallbacks;
 
 /** @ingroup SURF_callbacks
  * @brief Callbacks handler which emits the callbacks after Link destruction
- * @details Callback functions have the following signature: `void(LinkPtr)`
+ * @details Callback functions have the following signature: `void(Link*)`
  */
-XBT_PUBLIC_DATA( surf_callback(void, LinkPtr)) networkLinkDestructedCallbacks;
+XBT_PUBLIC_DATA( surf_callback(void, Link*)) networkLinkDestructedCallbacks;
 
 /** @ingroup SURF_callbacks
  * @brief Callbacks handler which emits the callbacks after Link State changed
  * @details Callback functions have the following signature: `void(LinkActionPtr action, e_surf_resource_state_t old, e_surf_resource_state_t current)`
  */
-XBT_PUBLIC_DATA( surf_callback(void, LinkPtr, e_surf_resource_state_t, e_surf_resource_state_t)) networkLinkStateChangedCallbacks;
+XBT_PUBLIC_DATA( surf_callback(void, Link*, e_surf_resource_state_t, e_surf_resource_state_t)) networkLinkStateChangedCallbacks;
 
 /** @ingroup SURF_callbacks
  * @brief Callbacks handler which emits the callbacks after NetworkAction State changed
@@ -106,7 +105,7 @@ public:
    * @param properties Dictionary of properties associated to this Resource
    * @return The created Link
    */
-  virtual LinkPtr createLink(const char *name,
+  virtual Link* createLink(const char *name,
                                    double bw_initial,
                                    tmgr_trace_t bw_trace,
                                    double lat_initial,
@@ -116,7 +115,7 @@ public:
                                    e_surf_link_sharing_policy_t policy,
                                    xbt_dict_t properties)=0;
 
-  virtual void gapAppend(double /*size*/, const LinkPtr /*link*/, NetworkActionPtr /*action*/) {};
+  virtual void gapAppend(double /*size*/, const Link* /*link*/, NetworkActionPtr /*action*/) {};
 
   /**
    * @brief Create a communication between two hosts.
@@ -246,6 +245,12 @@ public:
   /* LMM */
   tmgr_trace_event_t p_stateEvent;
   s_surf_metric_t p_power;
+
+  /* User data */
+  void *getData()        { return userData;}
+  void  setData(void *d) { userData=d;}
+private:
+  void *userData;
 };
 
 /**********