detailedevents: make it work again
[lttv.git] / ltt / branches / poly / lttv / lttv / tracecontext.h
index eb9e15bec9222b092712aed1b87f475db7c4070c..ed1d28d6d35840cde0f85df1bbe165bce2198b9b 100644 (file)
@@ -23,7 +23,7 @@
 #include <lttv/attribute.h>
 #include <lttv/hook.h>
 #include <ltt/ltt.h>
-#include <ltt/markers.h>
+#include <ltt/marker.h>
 
 /* This is the generic part of trace processing. All events within a
    certain time interval are accessed and processing hooks are called for
@@ -279,13 +279,12 @@ typedef struct _LttvTraceHook {
   gpointer hook_data;
 } LttvTraceHook;
 
-#define FIELD_ARRAY(val) ((GQuark[]){ (val), 0 })
-
 /* Get the head of marker list correcponding to the given trace hook.
  */
 struct marker_info *lttv_trace_hook_get_marker(LttTrace *t, LttvTraceHook *th);
 
-void lttv_trace_hook_destroy(GArray *th);
+/* Remove the hooks from the array. Does not free the array itself. */
+void lttv_trace_hook_remove_all(GArray **th);
 
 /* Search in the trace for the id of the named event type within the named
    facility. Then, find the three (if non null) named fields. All that
@@ -293,11 +292,21 @@ void lttv_trace_hook_destroy(GArray *th);
    is useful to find the specific id for an event within a trace, for
    registering a hook using this structure as event data;
    it already contains the (up to three) needed fields handles.
-   Returns an array of LttvTraceHook, or NULL on error.
+   Returns the modified LttvTraceHook array.
+   Prints warnings if events or markers are not found. returns 1 on error,
+   0 on success.
+   Adds the hooks to the trace_hooks array.
  */
 
-GArray *lttv_trace_find_hook(LttTrace *t, GQuark marker_name,
-    GQuark fields[], LttvHook h, gpointer hook_data);
+int lttv_trace_find_hook(LttTrace *t, GQuark facility_name, GQuark event_name,
+    GQuark fields[], LttvHook h, gpointer hook_data, GArray **trace_hooks);
+
+static inline struct marker_field *
+lttv_trace_get_hook_field(LttvTraceHook *hook, unsigned int index)
+{
+       return g_ptr_array_index(hook->fields, index);
+}
+
 
 LttvTracefileContext *lttv_traceset_context_get_current_tfc(
                              LttvTracesetContext *self);
@@ -365,5 +374,6 @@ guint lttv_process_traceset_seek_n_backward(LttvTracesetContext *self,
                                            LttvFilter *filter3,
                                            gpointer data);
 
+#define FIELD_ARRAY(val...) ((GQuark[]){ val, 0 })
 
 #endif // PROCESSTRACE_H
This page took 0.023138 seconds and 4 git commands to generate.