X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Flttv%2Fmodules%2FguiControlFlow%2Fmodule.c;h=dde25f283597eeb642b45cfc133e77e510b14553;hb=90ffd2adca8a23a36f3a9b7279f40797907723de;hp=b25ebcfecdb40d6c6e8ccf7dc1a3d394697f6a5b;hpb=f0d936c08dae39e9a913357a49885b4937aca847;p=lttv.git diff --git a/ltt/branches/poly/lttv/modules/guiControlFlow/module.c b/ltt/branches/poly/lttv/modules/guiControlFlow/module.c index b25ebcfe..dde25f28 100644 --- a/ltt/branches/poly/lttv/modules/guiControlFlow/module.c +++ b/ltt/branches/poly/lttv/modules/guiControlFlow/module.c @@ -17,6 +17,10 @@ * Author : Mathieu Desnoyers, June 2003 */ +#define g_info(format...) g_log (G_LOG_DOMAIN, G_LOG_LEVEL_INFO, format) +#define g_debug(format...) g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, format) + +#include #include #include #include @@ -24,6 +28,17 @@ #include "CFV.h" #include "Event_Hooks.h" + #include "../icons/hGuiControlFlowInsert.xpm" + +static LttvModule *Main_Win_Module; + + +/** Array containing instanced objects. Used when module is unloaded */ +GSList *gControl_Flow_Data_List = NULL ; + + + + /***************************************************************************** * Functions for module loading/unloading * *****************************************************************************/ @@ -33,20 +48,31 @@ * This function initializes the Control Flow Viewer functionnality through the * gtkTraceSet API. */ -G_MODULE_EXPORT void init() { - g_critical("GUI ControlFlow Viewer init()"); +G_MODULE_EXPORT void init(LttvModule *self, int argc, char *argv[]) { + + Main_Win_Module = lttv_module_require(self, "mainwin", argc, argv); + + if(Main_Win_Module == NULL) + { + g_critical("Can't load Control Flow Viewer : missing mainwin\n"); + return; + } + + g_info("GUI ControlFlow Viewer init()"); /* Register the toolbar insert button */ - ToolbarItemReg(guiEventsInsert_xpm, "Insert Control Flow Viewer", guiEvent); + toolbar_item_reg(hGuiControlFlowInsert_xpm, "Insert Control Flow Viewer", + h_guicontrolflow); /* Register the menu item insert entry */ - MenuItemReg("/", "Insert Control Flow Viewer", guiEvent); + menu_item_reg("/", "Insert Control Flow Viewer", h_guicontrolflow); } void destroy_walk(gpointer data, gpointer user_data) { - GuiControlFlow_Destructor((ControlFlowData*)data); + g_info("Walk destroy GUI Control Flow Viewer"); + guicontrolflow_destructor_full((ControlFlowData*)data); } @@ -58,19 +84,17 @@ void destroy_walk(gpointer data, gpointer user_data) * everything that has been registered in the gtkTraceSet API. */ G_MODULE_EXPORT void destroy() { - g_critical("GUI Control Flow Viewer destroy()"); + g_info("GUI Control Flow Viewer destroy()"); int i; - ControlFlowData *Control_Flow_Data; + g_slist_foreach(gControl_Flow_Data_List, destroy_walk, NULL ); - g_critical("GUI Event Viewer destroy()"); + g_slist_free(gControl_Flow_Data_List); - g_slist_foreach(sControl_Flow_Data_List, destroy_walk, NULL ); - /* Unregister the toolbar insert button */ - //ToolbarItemUnreg(hGuiEvents); + toolbar_item_unreg(h_guicontrolflow); /* Unregister the menu item insert entry */ - //MenuItemUnreg(hGuiEvents); + menu_item_unreg(h_guicontrolflow); + } -