Reactivate state checkpoints
[lttv.git] / lttv / lttv / traceset.h
index 6af2e39cbb7eba0a26a89b59e7ce47989f892d34..a5923c5d843d158da90ed7851285bde8625923fb 100644 (file)
@@ -23,6 +23,7 @@
 #include <lttv/hook.h>
 #include <lttv/event.h>
 #include <ltt/ltt.h>
+#include <ltt/time.h>
 #include <lttv/trace.h>
 /* A traceset is a set of traces to be analyzed together. */
 
@@ -42,6 +43,7 @@ struct _LttvTraceset {
        LttvHooks *event_hooks;
        struct bt_ctf_iter *iter;
        GPtrArray *state_trace_handle_index;
+       gboolean has_precomputed_states;
 };
 
 struct _LttvTrace {
@@ -110,19 +112,39 @@ void lttv_traceset_remove(LttvTraceset *s, unsigned i);
 LttvAttribute *lttv_traceset_attribute(LttvTraceset *s);
 
 /* Take a position snapshot */
-LttvTracesetPosition *lttv_traceset_create_position(LttvTraceset *traceset);
+LttvTracesetPosition *lttv_traceset_create_current_position(LttvTraceset *traceset);
 
 /* Destroy position snapshot */
 void lttv_traceset_destroy_position(LttvTracesetPosition *traceset_pos);
 
-void lttv_traceset_seek_to_position(LttvTracesetPosition *traceset_pos);
+void lttv_traceset_seek_to_position(const LttvTracesetPosition *traceset_pos);
 
 guint lttv_traceset_get_cpuid_from_event(LttvEvent *event);
 /* Returns the minimum timestamp of the traces in the traceset */
 guint64 lttv_traceset_get_timestamp_begin(LttvTraceset *traceset);
 /* Returns the maximum timestamp of the traces in the traceset */
 guint64 lttv_traceset_get_timestamp_end(LttvTraceset *traceset);
+/* Return a TimeInterval from timestamp of the first event to the last event [experimentale]*/
+TimeInterval lttv_traceset_get_time_span_real(LttvTraceset *ts);
+/* Returns a TimeInterval struct that represents the min and max of the traceset */
+TimeInterval lttv_traceset_get_time_span(LttvTraceset *traceset);
 
 const char *lttv_traceset_get_name_from_event(LttvEvent *event);
 
+LttvTracesetPosition *lttv_traceset_create_time_position(LttvTraceset *ts, LttTime timestamp);
+
+guint64 lttv_traceset_position_get_timestamp(const LttvTracesetPosition *pos);
+
+LttTime  lttv_traceset_position_get_time(const LttvTracesetPosition *pos);
+
+LttTime lttv_traceset_get_current_time(const LttvTraceset *ts);
+
+int lttv_traceset_position_compare(const LttvTracesetPosition *pos1, const LttvTracesetPosition *pos2);
+
+int lttv_traceset_position_time_compare(const LttvTracesetPosition *pos1, 
+                                       const LttvTracesetPosition *pos2);
+
+int lttv_traceset_position_compare_current(const LttvTraceset *ts, 
+                                          const LttvTracesetPosition *pos);
+
 #endif // TRACESET_H
This page took 0.02292 seconds and 4 git commands to generate.