X-Git-Url: https://git.liburcu.org/?a=blobdiff_plain;f=lttv%2Fmodules%2Fgui%2Flttvwindow%2Flttvwindow%2Flttvwindow.h;h=e3c497aeee06300e279b4667cd991722aa787c1e;hb=a17029f3de3777937d4f7b441c5d3ba7ca3d47e7;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..e3c497ae 100644 --- a/lttv/modules/gui/lttvwindow/lttvwindow/lttvwindow.h +++ b/lttv/modules/gui/lttvwindow/lttvwindow/lttvwindow.h @@ -254,10 +254,12 @@ FIXME : explain other important events #include #include #include +#include #include -#include +#ifdef BABEL_CLEANUP #include #include +#endif /* BABEL_CLEANUP */ #include #include @@ -361,6 +363,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 +665,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 +686,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 +705,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 +809,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 +820,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 +853,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 +876,6 @@ static inline void lttvwindow_events_request_enable(void) void current_position_change_manager(Tab *tab, - LttvTracesetContextPosition *pos); + LttvTracesetPosition *pos); #endif //LTTVWINDOW_H