X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;ds=sidebyside;f=ltt%2Fbranches%2Fpoly%2Finclude%2Flttv%2FgtkTraceSet.h;h=f1df34367030be6f26bb4f7d13942d869f43ce7d;hb=41a769851adc36c024821e859ed6569409f71d8f;hp=739c09a67be051930733d3f8ce0d6c70f9fdeae7;hpb=f5b7ddd06ac58f2a1e070df5ba96a296eb95b1ef;p=lttv.git diff --git a/ltt/branches/poly/include/lttv/gtkTraceSet.h b/ltt/branches/poly/include/lttv/gtkTraceSet.h index 739c09a6..f1df3436 100644 --- a/ltt/branches/poly/include/lttv/gtkTraceSet.h +++ b/ltt/branches/poly/include/lttv/gtkTraceSet.h @@ -1,147 +1,129 @@ -/** - * Main window (main module) is the place to contain and display viewers. - * Viewers (lttv modules) interacter with main window though API of the - * main window and hooks of itself. +/*! \file gtkTraceSet.h + * \brief API used by the graphical viewers to interact with their top window. + * + * Main window (gui module) is the place to contain and display viewers. + * Viewers (lttv plugins) interacte with main window through this API and + * events sent by gtk. * This header file should be included in each graphic module. + * This library is used by graphical modules to interact with the + * tracesetWindow. + * */ #include #include #include +#include +#include /** * Function to register a view constructor so that main window can generate * a toolbar item for the viewer in order to generate a new instance easily. * It will be called by init function of the module. - * @param pixmap, pixmap shown on the toolbar item. - * @param tooltip, tooltip of the toolbar item. - * @view_constructor, constructor of the viewer. + * @param ButtonPixmap image shown on the toolbar item. + * @param tooltip tooltip of the toolbar item. + * @param view_constructor constructor of the viewer. */ -void ToolbarItemReg(GdkPixmap *pixmap, char *tooltip, void *view_constructor); +void toolbar_item_reg(char ** pixmap, char *tooltip, lttv_constructor view_constructor); /** * Function to unregister the viewer's constructor, release the space * occupied by pixmap, tooltip and constructor of the viewer. * It will be called when a module is unloaded. - * @param view_constructor, constructor of the viewer which is used as + * @param view_constructor constructor of the viewer which is used as * a reference to find out where the pixmap and tooltip are. */ -void ToolbarItemUnreg(void *view_constructor); +void toolbar_item_unreg(lttv_constructor view_constructor); /** * Function to register a view constructor so that main window can generate * a menu item for the viewer in order to generate a new instance easily. * It will be called by init function of the module. - * @param menu_path, path of the menu item. - * @param menu_text, text of the menu item. - * @view_constructor, constructor of the viewer. + * @param menu_path path of the menu item. + * @param menu_text text of the menu item. + * @param view_constructor constructor of the viewer. */ -void MenuItemReg(char *menu_path, char *menu_text, void *view_constructor); +void menu_item_reg(char *menu_path, char *menu_text, lttv_constructor view_constructor); /** * Function to unregister the viewer's constructor, release the space * occupied by menu_path, menu_text and constructor of the viewer. * It will be called when a module is unloaded. - * @param view_constructor, constructor of the viewer which is used as + * @param view_constructor constructor of the viewer which is used as * a reference to find out where the menu_path and menu_text are. */ -void MenuItemUnreg(void *view_constructor); - - -/** - * Attach a viewer to the current tab. - * It will be called in the constructor of the viewer. - * @param main_win, the main window the viewer belongs to. - * @param viewer, viewer to be attached to the current tab - */ - -void AttachViewer(MainWindow *main_win, GtkWidget *viewer); - - -/* ?? Maybe we do not need this function, when a widget is destoried, - * it will be removed automatically from its container - */ - -/** - * Detach a viewer from the current tab. - * It will be called in the destructor of the viewer. - * @param main_win, the main window the viewer belongs to. - * @param viewer, viewer to be detached from the current tab. - */ - -void DetachViewer(MainWindow *main_win, GtkWidget *viewer); +void menu_item_unreg(lttv_constructor view_constructor); /** * Update the status bar whenever something changed in the viewer. - * @param main_win, the main window the viewer belongs to. - * @param info, the message which will be shown in the status bar. + * @param main_win the main window the viewer belongs to. + * @param info the message which will be shown in the status bar. */ -void UpdateStatus(MainWindow *main_win, char *info); +void update_status(MainWindow *main_win, char *info); /** - * Function to get the current time interval of the current tab. + * Function to get the current time window of the current tab. * It will be called by a viewer's hook function to update the - * time interval of the viewer and also be called by the constructor + * time window of the viewer and also be called by the constructor * of the viewer. - * @param main_win, the main window the viewer belongs to. - * @param time_interval, a pointer where time interval will be stored. + * @param main_win the main window the viewer belongs to. + * @param time_interval a pointer where time interval will be stored. */ -void GetTimeInterval(MainWindow *main_win, TimeInterval *time_interval); +void get_time_window(MainWindow *main_win, TimeWindow *time_window); /** * Function to set the time interval of the current tab. * It will be called by a viewer's signal handle associated with * the move_slider signal - * @param main_win, the main window the viewer belongs to. - * @param time_interval, a pointer where time interval is stored. + * @param main_win the main window the viewer belongs to. + * @param time_interval a pointer where time interval is stored. */ -void SetTimeInterval(MainWindow *main_win, TimeInterval *time_interval); - +void set_time_window(MainWindow *main_win, TimeWindow *time_window); /** * Function to get the current time/event of the current tab. * It will be called by a viewer's hook function to update the * current time/event of the viewer. - * @param main_win, the main window the viewer belongs to. - * @param ltt_time, a pointer where time will be stored. + * @param main_win the main window the viewer belongs to. + * @param time a pointer where time will be stored. */ -void GetCurrentTime(MainWindow *main_win, ltt_time *time); +void get_current_time(MainWindow *main_win, LttTime *time); /** * Function to set the current time/event of the current tab. * It will be called by a viewer's signal handle associated with * the button-release-event signal - * @param main_win, the main window the viewer belongs to. - * @param ltt_time, a pointer where time is stored. + * @param main_win the main window the viewer belongs to. + * @param time a pointer where time is stored. */ -void SetCurrentTime(MainWindow *main_win, ltt_time *time); +void set_current_time(MainWindow *main_win, LttTime *time); /** * Function to get the traceset from the current tab. * It will be called by the constructor of the viewer and also be * called by a hook funtion of the viewer to update its traceset. - * @param main_win, the main window the viewer belongs to. - * @param traceset, a pointer to a traceset. + * @param main_win the main window the viewer belongs to. + * @param traceset a pointer to a traceset. */ -void GetTraceset(MainWindow *main_win, Traceset *traceset); +//void get_traceset(MainWindow *main_win, Traceset *traceset); /** @@ -152,45 +134,45 @@ void GetTraceset(MainWindow *main_win, Traceset *traceset); * @param filter, a pointer to a filter. */ -void GetFilter(MainWindow *main_win, Filter *filter); +//void get_filter(MainWindow *main_win, Filter *filter); /** * Function to register a hook function for a viewer to set/update its * time interval. * It will be called by the constructor of the viewer. - * @param hook, hook function of the viewer. - * @param hook_data, hook data associated with the hook function. - * @param main_win, the main window the viewer belongs to. + * @param hook hook function of the viewer. Takes a TimeInterval* as call_data. + * @param hook_data hook data associated with the hook function. + * @param main_win the main window the viewer belongs to. */ -void RegUpdateTimeInterval(lttv_hook *hook, TimeInterval *hook_data, - MainWindow * main_win); +void reg_update_time_window(LttvHook hook, gpointer hook_data, + MainWindow * main_win); /** * Function to unregister a viewer's hook function which is used to * set/update the time interval of the viewer. * It will be called by the destructor of the viewer. - * @param hook, hook function of the viewer. - * @param hook_data, hook data associated with the hook function. - * @param main_win, the main window the viewer belongs to. + * @param hook hook function of the viewer. Takes a TimeInterval as call_data. + * @param hook_data hook data associated with the hook function. + * @param main_win the main window the viewer belongs to. */ -void UnregUpdateTimeInterval(lttv_hook *hook, TimeInterval *hook_data, - MainWindow * main_win); +void unreg_update_time_window(LttvHook hook, gpointer hook_data, + MainWindow * main_win); /** * Function to register a hook function for a viewer to set/update its * traceset. * It will be called by the constructor of the viewer. - * @param hook, hook function of the viewer. - * @param hook_data, hook data associated with the hook function. - * @param main_win, the main window the viewer belongs to. + * @param hook hook function of the viewer. + * @param hook_data hook data associated with the hook function. + * @param main_win the main window the viewer belongs to. */ -void RegUpdateTraceset(lttv_hook *hook, Traceset *hook_data, +void reg_update_traceset(LttvHook hook, gpointer hook_data, MainWindow * main_win); @@ -198,12 +180,12 @@ void RegUpdateTraceset(lttv_hook *hook, Traceset *hook_data, * Function to unregister a viewer's hook function which is used to * set/update the traceset of the viewer. * It will be called by the destructor of the viewer. - * @param hook, hook function of the viewer. - * @param hook_data, hook data associated with the hook function. - * @param main_win, the main window the viewer belongs to. + * @param hook hook function of the viewer. + * @param hook_data hook data associated with the hook function. + * @param main_win the main window the viewer belongs to. */ -void UnregUpdateTraceset(lttv_hook *hook, Traceset *hook_data, +void unreg_update_traceset(LttvHook hook, gpointer hook_data, MainWindow * main_win); @@ -211,12 +193,12 @@ void UnregUpdateTraceset(lttv_hook *hook, Traceset *hook_data, * Function to register a hook function for a viewer to set/update its * filter. * It will be called by the constructor of the viewer. - * @param hook, hook function of the viewer. - * @param hook_data, hook data associated with the hook function. - * @param main_win, the main window the viewer belongs to. + * @param hook hook function of the viewer. + * @param hook_data hook data associated with the hook function. + * @param main_win the main window the viewer belongs to. */ -void RegUpdateFilter(lttv_hook *hook, Filter *hook_data, +void reg_update_filter(LttvHook hook, gpointer hook_data, MainWindow *main_win); @@ -224,12 +206,12 @@ void RegUpdateFilter(lttv_hook *hook, Filter *hook_data, * Function to unregister a viewer's hook function which is used to * set/update the filter of the viewer. * It will be called by the destructor of the viewer. - * @param hook, hook function of the viewer. - * @param hook_data, hook data associated with the hook function. - * @param main_win, the main window the viewer belongs to. + * @param hook hook function of the viewer. + * @param hook_data hook data associated with the hook function. + * @param main_win the main window the viewer belongs to. */ -void UnregUpdateFilter(lttv_hook *hook, Filter *hook_data, +void unreg_update_filter(LttvHook hook, gpointer hook_data, MainWindow * main_win); @@ -237,12 +219,12 @@ void UnregUpdateFilter(lttv_hook *hook, Filter *hook_data, * Function to register a hook function for a viewer to set/update its * current time. * It will be called by the constructor of the viewer. - * @param hook, hook function of the viewer. - * @param hook_data, hook data associated with the hook function. - * @param main_win, the main window the viewer belongs to. + * @param hook hook function of the viewer. + * @param hook_data hook data associated with the hook function. + * @param main_win the main window the viewer belongs to. */ -void RegUpdateCurrentTime(lttv_hook *hook, ltt_time *hook_data, +void reg_update_current_time(LttvHook hook, gpointer hook_data, MainWindow *main_win); @@ -250,12 +232,150 @@ void RegUpdateCurrentTime(lttv_hook *hook, ltt_time *hook_data, * Function to unregister a viewer's hook function which is used to * set/update the current time of the viewer. * It will be called by the destructor of the viewer. - * @param hook, hook function of the viewer. - * @param hook_data, hook data associated with the hook function. - * @param main_win, the main window the viewer belongs to. + * @param hook hook function of the viewer. + * @param hook_data hook data associated with the hook function. + * @param main_win the main window the viewer belongs to. */ -void UnregUpdateCurrentTime(lttv_hook *hook, ltt_time *hook_data, +void unreg_update_current_time(LttvHook hook, gpointer hook_data, MainWindow * main_win); +/** + * Function to set the focused pane (viewer). + * It will be called by a viewer's signal handle associated with + * the grab_focus signal + * @param main_win the main window the viewer belongs to. + * @param paned a pointer to a pane where the viewer is contained. + */ + +void set_focused_pane(MainWindow *main_win, gpointer paned); + + +/** + * Function to register a hook function for a viewer to set/update the + * dividor of the hpane. + * It will be called by the constructor of the viewer. + * @param hook hook function of the viewer. + * @param hook_data hook data associated with the hook function. + * @param main_win the main window the viewer belongs to. + */ + +void reg_update_dividor(LttvHook hook, gpointer hook_data, + MainWindow *main_win); + + +/** + * Function to unregister a viewer's hook function which is used to + * set/update hpane's dividor of the viewer. + * It will be called by the destructor of the viewer. + * @param hook hook function of the viewer. + * @param hook_data hook data associated with the hook function. + * @param main_win the main window the viewer belongs to. + */ + +void unreg_update_dividor(LttvHook hook, gpointer hook_data, + MainWindow *main_win); + + +/** + * Function to set the position of the hpane's dividor (viewer). + * It will be called by a viewer's signal handle associated with + * the motion_notify_event event/signal + * @param main_win the main window the viewer belongs to. + * @param position position of the hpane's dividor. + */ + +void set_hpane_dividor(MainWindow *main_win, gint position); + + +/** + * Function to process traceset. It will call lttv_process_trace, + * each view will call this api to get events. + * @param main_win the main window the viewer belongs to. + * @param start the start time of the first event to be processed. + * @param end the end time of the last event to be processed. + */ + +void process_traceset_api(MainWindow *main_win, LttTime start, + LttTime end, unsigned maxNumEvents); + + +/** + * Function to add hooks into the context of a traceset, + * before reading events from traceset, viewer will call this api to + * register hooks + * @param main_win the main window the viewer belongs to. + * @param LttvHooks hooks to be registered. + */ + +void context_add_hooks_api(MainWindow *main_win , + LttvHooks *before_traceset, + LttvHooks *after_traceset, + LttvHooks *check_trace, + LttvHooks *before_trace, + LttvHooks *after_trace, + LttvHooks *check_tracefile, + LttvHooks *before_tracefile, + LttvHooks *after_tracefile, + LttvHooks *check_event, + LttvHooks *before_event, + LttvHooks *after_event); + + +/** + * Function to remove hooks from the context of a traceset, + * before reading events from traceset, viewer will call this api to + * unregister hooks + * @param main_win the main window the viewer belongs to. + * @param LttvHooks hooks to be registered. + */ + +void context_remove_hooks_api(MainWindow *main_win , + LttvHooks *before_traceset, + LttvHooks *after_traceset, + LttvHooks *check_trace, + LttvHooks *before_trace, + LttvHooks *after_trace, + LttvHooks *check_tracefile, + LttvHooks *before_tracefile, + LttvHooks *after_tracefile, + LttvHooks *check_event, + LttvHooks *before_event, + LttvHooks *after_event); + + +/** + * Function to get the life span of the traceset + * @param main_win the main window the viewer belongs to. + * @param start start time of the traceset. + * @param end end time of the traceset. + */ + +void get_traceset_time_span(MainWindow *main_win, TimeInterval *time_span); + + +/** + * Function to add/remove event hooks for state + * @param main_win the main window the viewer belongs to. + */ + +void state_add_event_hooks_api(MainWindow *main_win ); +void state_remove_event_hooks_api(MainWindow *main_win ); + + +/** + * Function to add/remove event hooks for stats + * @param main_win the main window the viewer belongs to. + */ + +void stats_add_event_hooks_api(MainWindow *main_win ); +void stats_remove_event_hooks_api(MainWindow *main_win ); + + +/** + * Function to get the stats of the traceset + * @param main_win the main window the viewer belongs to. + */ + +LttvTracesetStats* get_traceset_stats_api(MainWindow *main_win);