X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=lttv%2Fmodules%2Fgui%2Flttvwindow%2Flttvwindow%2Flttvwindow.h;h=e96a0a3a4b99f96ff9fa2d3a314b158dca9f7ebd;hb=b9ce0bad7daf7c0a2333c91fdb1e35d602afe17f;hp=30fa5c6aabc7e1ac06a081a0ae98f26c44bc13c7;hpb=f61f4dca50e13aa52b1ca3941c8f420848f4353f;p=lttv.git diff --git a/lttv/modules/gui/lttvwindow/lttvwindow/lttvwindow.h b/lttv/modules/gui/lttvwindow/lttvwindow/lttvwindow.h index 30fa5c6a..e96a0a3a 100644 --- a/lttv/modules/gui/lttvwindow/lttvwindow/lttvwindow.h +++ b/lttv/modules/gui/lttvwindow/lttvwindow/lttvwindow.h @@ -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. */ /* @@ -252,12 +252,12 @@ FIXME : explain other important events */ #include -#include -#include +#include #include -#include +#ifdef BABEL_CLEANUP #include #include +#endif /* BABEL_CLEANUP */ #include #include @@ -361,6 +361,36 @@ void lttvwindow_unregister_time_window_notify(Tab *tab, LttvHook hook, gpointer hook_data); +/** + * Function to register a hook function that will be called by the main window + * when the time span of the traceset is updated. + * + * This register function is typically called by the constructor of the viewer. + * + * @param tab the tab the viewer belongs to. + * @param hook hook that sould be called by the main window when the time + * interval changes. + * @param hook_data hook data associated with the hook function. It will + * be typically a pointer to the viewer's data structure. + */ +void lttvwindow_register_timespan_notify(Tab *tab, + LttvHook hook, + gpointer hook_data); + +/** + * Function to unregister the time_span notification hook. + * + * This unregister function is typically called by the destructor of the viewer. + * + * @param tab the tab the viewer belongs to. + * @param hook hook that sould be called by the main window when the time + * interval changes. + * @param hook_data hook data associated with the hook function. It will + * be typically a pointer to the viewer's data structure. + */ +void lttvwindow_unregister_timespan_notify(Tab *tab, + LttvHook hook, + gpointer hook_data); /** * Function to register a hook function that will be called by the main window @@ -633,7 +663,7 @@ void lttvwindow_report_current_time(Tab *tab, */ void lttvwindow_report_current_position(Tab *tab, - LttvTracesetContextPosition *pos); + LttvTracesetPosition *pos); /** * Function to set the position of the hpane's dividor (viewer). @@ -654,18 +684,17 @@ typedef struct _EventsRequest { gpointer viewer_data; /* Unset : NULL */ gboolean servicing; /* service in progress: TRUE*/ LttTime start_time; /* Unset : ltt_time_infinite*/ - LttvTracesetContextPosition *start_position; /* Unset : NULL */ + LttvTracesetPosition *start_position; /* Unset : NULL */ gboolean stop_flag; /* Continue:TRUE Stop:FALSE */ LttTime end_time; /* Unset : ltt_time_infinite*/ guint num_events; /* Unset : G_MAXUINT */ - LttvTracesetContextPosition *end_position; /* Unset : NULL */ + LttvTracesetPosition *end_position; /* Unset : NULL */ gint trace; /* unset : -1 */ GArray *hooks; /* Unset : NULL */ LttvHooks *before_chunk_traceset; /* Unset : NULL */ LttvHooks *before_chunk_trace; /* Unset : NULL */ LttvHooks *before_chunk_tracefile;/* Unset : NULL */ LttvHooks *event; /* Unset : NULL */ - LttvHooksByIdChannelArray *event_by_id_channel;/* Unset : NULL */ LttvHooks *after_chunk_tracefile; /* Unset : NULL */ LttvHooks *after_chunk_trace; /* Unset : NULL */ LttvHooks *after_chunk_traceset; /* Unset : NULL */ @@ -674,7 +703,9 @@ typedef struct _EventsRequest { } EventsRequest; /* Maximum number of events to proceed at once in a chunk */ -#define CHUNK_NUM_EVENTS 6000 +// TODO ybrosseau, temporarly disable the chunking of event request +// to solve a bug in the event state stability +#define CHUNK_NUM_EVENTS G_MAXUINT /** @@ -776,7 +807,7 @@ LttTime lttvwindow_get_current_time(Tab *tab); void lttvwindow_report_filter(Tab *tab, LttvFilter *filter); - +#ifdef BABEL_CLEANUP /** * Function to get the stats of the traceset @@ -787,17 +818,9 @@ void lttvwindow_report_filter(Tab *tab, LttvFilter *filter); */ LttvTracesetStats* lttvwindow_get_traceset_stats(Tab *tab); +#endif /*BABEL_CLEANUP*/ -/** - * Function to get the context of the traceset - * It must be non const so the viewer can add and remove hooks from it. - * @param tab the tab the viewer belongs to. - * @return Context of the current tab. - */ - - -LttvTracesetContext* lttvwindow_get_traceset_context(Tab *tab); - +LttvTraceset* lttvwindow_get_traceset(Tab *tab); /* set_time_window * @@ -828,7 +851,7 @@ void events_request_free(EventsRequest *events_request); GtkWidget *main_window_get_widget(Tab *tab); -void set_current_position(Tab *tab, const LttvTracesetContextPosition *pos); +void set_current_position(Tab *tab, const LttvTracesetPosition *pos); /** @@ -851,6 +874,6 @@ static inline void lttvwindow_events_request_enable(void) void current_position_change_manager(Tab *tab, - LttvTracesetContextPosition *pos); + LttvTracesetPosition *pos); #endif //LTTVWINDOW_H