Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
mark as const a method that is pure
[simgrid.git] / src / surf / trace_mgr.hpp
index 617c6bd..ee06f3b 100644 (file)
@@ -71,7 +71,7 @@ typedef struct tmgr_trace {
 typedef struct tmgr_trace_iterator {
   tmgr_trace_t trace;
   unsigned int idx;
-  void *resource;
+  sg_resource_t resource;
   int free_me;
 } s_tmgr_trace_event_t;
 
@@ -83,11 +83,11 @@ XBT_PUBLIC(void) tmgr_trace_free(tmgr_trace_t trace);
 /**
  * \brief Free a trace event structure
  *
- * This function frees a trace_event if it can be freed, ie, if it has the free_me flag set to 1. This flag indicates whether the structure is still used somewhere or not.
- * \param  trace_event    Trace event structure
- * \return 1 if the structure was freed, 0 otherwise
+ * This function frees a trace_event if it can be freed, ie, if it has the free_me flag set to 1.
+ * This flag indicates whether the structure is still used somewhere or not.
+ * When the structure is freed, the argument is set to nullptr
 */
-XBT_PUBLIC(int) tmgr_trace_event_free(tmgr_trace_iterator_t trace_event);
+XBT_PUBLIC(void) tmgr_trace_event_unref(tmgr_trace_iterator_t *trace_event);
 
 XBT_PUBLIC(void) tmgr_finalize(void);
 
@@ -103,13 +103,9 @@ XBT_PUBLIC_CLASS future_evt_set {
 public:
   future_evt_set();
   virtual ~future_evt_set();
-  double next_date();
-  tmgr_trace_iterator_t pop_leq(double date, double *value, void** resource);
-  tmgr_trace_iterator_t add_trace(
-      tmgr_trace_t trace,
-      double start_time,
-      unsigned int offset,
-      void *model);
+  double next_date() const;
+  tmgr_trace_iterator_t pop_leq(double date, double *value, simgrid::surf::Resource** resource);
+  tmgr_trace_iterator_t add_trace(tmgr_trace_t trace, double start_time, simgrid::surf::Resource *resource);
 
 private:
   // TODO: use a boost type for the heap (or a ladder queue)