*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston,
- * MA 02111-1307, USA.
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
*/
/*
*/
#include <gtk/gtk.h>
-#include <ltt/ltt.h>
-#include <ltt/time.h>
+#include <lttv/traceset.h>
#include <lttv/hook.h>
-#include <lttv/tracecontext.h>
+#ifdef BABEL_CLEANUP
#include <lttv/stats.h>
#include <lttv/filter.h>
+#endif /* BABEL_CLEANUP */
#include <lttvwindow/mainwindow.h>
#include <lttvwindow/lttv_plugin.h>
LttvHook hook,
gpointer hook_data);
+/**
+ * Function to register a hook function that will be called by the main window
+ * when the time span of the traceset is updated.
+ *
+ * This register function is typically called by the constructor of the viewer.
+ *
+ * @param tab the tab the viewer belongs to.
+ * @param hook hook that sould be called by the main window when the time
+ * interval changes.
+ * @param hook_data hook data associated with the hook function. It will
+ * be typically a pointer to the viewer's data structure.
+ */
+void lttvwindow_register_timespan_notify(Tab *tab,
+ LttvHook hook,
+ gpointer hook_data);
+
+/**
+ * Function to unregister the time_span notification hook.
+ *
+ * This unregister function is typically called by the destructor of the viewer.
+ *
+ * @param tab the tab the viewer belongs to.
+ * @param hook hook that sould be called by the main window when the time
+ * interval changes.
+ * @param hook_data hook data associated with the hook function. It will
+ * be typically a pointer to the viewer's data structure.
+ */
+void lttvwindow_unregister_timespan_notify(Tab *tab,
+ LttvHook hook,
+ gpointer hook_data);
/**
* Function to register a hook function that will be called by the main window
*/
void lttvwindow_report_current_position(Tab *tab,
- LttvTracesetContextPosition *pos);
+ LttvTracesetPosition *pos);
/**
* Function to set the position of the hpane's dividor (viewer).
gpointer viewer_data; /* Unset : NULL */
gboolean servicing; /* service in progress: TRUE*/
LttTime start_time; /* Unset : ltt_time_infinite*/
- LttvTracesetContextPosition *start_position; /* Unset : NULL */
+ LttvTracesetPosition *start_position; /* Unset : NULL */
gboolean stop_flag; /* Continue:TRUE Stop:FALSE */
LttTime end_time; /* Unset : ltt_time_infinite*/
guint num_events; /* Unset : G_MAXUINT */
- LttvTracesetContextPosition *end_position; /* Unset : NULL */
+ LttvTracesetPosition *end_position; /* Unset : NULL */
gint trace; /* unset : -1 */
GArray *hooks; /* Unset : NULL */
LttvHooks *before_chunk_traceset; /* Unset : NULL */
LttvHooks *before_chunk_trace; /* Unset : NULL */
LttvHooks *before_chunk_tracefile;/* Unset : NULL */
LttvHooks *event; /* Unset : NULL */
- LttvHooksByIdChannelArray *event_by_id_channel;/* Unset : NULL */
LttvHooks *after_chunk_tracefile; /* Unset : NULL */
LttvHooks *after_chunk_trace; /* Unset : NULL */
LttvHooks *after_chunk_traceset; /* Unset : NULL */
} EventsRequest;
/* Maximum number of events to proceed at once in a chunk */
-#define CHUNK_NUM_EVENTS 6000
+// TODO ybrosseau, temporarly disable the chunking of event request
+// to solve a bug in the event state stability
+#define CHUNK_NUM_EVENTS G_MAXUINT
/**
void lttvwindow_report_filter(Tab *tab, LttvFilter *filter);
-
+#ifdef BABEL_CLEANUP
/**
* Function to get the stats of the traceset
*/
LttvTracesetStats* lttvwindow_get_traceset_stats(Tab *tab);
+#endif /*BABEL_CLEANUP*/
-/**
- * Function to get the context of the traceset
- * It must be non const so the viewer can add and remove hooks from it.
- * @param tab the tab the viewer belongs to.
- * @return Context of the current tab.
- */
-
-
-LttvTracesetContext* lttvwindow_get_traceset_context(Tab *tab);
-
+LttvTraceset* lttvwindow_get_traceset(Tab *tab);
/* set_time_window
*
GtkWidget *main_window_get_widget(Tab *tab);
-void set_current_position(Tab *tab, const LttvTracesetContextPosition *pos);
+void set_current_position(Tab *tab, const LttvTracesetPosition *pos);
/**
void current_position_change_manager(Tab *tab,
- LttvTracesetContextPosition *pos);
+ LttvTracesetPosition *pos);
#endif //LTTVWINDOW_H