X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Flttv%2Fmodules%2Fgui%2Fcontrolflow%2Feventhooks.h;h=d1d9714e5b48f9093235bdeb36515deb14c64cc1;hb=b3fd4c02566c71add135fbc715fddafc9b03b141;hp=d9f3560589b2aabda1e78ae6ccd1e4fb7ab401a3;hpb=88feb618dc79481733516a77f285bb6514bb1d17;p=lttv.git diff --git a/ltt/branches/poly/lttv/modules/gui/controlflow/eventhooks.h b/ltt/branches/poly/lttv/modules/gui/controlflow/eventhooks.h index d9f35605..d1d9714e 100644 --- a/ltt/branches/poly/lttv/modules/gui/controlflow/eventhooks.h +++ b/ltt/branches/poly/lttv/modules/gui/controlflow/eventhooks.h @@ -1,4 +1,23 @@ -/* eventhooks.c defines the hooks that are given to processTrace as parameter. +/* This file is part of the Linux Trace Toolkit viewer + * Copyright (C) 2003-2004 Mathieu Desnoyers + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License Version 2 as + * published by the Free Software Foundation; + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * 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. + */ + + +/* eventhooks.h defines the hooks that are given to processTrace as parameter. * These hooks call the drawing API to draw the information on the screen, * using information from Context, but mostly state (running, waiting...). */ @@ -8,7 +27,7 @@ #define _EVENT_HOOKS_H #include -#include +#include #include #include "processlist.h" @@ -21,16 +40,16 @@ * library call, then used by the drawing hooks. Then, once all the events are * sent, it is freed by the hook called after the reading. */ -typedef struct _EventRequest -{ - ControlFlowData *control_flow_data; - LttTime time_begin, time_end; - gint x_begin, x_end; +//typedef struct _EventRequest +//{ +// ControlFlowData *control_flow_data; +// LttTime time_begin, time_end; +// gint x_begin, x_end; /* Fill the Events_Context during the initial expose, before calling for * events. */ //GArray Events_Context; //FIXME -} EventRequest ; +//} EventRequest ; @@ -38,20 +57,17 @@ typedef struct _EventRequest void send_test_data(ProcessList *process_list, Drawing_t *drawing); -GtkWidget *h_guicontrolflow(MainWindow *mw, LttvTracesetSelector * s, char * key); +GtkWidget *h_guicontrolflow(Tab *tab); -int event_selected_hook(void *hook_data, void *call_data); +GtkWidget *h_legend(Tab *tab); -/* Hook called before drawing. Gets the initial context at the beginning of the - * drawing interval and copy it to the context in event_request. - */ -int draw_before_hook(void *hook_data, void *call_data); +int event_selected_hook(void *hook_data, void *call_data); /* * The draw event hook is called by the reading API to have a * particular event drawn on the screen. * @param hook_data ControlFlowData structure of the viewer. - * @param call_data Event context. + * @param call_data Event context with state. * * This function basically draw lines and icons. Two types of lines are drawn : * one small (3 pixels?) representing the state of the process and the second @@ -67,19 +83,39 @@ int draw_before_hook(void *hook_data, void *call_data); * The choice of lines'color is defined by the context of the last event for this * process. */ -int draw_event_hook(void *hook_data, void *call_data); +int before_schedchange_hook(void *hook_data, void *call_data); +int after_schedchange_hook(void *hook_data, void *call_data); +int before_execmode_hook(void *hook_data, void *call_data); +int after_execmode_hook(void *hook_data, void *call_data); + + +int before_process_exit_hook(void *hook_data, void *call_data); +int before_process_release_hook(void *hook_data, void *call_data); +int after_process_exit_hook(void *hook_data, void *call_data); +int after_process_fork_hook(void *hook_data, void *call_data); +int after_fs_exec_hook(void *hook_data, void *call_data); +int after_event_enum_process_hook(void *hook_data, void *call_data); -int draw_after_hook(void *hook_data, void *call_data); +#if 0 +int before_process_hook(void *hook_data, void *call_data); +int after_process_hook(void *hook_data, void *call_data); +#endif //0 void draw_closure(gpointer key, gpointer value, gpointer user_data); -int after_data_request(void *hook_data, void *call_data); +int before_chunk(void *hook_data, void *call_data); +int after_chunk(void *hook_data, void *call_data); +int before_request(void *hook_data, void *call_data); +int after_request(void *hook_data, void *call_data); + gint update_time_window_hook(void *hook_data, void *call_data); gint update_current_time_hook(void *hook_data, void *call_data); +gint traceset_notify(void *hook_data, void *call_data); +gint redraw_notify(void *hook_data, void *call_data); +gint continue_notify(void *hook_data, void *call_data); - - +void legend_destructor(GtkWindow *legend); #endif // _EVENT_HOOKS_H