From: compudj Date: Fri, 30 May 2003 18:04:04 +0000 (+0000) Subject: lttv headers in /include X-Git-Tag: v0.12.20~3441 X-Git-Url: https://git.lttng.org./?a=commitdiff_plain;h=d7b45e739b4894081ff68a641ab1568983e01e6d;p=lttv.git lttv headers in /include git-svn-id: http://ltt.polymtl.ca/svn@48 04897980-b3bd-0310-b5e0-8ef037075253 --- diff --git a/ltt/branches/poly/Makefile.am b/ltt/branches/poly/Makefile.am index f3ef35c7..e55d48a8 100644 --- a/ltt/branches/poly/Makefile.am +++ b/ltt/branches/poly/Makefile.am @@ -1 +1 @@ -SUBDIRS = lttv lttd ltt +SUBDIRS = lttv lttd ltt include diff --git a/ltt/branches/poly/configure.in b/ltt/branches/poly/configure.in index 785020ad..00a5ae9b 100644 --- a/ltt/branches/poly/configure.in +++ b/ltt/branches/poly/configure.in @@ -57,5 +57,8 @@ AC_CONFIG_FILES([Makefile lttv/plugins/Makefile lttv/plugins/exemples/Makefile lttd/Makefile - ltt/Makefile]) + ltt/Makefile + include/Makefile + include/ltt/Makefile + include/lttv/Makefile]) AC_OUTPUT diff --git a/ltt/branches/poly/include/lttv/hook.h b/ltt/branches/poly/include/lttv/hook.h new file mode 100644 index 00000000..71a0a139 --- /dev/null +++ b/ltt/branches/poly/include/lttv/hook.h @@ -0,0 +1,43 @@ +#ifndef HOOK_H +#define HOOK_H + +#include + +/* A hook is a function to call with the supplied hook data, and with + call site specific data (e.g., hooks for events are called with a + pointer to the current event). */ + +typedef void (*lttv_hook)(void *hook_data, void *call_data); + + +/* A list of hooks allows registering hooks to be called later. */ + +typedef GArray _lttv_hooks; +typedef _lttv_hooks lttv_hooks; + +lttv_hooks *lttv_hooks_new(); + +void lttv_hooks_destroy(lttv_hooks *h); + +void lttv_hooks_add(lttv_hooks *h, lttv_hook f, void *hook_data); + +void lttv_hooks_call(lttv_hooks *h, void *call_data); + + +/* Sometimes different hooks need to be called based on the case. The + case is represented by an unsigned integer id and may represent different + event types, for instance. */ + +typedef GPtrArray _lttv_hooks_by_id; +typedef _lttv_hooks_by_id lttv_hooks_by_id; + +lttv_hooks_by_id *lttv_hooks_by_id_new(); + +void lttv_hooks_by_id_destroy(lttv_hooks_by_id *h); + +void lttv_hooks_by_id_add(lttv_hooks_by_id *h, lttv_hook f, void *hook_data, + unsigned int id); + +void lttv_hooks_by_id_call(lttv_hooks_by_id *h, void *call_data, unsigned int id); + +#endif // HOOK_H diff --git a/ltt/branches/poly/include/lttv/module.h b/ltt/branches/poly/include/lttv/module.h new file mode 100644 index 00000000..5d1c3bae --- /dev/null +++ b/ltt/branches/poly/include/lttv/module.h @@ -0,0 +1,83 @@ +#ifndef MODULES_H +#define MODULES_H + +#include + +/* lttv modules are shared object files, to be loaded dynamically, which + interact with the main module to provide additional capabilities. They + typically register hooks to be called at various places, read and add + global or trace attributes, and add menu items and tabbed windows to the + graphical user interface. Both the hooks lists and the menus and windows + are accessed as global attributes. */ + + +/* Each lttv module must define a function named "init" with + the following signature. The init function may itself load pre-requisite + modules using lttv_module_load. + + It should also define a function named "destroy", which free the + resources reserved during execution. + + Most modules will not use the command line arguments passed as init + arguments. It is easier to simply register command line options + to be parsed by the main module. However, some modules + may require an "early access" to these arguments, for example a embedded + python interpreter module which needs to know the modules written in + python to load. */ + +/* Initial draft by Michel Dagenais May 2003 + * Reworked by Mathieu Desnoyers, May 2003 + */ + +/* index_standalone is the index of the module in the modulesStanalone array. + * If the module is only loaded "DEPENDANT", index is -1. + */ + +typedef struct lttv_module_info_ { + GModule *module; + char *name; + char *directory; + char *pathname; + guint ref_count; + gint index_standalone; +} lttv_module_info; + +/* Loading type of modules : + * STANDALONE : the program takes care of unloading the moduels + * DEPENDANT : The module that load this module is required to unload + * it in it's destroy function. + */ + +typedef enum _loadtype +{ STANDALONE, DEPENDANT +} loadtype; + +typedef void (*lttv_module_load_init)(int argc, char **argv) ; + + +/* Load (if not already loaded) the named module. The init function of the + module is executed upon loading. */ + +lttv_module_info *lttv_module_load(const char *name, int argc, char **argv,loadtype); + + + +/* Unload (if already loaded) the named module. The destroy function of the + module is executed before unloading. */ + +typedef void (*lttv_module_unload_destroy)() ; + +int lttv_module_unload_pathname(const char *pathname,loadtype) ; + +int lttv_module_unload_name(const char *name,loadtype) ; + +int lttv_module_unload(lttv_module_info *moduleInfo,loadtype); + +/* Unload all the modules */ +void lttv_module_unload_all(); + +/* Additional module search paths may be defined. */ + +void lttv_module_path_add(const char *name); + +#endif // MODULES_H diff --git a/ltt/branches/poly/include/lttv/traceWindow.h b/ltt/branches/poly/include/lttv/traceWindow.h new file mode 100644 index 00000000..739c09a6 --- /dev/null +++ b/ltt/branches/poly/include/lttv/traceWindow.h @@ -0,0 +1,261 @@ +/** + * 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. + * This header file should be included in each graphic module. + */ + +#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. + */ + +void ToolbarItemReg(GdkPixmap *pixmap, char *tooltip, void *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 + * a reference to find out where the pixmap and tooltip are. + */ + +void ToolbarItemUnreg(void *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. + */ + +void MenuItemReg(char *menu_path, char *menu_text, void *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 + * 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); + + +/** + * 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. + */ + +void UpdateStatus(MainWindow *main_win, char *info); + + +/** + * Function to get the current time interval 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 + * of the viewer. + * @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); + + +/** + * 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. + */ + +void SetTimeInterval(MainWindow *main_win, TimeInterval *time_interval); + + +/** + * 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. + */ + +void GetCurrentTime(MainWindow *main_win, ltt_time *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. + */ + +void SetCurrentTime(MainWindow *main_win, ltt_time *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. + */ + +void GetTraceset(MainWindow *main_win, Traceset *traceset); + + +/** + * Function to get the filter of 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 filter. + * @param main_win, the main window the viewer belongs to. + * @param filter, a pointer to a filter. + */ + +void GetFilter(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. + */ + +void RegUpdateTimeInterval(lttv_hook *hook, TimeInterval *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. + */ + +void UnregUpdateTimeInterval(lttv_hook *hook, TimeInterval *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. + */ + +void RegUpdateTraceset(lttv_hook *hook, Traceset *hook_data, + MainWindow * main_win); + + +/** + * 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. + */ + +void UnregUpdateTraceset(lttv_hook *hook, Traceset *hook_data, + MainWindow * main_win); + + +/** + * 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. + */ + +void RegUpdateFilter(lttv_hook *hook, Filter *hook_data, + MainWindow *main_win); + + +/** + * 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. + */ + +void UnregUpdateFilter(lttv_hook *hook, Filter *hook_data, + MainWindow * main_win); + + +/** + * 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. + */ + +void RegUpdateCurrentTime(lttv_hook *hook, ltt_time *hook_data, + MainWindow *main_win); + + +/** + * 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. + */ + +void UnregUpdateCurrentTime(lttv_hook *hook, ltt_time *hook_data, + MainWindow * main_win); + + diff --git a/ltt/branches/poly/lttv/Makefile.am b/ltt/branches/poly/lttv/Makefile.am index 4b51df44..4f930b09 100644 --- a/ltt/branches/poly/lttv/Makefile.am +++ b/ltt/branches/poly/lttv/Makefile.am @@ -8,5 +8,3 @@ bin_PROGRAMS = textui textui_SOURCES = main.c module.c option.c hook.c attribute.c \ attribute.h lttv.h module.h option.h trace.h - -lttvinclude_HEADERS = traceWindow.h module.h hook.h diff --git a/ltt/branches/poly/lttv/hook.h b/ltt/branches/poly/lttv/hook.h deleted file mode 100644 index 71a0a139..00000000 --- a/ltt/branches/poly/lttv/hook.h +++ /dev/null @@ -1,43 +0,0 @@ -#ifndef HOOK_H -#define HOOK_H - -#include - -/* A hook is a function to call with the supplied hook data, and with - call site specific data (e.g., hooks for events are called with a - pointer to the current event). */ - -typedef void (*lttv_hook)(void *hook_data, void *call_data); - - -/* A list of hooks allows registering hooks to be called later. */ - -typedef GArray _lttv_hooks; -typedef _lttv_hooks lttv_hooks; - -lttv_hooks *lttv_hooks_new(); - -void lttv_hooks_destroy(lttv_hooks *h); - -void lttv_hooks_add(lttv_hooks *h, lttv_hook f, void *hook_data); - -void lttv_hooks_call(lttv_hooks *h, void *call_data); - - -/* Sometimes different hooks need to be called based on the case. The - case is represented by an unsigned integer id and may represent different - event types, for instance. */ - -typedef GPtrArray _lttv_hooks_by_id; -typedef _lttv_hooks_by_id lttv_hooks_by_id; - -lttv_hooks_by_id *lttv_hooks_by_id_new(); - -void lttv_hooks_by_id_destroy(lttv_hooks_by_id *h); - -void lttv_hooks_by_id_add(lttv_hooks_by_id *h, lttv_hook f, void *hook_data, - unsigned int id); - -void lttv_hooks_by_id_call(lttv_hooks_by_id *h, void *call_data, unsigned int id); - -#endif // HOOK_H diff --git a/ltt/branches/poly/lttv/module.h b/ltt/branches/poly/lttv/module.h deleted file mode 100644 index 5d1c3bae..00000000 --- a/ltt/branches/poly/lttv/module.h +++ /dev/null @@ -1,83 +0,0 @@ -#ifndef MODULES_H -#define MODULES_H - -#include - -/* lttv modules are shared object files, to be loaded dynamically, which - interact with the main module to provide additional capabilities. They - typically register hooks to be called at various places, read and add - global or trace attributes, and add menu items and tabbed windows to the - graphical user interface. Both the hooks lists and the menus and windows - are accessed as global attributes. */ - - -/* Each lttv module must define a function named "init" with - the following signature. The init function may itself load pre-requisite - modules using lttv_module_load. - - It should also define a function named "destroy", which free the - resources reserved during execution. - - Most modules will not use the command line arguments passed as init - arguments. It is easier to simply register command line options - to be parsed by the main module. However, some modules - may require an "early access" to these arguments, for example a embedded - python interpreter module which needs to know the modules written in - python to load. */ - -/* Initial draft by Michel Dagenais May 2003 - * Reworked by Mathieu Desnoyers, May 2003 - */ - -/* index_standalone is the index of the module in the modulesStanalone array. - * If the module is only loaded "DEPENDANT", index is -1. - */ - -typedef struct lttv_module_info_ { - GModule *module; - char *name; - char *directory; - char *pathname; - guint ref_count; - gint index_standalone; -} lttv_module_info; - -/* Loading type of modules : - * STANDALONE : the program takes care of unloading the moduels - * DEPENDANT : The module that load this module is required to unload - * it in it's destroy function. - */ - -typedef enum _loadtype -{ STANDALONE, DEPENDANT -} loadtype; - -typedef void (*lttv_module_load_init)(int argc, char **argv) ; - - -/* Load (if not already loaded) the named module. The init function of the - module is executed upon loading. */ - -lttv_module_info *lttv_module_load(const char *name, int argc, char **argv,loadtype); - - - -/* Unload (if already loaded) the named module. The destroy function of the - module is executed before unloading. */ - -typedef void (*lttv_module_unload_destroy)() ; - -int lttv_module_unload_pathname(const char *pathname,loadtype) ; - -int lttv_module_unload_name(const char *name,loadtype) ; - -int lttv_module_unload(lttv_module_info *moduleInfo,loadtype); - -/* Unload all the modules */ -void lttv_module_unload_all(); - -/* Additional module search paths may be defined. */ - -void lttv_module_path_add(const char *name); - -#endif // MODULES_H diff --git a/ltt/branches/poly/lttv/traceWindow.h b/ltt/branches/poly/lttv/traceWindow.h deleted file mode 100644 index 739c09a6..00000000 --- a/ltt/branches/poly/lttv/traceWindow.h +++ /dev/null @@ -1,261 +0,0 @@ -/** - * 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. - * This header file should be included in each graphic module. - */ - -#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. - */ - -void ToolbarItemReg(GdkPixmap *pixmap, char *tooltip, void *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 - * a reference to find out where the pixmap and tooltip are. - */ - -void ToolbarItemUnreg(void *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. - */ - -void MenuItemReg(char *menu_path, char *menu_text, void *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 - * 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); - - -/** - * 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. - */ - -void UpdateStatus(MainWindow *main_win, char *info); - - -/** - * Function to get the current time interval 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 - * of the viewer. - * @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); - - -/** - * 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. - */ - -void SetTimeInterval(MainWindow *main_win, TimeInterval *time_interval); - - -/** - * 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. - */ - -void GetCurrentTime(MainWindow *main_win, ltt_time *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. - */ - -void SetCurrentTime(MainWindow *main_win, ltt_time *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. - */ - -void GetTraceset(MainWindow *main_win, Traceset *traceset); - - -/** - * Function to get the filter of 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 filter. - * @param main_win, the main window the viewer belongs to. - * @param filter, a pointer to a filter. - */ - -void GetFilter(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. - */ - -void RegUpdateTimeInterval(lttv_hook *hook, TimeInterval *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. - */ - -void UnregUpdateTimeInterval(lttv_hook *hook, TimeInterval *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. - */ - -void RegUpdateTraceset(lttv_hook *hook, Traceset *hook_data, - MainWindow * main_win); - - -/** - * 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. - */ - -void UnregUpdateTraceset(lttv_hook *hook, Traceset *hook_data, - MainWindow * main_win); - - -/** - * 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. - */ - -void RegUpdateFilter(lttv_hook *hook, Filter *hook_data, - MainWindow *main_win); - - -/** - * 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. - */ - -void UnregUpdateFilter(lttv_hook *hook, Filter *hook_data, - MainWindow * main_win); - - -/** - * 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. - */ - -void RegUpdateCurrentTime(lttv_hook *hook, ltt_time *hook_data, - MainWindow *main_win); - - -/** - * 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. - */ - -void UnregUpdateCurrentTime(lttv_hook *hook, ltt_time *hook_data, - MainWindow * main_win); - -