Enable support for opening multiple trace
[lttv.git] / lttv / lttv / traceset.h
index 462fb99aa2081340247cf169ea2ed834613243d5..4f326fd8286adace26304ee19a80aae7ffda6e4e 100644 (file)
@@ -43,8 +43,13 @@ struct _LttvTraceset {
        LttvHooks *event_hooks;
        struct bt_ctf_iter *iter;
        GPtrArray *state_trace_handle_index;
+       gboolean has_precomputed_states;
+       TimeInterval time_span;
+       char *common_path;
 };
 
+#define TRACE_NAME_SIZE 100
+
 struct _LttvTrace {
        // Trace id for babeltrace
        LttvTraceset *traceset;         /* container traceset */
@@ -52,12 +57,16 @@ struct _LttvTrace {
        LttvAttribute *a;
        guint ref_count;
        LttvTraceState *state;
+       char short_name[TRACE_NAME_SIZE];
+       char *full_path;
 };
 
 /* In babeltrace, the position concept is an iterator. */
 struct _LttvTracesetPosition {
        struct bt_ctf_iter *iter;
        struct bt_iter_pos *bt_pos;
+        guint64 timestamp;
+        int cpu_id;
 };
 
 /* Tracesets may be added to, removed from and their content listed. */
@@ -84,6 +93,7 @@ gint lttv_traceset_save(LttvTraceset *s);
 
 void lttv_traceset_destroy(LttvTraceset *s);
 
+LttvHooks *lttv_traceset_get_hooks(LttvTraceset *s);
 
 void lttv_traceset_add(LttvTraceset *s, LttvTrace *t);
 
@@ -106,6 +116,10 @@ LttvTrace *lttv_traceset_get(LttvTraceset *s, unsigned i);
 
 void lttv_traceset_remove(LttvTraceset *s, unsigned i);
 
+int lttv_traceset_get_trace_index_from_event(LttvEvent *event);
+
+int lttv_traceset_get_trace_index_from_handle_id(LttvTraceset *ts, int handle_id);
+
 /* An attributes table is attached to the set and to each trace in the set. */
 
 LttvAttribute *lttv_traceset_attribute(LttvTraceset *s);
@@ -136,8 +150,14 @@ 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.023782 seconds and 4 git commands to generate.