Documentation:
[lttv.git] / ltt / branches / poly / lttv / modules / text / batchAnalysis.c
index df17c092b87384d12fbdd88d899ee4061f793ee9..bae1abcb5ec36fc9d80d89b7a93bd21c28899f4b 100644 (file)
@@ -28,6 +28,7 @@
 #include <lttv/tracecontext.h>
 #include <lttv/state.h>
 #include <lttv/stats.h>
+#include <lttv/filter.h>
 #include <ltt/trace.h>
 
 static LttvTraceset *traceset;
@@ -46,6 +47,8 @@ static char *a_trace;
 
 static gboolean a_stats;
 
+LttvFilter *a_lttv_filter;
+
 void lttv_trace_option(void *hook_data)
 { 
   LttTrace *trace;
@@ -58,6 +61,10 @@ void lttv_trace_option(void *hook_data)
 
 static gboolean process_traceset(void *hook_data, void *call_data)
 {
+  LttvAttributeValue value;
+
+  LttvIAttribute *attributes = LTTV_IATTRIBUTE(lttv_global_attributes());
+
   LttvTracesetStats *tscs;
 
   LttvTracesetContext *tc;
@@ -75,6 +82,14 @@ static gboolean process_traceset(void *hook_data, void *call_data)
   lttv_state_add_event_hooks(&tscs->parent);
   if(a_stats) lttv_stats_add_event_hooks(tscs);
 
+  g_assert(lttv_iattribute_find_by_path(attributes, "filter/expression",
+      LTTV_POINTER, &value));
+
+  a_lttv_filter = lttv_filter_new();
+  g_debug("Filter string: %s",((GString*)*(value.v_pointer))->str);
+  
+  g_assert(lttv_filter_append_expression(a_lttv_filter,((GString*)*(value.v_pointer))->str));
+  
   //lttv_traceset_context_add_hooks(tc,
   //before_traceset, after_traceset, NULL, before_trace, after_trace,
   //NULL, before_tracefile, after_tracefile, NULL, before_event, after_event);
@@ -110,6 +125,7 @@ static gboolean process_traceset(void *hook_data, void *call_data)
                             event_hook,
                             NULL);
 
+  lttv_filter_destroy(a_lttv_filter);
   lttv_state_remove_event_hooks(&tscs->parent);
   if(a_stats) lttv_stats_remove_event_hooks(tscs);
   lttv_context_fini(tc);
@@ -223,4 +239,4 @@ static void destroy()
 
 LTTV_MODULE("batchAnalysis", "Batch processing of a trace", \
     "Run through a trace calling all the registered hooks", \
-    init, destroy, "state", "stats", "option")
+    init, destroy, "state", "stats", "option","textFilter")
This page took 0.023376 seconds and 4 git commands to generate.