Update FSF address
[lttv.git] / lttv / modules / gui / controlflow / drawing.c
index c53f5f1ac2b23de2c534e335f5765c9485d2584c..51755a23d397f0174c34fc90813acb04d820b21e 100644 (file)
@@ -12,8 +12,8 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, 
- * MA 02111-1307, USA.
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA 02110-1301, USA.
  */
 
 #ifdef HAVE_CONFIG_H
 #include <gdk/gdk.h>
 #include <string.h>
 
-#include <ltt/trace.h>
-
 #include <lttv/lttv.h>
-#ifdef BABEL_CLEANUP
-#include <lttv/tracecontext.h>
-#endif //babel_cleanup
 #include <lttvwindow/lttvwindow.h>
 #include <lttv/state.h>
 #include <lttv/hook.h>
@@ -165,9 +160,7 @@ void drawing_data_request(Drawing_t *drawing,
                                        control_flow_data);
 
   {
-        LttvHooks *event_hook;
-//TODO "fdeslauriers : Is it the right way to get the hooks - july 11 2012"
-       event_hook = lttv_traceset_get_hooks(traceset);
+        LttvHooks *event_hook = lttv_hooks_new();
        g_assert(event_hook);
  
        lttv_hooks_add(event_hook,before_execmode_hook , control_flow_data, LTTV_PRIO_STATE-5);
@@ -189,12 +182,17 @@ void drawing_data_request(Drawing_t *drawing,
        lttv_hooks_add(event_hook,statedump_end , control_flow_data, LTTV_PRIO_STATE);  
        lttv_hooks_add(event_hook,enum_interrupt , control_flow_data, LTTV_PRIO_STATE);
 #endif //babel_cleanup
-       
+       lttv_hooks_add(event_hook, before_trywakeup_hook, control_flow_data, LTTV_PRIO_STATE-5);
+       lttv_hooks_add(event_hook, before_process_exit_hook, control_flow_data, LTTV_PRIO_STATE-5);
+       lttv_hooks_add(event_hook, before_process_release_hook, control_flow_data, LTTV_PRIO_STATE-5);
+       lttv_hooks_add(event_hook, before_statedump_end, control_flow_data, LTTV_PRIO_STATE-5);     
+
+       lttv_hooks_add(event_hook, after_schedchange_hook, control_flow_data, LTTV_PRIO_STATE+5);
+       lttv_hooks_add(event_hook, after_process_fork_hook, control_flow_data, LTTV_PRIO_STATE+5);
+       lttv_hooks_add(event_hook, after_process_exit_hook, control_flow_data, LTTV_PRIO_STATE+5);
+       lttv_hooks_add(event_hook, after_event_enum_process_hook, control_flow_data, LTTV_PRIO_STATE+5);
 
-    guint i, k, nb_trace;
-    LttvTraceState *ts;
-    GArray *hooks;
-    gint first_after;
+    guint i, nb_trace;
 
     nb_trace = lttv_traceset_number(traceset);
     // FIXME  (fixed) : eventually request for more traces
@@ -228,228 +226,7 @@ void drawing_data_request(Drawing_t *drawing,
                      events_request,
                      LTTV_PRIO_DEFAULT);
 
-#ifdef BABEL_CLEANUP
-      ts = (LttvTraceState *)tsc->traces[i];
-
-      /* Find the eventtype id for the following events and register the
-         associated by id hooks. */
-
-      hooks = g_array_sized_new(FALSE, FALSE, sizeof(LttvTraceHook), 18);
-
-      /* before hooks */
-      
-      lttv_trace_find_hook(ts->parent.t,
-          LTT_CHANNEL_KERNEL,
-          LTT_EVENT_SYSCALL_ENTRY,
-          FIELD_ARRAY(LTT_FIELD_SYSCALL_ID),
-          before_execmode_hook,
-          events_request,
-          &hooks);
-
-      lttv_trace_find_hook(ts->parent.t,
-         LTT_CHANNEL_KERNEL,
-         LTT_EVENT_SCHED_TRY_WAKEUP,            
-         FIELD_ARRAY(LTT_FIELD_PID, LTT_FIELD_CPU_ID, LTT_FIELD_STATE),
-         before_trywakeup_hook,
-         events_request,
-         &hooks);
-
-      lttv_trace_find_hook(ts->parent.t,
-          LTT_CHANNEL_KERNEL,
-          LTT_EVENT_SYSCALL_EXIT,
-          NULL,
-          before_execmode_hook,
-          events_request,
-          &hooks);
-
-      lttv_trace_find_hook(ts->parent.t,
-          LTT_CHANNEL_KERNEL,
-          LTT_EVENT_TRAP_ENTRY,
-          FIELD_ARRAY(LTT_FIELD_TRAP_ID),
-          before_execmode_hook,
-          events_request,
-          &hooks);
-
-      lttv_trace_find_hook(ts->parent.t,
-          LTT_CHANNEL_KERNEL,
-          LTT_EVENT_TRAP_EXIT,
-          NULL, 
-          before_execmode_hook,
-          events_request,
-          &hooks);
-
-      lttv_trace_find_hook(ts->parent.t,
-          LTT_CHANNEL_KERNEL,
-          LTT_EVENT_PAGE_FAULT_ENTRY,
-          FIELD_ARRAY(LTT_FIELD_TRAP_ID),
-          before_execmode_hook,
-          events_request,
-          &hooks);
-
-      lttv_trace_find_hook(ts->parent.t,
-          LTT_CHANNEL_KERNEL,
-          LTT_EVENT_PAGE_FAULT_EXIT,
-          NULL, 
-          before_execmode_hook,
-          events_request,
-          &hooks);
-
-      lttv_trace_find_hook(ts->parent.t,
-          LTT_CHANNEL_KERNEL,
-          LTT_EVENT_PAGE_FAULT_NOSEM_ENTRY,
-          FIELD_ARRAY(LTT_FIELD_TRAP_ID),
-          before_execmode_hook,
-          events_request,
-          &hooks);
-
-      lttv_trace_find_hook(ts->parent.t,
-          LTT_CHANNEL_KERNEL,
-          LTT_EVENT_PAGE_FAULT_NOSEM_EXIT,
-          NULL, 
-          before_execmode_hook,
-          events_request,
-          &hooks);
-
-      lttv_trace_find_hook(ts->parent.t,
-          LTT_CHANNEL_KERNEL,
-          LTT_EVENT_IRQ_ENTRY,
-          FIELD_ARRAY(LTT_FIELD_IRQ_ID),
-          before_execmode_hook,
-          events_request,
-          &hooks);
-
-      lttv_trace_find_hook(ts->parent.t,
-          LTT_CHANNEL_KERNEL,
-          LTT_EVENT_IRQ_EXIT,
-          NULL,
-          before_execmode_hook,
-          events_request,
-          &hooks);
-
-      lttv_trace_find_hook(ts->parent.t,
-          LTT_CHANNEL_KERNEL,
-          LTT_EVENT_SOFT_IRQ_ENTRY,
-          FIELD_ARRAY(LTT_FIELD_SOFT_IRQ_ID),
-          before_execmode_hook,
-          events_request,
-          &hooks);
-
-      lttv_trace_find_hook(ts->parent.t,
-          LTT_CHANNEL_KERNEL,
-          LTT_EVENT_SOFT_IRQ_EXIT,
-          NULL,
-          before_execmode_hook,
-          events_request,
-          &hooks);
-
-
-      lttv_trace_find_hook(ts->parent.t,
-          LTT_CHANNEL_KERNEL,
-          LTT_EVENT_SCHED_SCHEDULE,
-          FIELD_ARRAY(LTT_FIELD_PREV_PID, LTT_FIELD_NEXT_PID, LTT_FIELD_PREV_STATE),
-          before_schedchange_hook,
-          events_request,
-          &hooks);
-
-      lttv_trace_find_hook(ts->parent.t,
-          LTT_CHANNEL_KERNEL,
-          LTT_EVENT_PROCESS_EXIT,
-          FIELD_ARRAY(LTT_FIELD_PID),
-          before_process_exit_hook,
-          events_request,
-          &hooks);
-      
-      lttv_trace_find_hook(ts->parent.t,
-          LTT_CHANNEL_KERNEL,
-          LTT_EVENT_PROCESS_FREE,
-          FIELD_ARRAY(LTT_FIELD_PID),
-          before_process_release_hook,
-          events_request,
-          &hooks);
-
-      lttv_trace_find_hook(ts->parent.t,
-          LTT_CHANNEL_GLOBAL_STATE,
-          LTT_EVENT_STATEDUMP_END,
-          NULL,
-          before_statedump_end,
-          events_request,
-          &hooks);
-
-      /* After hooks */
-      first_after = hooks->len;
-      lttv_trace_find_hook(ts->parent.t,
-          LTT_CHANNEL_KERNEL,
-          LTT_EVENT_SCHED_SCHEDULE,
-          FIELD_ARRAY(LTT_FIELD_PREV_PID, LTT_FIELD_NEXT_PID, LTT_FIELD_PREV_STATE),
-          after_schedchange_hook,
-          events_request,
-          &hooks);
-
-      lttv_trace_find_hook(ts->parent.t,
-          LTT_CHANNEL_KERNEL,
-          LTT_EVENT_PROCESS_FORK,
-          FIELD_ARRAY(LTT_FIELD_PARENT_PID, LTT_FIELD_CHILD_PID),
-          after_process_fork_hook,
-          events_request,
-          &hooks);
-
-      lttv_trace_find_hook(ts->parent.t,
-          LTT_CHANNEL_KERNEL,
-          LTT_EVENT_PROCESS_EXIT,
-          FIELD_ARRAY(LTT_FIELD_PID),
-          after_process_exit_hook,
-          events_request,
-          &hooks);
-
-      lttv_trace_find_hook(ts->parent.t,
-          LTT_CHANNEL_FS,
-          LTT_EVENT_EXEC,
-          NULL,
-          after_fs_exec_hook,
-          events_request,
-          &hooks);
-
-      lttv_trace_find_hook(ts->parent.t,
-          LTT_CHANNEL_USERSPACE,
-          LTT_EVENT_THREAD_BRAND,
-          FIELD_ARRAY(LTT_FIELD_NAME),
-          after_user_generic_thread_brand_hook,
-          events_request,
-          &hooks);
-
-      lttv_trace_find_hook(ts->parent.t,
-          LTT_CHANNEL_TASK_STATE,
-          LTT_EVENT_PROCESS_STATE,
-          FIELD_ARRAY(LTT_FIELD_PID, LTT_FIELD_PARENT_PID, LTT_FIELD_NAME),
-          after_event_enum_process_hook,
-          events_request,
-          &hooks);
-
-      
-      /* Add these hooks to each event_by_id_channel hooks list */
-      /* add before */
-      for(k = 0 ; k < first_after ; k++) {
-        th = &g_array_index(hooks, LttvTraceHook, k);
-        lttv_hooks_add(lttv_hooks_by_id_channel_find(event_by_id_channel,
-                                                    th->channel, th->id),
-                        th->h,
-                        th,
-                        LTTV_PRIO_STATE-5);
-      }
-
-      /* add after */
-      for(k = first_after ; k < hooks->len ; k++) {
-        th = &g_array_index(hooks, LttvTraceHook, k);
-        lttv_hooks_add(lttv_hooks_by_id_channel_find(event_by_id_channel,
-                                                    th->channel, th->id),
-                       th->h,
-                       th,
-                       LTTV_PRIO_STATE+5);
-      }
-      
-      events_request->hooks = hooks;
-#endif //babel_cleanup
+
       // Fill the events request
       events_request->owner = control_flow_data;
       events_request->viewer_data = control_flow_data;
This page took 0.024896 seconds and 4 git commands to generate.