X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Flttv%2Fmodules%2Fgui%2Fcontrolflow%2Fmodule.c;h=dd99d1302348a0237ef803ac4cb5d1fd361885e1;hb=1c736ed5fd25e728fa1df0899be03c4853c556d8;hp=871668dc97337eb773ebc412fce3a796068519df;hpb=ce0214a66f4e1c6f4d94d53c1ead65b58157c60d;p=lttv.git diff --git a/ltt/branches/poly/lttv/modules/gui/controlflow/module.c b/ltt/branches/poly/lttv/modules/gui/controlflow/module.c index 871668dc..dd99d130 100644 --- a/ltt/branches/poly/lttv/modules/gui/controlflow/module.c +++ b/ltt/branches/poly/lttv/modules/gui/controlflow/module.c @@ -26,7 +26,7 @@ * * This plugin adds a Control Flow Viewer functionnality to Linux TraceToolkit * GUI when this plugin is loaded. The init and destroy functions add the - * viewer's insertion menu item and toolbar icon by calling gtkTraceSet's + * viewer's insertion menu item and toolbar icon by calling viewer.h's * API functions. Then, when a viewer's object is created, the constructor * creates ans register through API functions what is needed to interact * with the TraceSet window. @@ -37,28 +37,20 @@ * 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 -#include +#include #include "cfv.h" #include "eventhooks.h" -#include "../icons/hGuiControlFlowInsert.xpm" - -static LttvModule *Main_Win_Module; - +#include "hGuiControlFlowInsert.xpm" /** Array containing instanced objects. Used when module is unloaded */ GSList *g_control_flow_data_list = NULL ; - - /***************************************************************************** * Functions for module loading/unloading * *****************************************************************************/ @@ -68,25 +60,17 @@ GSList *g_control_flow_data_list = NULL ; * This function initializes the Control Flow Viewer functionnality through the * gtkTraceSet API. */ -G_MODULE_EXPORT void init(LttvModule *self, int argc, char *argv[]) { +static void init() { - 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 */ - toolbar_item_reg(hGuiControlFlowInsert_xpm, "Insert Control Flow Viewer", - h_guicontrolflow); - - /* Register the menu item insert entry */ - menu_item_reg("/", "Insert Control Flow Viewer", h_guicontrolflow); - + /* Register the toolbar insert button and menu entry*/ + lttvwindow_register_constructor("guicontrolflow", + "/", + "Insert Control Flow Viewer", + hGuiControlFlowInsert_xpm, + "Insert Control Flow Viewer", + h_guicontrolflow); } void destroy_walk(gpointer data, gpointer user_data) @@ -103,18 +87,18 @@ void destroy_walk(gpointer data, gpointer user_data) * This function releases the memory reserved by the module and unregisters * everything that has been registered in the gtkTraceSet API. */ -G_MODULE_EXPORT void destroy() { +static void destroy() { g_info("GUI Control Flow Viewer destroy()"); - int i; g_slist_foreach(g_control_flow_data_list, destroy_walk, NULL ); g_slist_free(g_control_flow_data_list); - /* Unregister the toolbar insert button */ - toolbar_item_unreg(h_guicontrolflow); - - /* Unregister the menu item insert entry */ - menu_item_unreg(h_guicontrolflow); - + /* Unregister the toolbar insert button and menu entry */ + lttvwindow_unregister_constructor(h_guicontrolflow); } + + +LTTV_MODULE("guicontrolflow", "Control flow viewer", \ + "Graphical module to view processes state and control flow", \ + init, destroy, "lttvwindow")