#include <ltt/ltt.h>
#include <lttv/hook.h>
#include <lttv/common.h>
+#include <lttv/stats.h>
/**
* Function to register a view constructor so that main window can generate
* @param view_constructor constructor of the viewer.
*/
-void ToolbarItemReg(char ** pixmap, char *tooltip, lttv_constructor view_constructor);
+void toolbar_item_reg(char ** pixmap, char *tooltip, lttv_constructor view_constructor);
/**
* a reference to find out where the pixmap and tooltip are.
*/
-void ToolbarItemUnreg(lttv_constructor view_constructor);
+void toolbar_item_unreg(lttv_constructor view_constructor);
/**
* @param view_constructor constructor of the viewer.
*/
-void MenuItemReg(char *menu_path, char *menu_text, lttv_constructor view_constructor);
+void menu_item_reg(char *menu_path, char *menu_text, lttv_constructor view_constructor);
/**
* a reference to find out where the menu_path and menu_text are.
*/
-void MenuItemUnreg(lttv_constructor 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
- */
-
-// Not Needed : Main window add widget returned by constructor
-//void AttachViewer(mainWindow *main_win, GtkWidget *viewer);
-
-
-/* ?? Maybe we do not need this function, when a widget is destroyed,
- * it will be removed automatically from its container
- */
-// Not needed
-/**
- * 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);
/**
* @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.
*/
-void GetTimeInterval(mainWindow *main_win, TimeInterval *time_interval);
+void get_time_window(MainWindow *main_win, TimeWindow *time_window);
/**
* @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.
* @param time a pointer where time will be stored.
*/
-void GetCurrentTime(mainWindow *main_win, LttTime *time);
+void get_current_time(MainWindow *main_win, LttTime *time);
/**
* @param time a pointer where time is stored.
*/
-void SetCurrentTime(mainWindow *main_win, LttTime *time);
+void set_current_time(MainWindow *main_win, LttTime *time);
/**
* @param traceset a pointer to a traceset.
*/
-//void GetTraceset(mainWindow *main_win, Traceset *traceset);
+//void get_traceset(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 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(LttvHook hook, gpointer 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 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(LttvHook hook, gpointer hook_data,
- mainWindow * main_win);
+void unreg_update_time_window(LttvHook hook, gpointer hook_data,
+ MainWindow * main_win);
/**
* @param main_win the main window the viewer belongs to.
*/
-void RegUpdateTraceset(LttvHook hook, gpointer hook_data,
- mainWindow * main_win);
+void reg_update_traceset(LttvHook hook, gpointer hook_data,
+ MainWindow * main_win);
/**
* @param main_win the main window the viewer belongs to.
*/
-void UnregUpdateTraceset(LttvHook hook, gpointer hook_data,
- mainWindow * main_win);
+void unreg_update_traceset(LttvHook hook, gpointer hook_data,
+ MainWindow * main_win);
+
+
+/**
+ * Function to redraw each viewer belonging to the current tab
+ * @param main_win the main window the viewer belongs to.
+ */
+
+void update_traceset(MainWindow * main_win);
/**
* @param main_win the main window the viewer belongs to.
*/
-void RegUpdateFilter(LttvHook hook, gpointer hook_data,
- mainWindow *main_win);
+void reg_update_filter(LttvHook hook, gpointer hook_data,
+ MainWindow *main_win);
/**
* @param main_win the main window the viewer belongs to.
*/
-void UnregUpdateFilter(LttvHook hook, gpointer hook_data,
- mainWindow * main_win);
+void unreg_update_filter(LttvHook hook, gpointer hook_data,
+ MainWindow * main_win);
/**
* @param main_win the main window the viewer belongs to.
*/
-void RegUpdateCurrentTime(LttvHook hook, gpointer hook_data,
- mainWindow *main_win);
+void reg_update_current_time(LttvHook hook, gpointer hook_data,
+ MainWindow *main_win);
/**
* @param main_win the main window the viewer belongs to.
*/
-void UnregUpdateCurrentTime(LttvHook hook, gpointer hook_data,
- mainWindow * main_win);
+void unreg_update_current_time(LttvHook hook, gpointer hook_data,
+ MainWindow * main_win);
+
+
+/**
+ * Function to register a hook function for a viewer to show
+ *the content of the viewer.
+ * 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_show_viewer(LttvHook hook, gpointer hook_data,
+ MainWindow *main_win);
+
+
+/**
+ * Function to unregister a viewer's hook function which is used to
+ * show the content 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_show_viewer(LttvHook hook, gpointer hook_data,
+ MainWindow * main_win);
+
+
+/**
+ * Function to show each viewer in the current tab.
+ * It will be called by main window after it called process_traceset
+ * @param main_win the main window the viewer belongs to.
+ */
+
+void show_viewer(MainWindow *main_win);
/**
* @param paned a pointer to a pane where the viewer is contained.
*/
-void SetFocusedPane(mainWindow *main_win, gpointer paned);
+void set_focused_pane(MainWindow *main_win, gpointer paned);
/**
* @param main_win the main window the viewer belongs to.
*/
-void RegUpdateDividor(LttvHook hook, gpointer hook_data,
- mainWindow *main_win);
+void reg_update_dividor(LttvHook hook, gpointer hook_data,
+ MainWindow *main_win);
/**
* @param main_win the main window the viewer belongs to.
*/
-void UnregUpdateDividor(LttvHook hook, gpointer hook_data,
- mainWindow *main_win);
+void unreg_update_dividor(LttvHook hook, gpointer hook_data,
+ MainWindow *main_win);
/**
* @param position position of the hpane's dividor.
*/
-void SetHPaneDividor(mainWindow *main_win, gint position);
+void set_hpane_dividor(MainWindow *main_win, gint position);
/**
* @param end the end time of the last event to be processed.
*/
-void processTraceset(mainWindow *main_win, LttTime start,
- LttTime end, unsigned maxNumEvents);
+void process_traceset_api(MainWindow *main_win, LttTime start,
+ LttTime end, unsigned maxNumEvents);
/**
* @param LttvHooks hooks to be registered.
*/
-void contextAddHooks(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);
+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);
/**
* @param LttvHooks hooks to be registered.
*/
-void contextRemoveHooks(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);
+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);
+LttvTracesetContext* get_traceset_context(MainWindow *main_win);