#include <gtk/gtk.h>
#include <ltt/ltt.h>
#include <lttv/hook.h>
+#include <lttv/common.h>
+#include <lttv/stats.h>
#include <lttv/mainWindow.h>
/**
* @param view_constructor constructor of the viewer.
*/
-void ToolbarItemReg(GdkPixmap * pixmap, char *tooltip, void *view_constructor);
+void ToolbarItemReg(char ** pixmap, char *tooltip, lttv_constructor view_constructor);
/**
* a reference to find out where the pixmap and tooltip are.
*/
-void ToolbarItemUnreg(void *view_constructor);
+void ToolbarItemUnreg(lttv_constructor view_constructor);
/**
* @param view_constructor constructor of the viewer.
*/
-void MenuItemReg(char *menu_path, char *menu_text, void *view_constructor);
+void MenuItemReg(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(void *view_constructor);
+void MenuItemUnreg(lttv_constructor view_constructor);
/**
/**
- * 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 GetTimeWindow(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 SetTimeWindow(mainWindow *main_win, TimeWindow *Time_Window);
+/**
+ * Function to get the time span of the main window's traceset.
+ */
+void GetTracesetTimeSpan(mainWindow *main_win, TimeInterval *Time_Interval);
/**
* Function to get the current time/event of the current tab.
* 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.
*/
* 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.
*/
* @param end the end time of the last event to be processed.
*/
-void processTraceset(mainWindow *main_win, LttTime start, LttTime end);
+void processTraceset(mainWindow *main_win, LttTime start,
+ LttTime end, unsigned maxNumEvents);
/**
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 getTracesetTimeSpan(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 stateAddEventHooks(mainWindow *main_win );
+void stateRemoveEventHooks(mainWindow *main_win );
+
+
+/**
+ * Function to add/remove event hooks for stats
+ * @param main_win the main window the viewer belongs to.
+ */
+
+void statsAddEventHooks(mainWindow *main_win );
+void statsRemoveEventHooks(mainWindow *main_win );
+
+
+/**
+ * Function to get the stats of the traceset
+ * @param main_win the main window the viewer belongs to.
+ */
+
+LttvTracesetStats* getTracesetStats(mainWindow *main_win);