#include <ltt/ltt.h>
#include <lttv/lttv.h>
#include <lttv/state.h>
+#ifdef BABEL_CLEANUP
#include <lttv/stats.h>
-#include <lttv/tracecontext.h>
+#endif /* BABEL_CLEANUP */
#include <lttvwindow/mainwindow.h>
#include <lttvwindow/mainwindow-private.h>
#include <lttvwindow/lttvwindow.h>
* This is called whenever the current time value changes.
*/
-void set_current_position(Tab *tab, const LttvTracesetContextPosition *pos)
+void set_current_position(Tab *tab, const LttvTracesetPosition *pos)
{
+ #ifdef BABEL_CLEANUP
+
LttvAttributeValue value;
LttvHooks * tmp;
gboolean retval;
if (tmp != NULL) {
lttv_hooks_call(tmp, (void *) pos);
}
+#endif /*BABEL_CLEANUP*/
}
void add_toolbar_constructor(MainWindow *mw, LttvToolbarClosure *toolbar_c)
lttv_hooks_remove_data(tmp, hook, hook_data);
}
+/**
+ * Function to register a hook function for a viewer to set/update its
+ * allowed time span.
+ * @param tab viewer's tab
+ * @param hook hook function of the viewer.
+ * @param hook_data hook data associated with the hook function.
+ */
+__EXPORT void lttvwindow_register_timespan_notify(Tab *tab,
+ LttvHook hook, gpointer hook_data)
+{
+ LttvAttributeValue value;
+ LttvHooks * tmp;
+ gboolean retval;
+
+ retval= lttv_iattribute_find_by_path(tab->attributes,
+ "hooks/updatetimespan", LTTV_POINTER, &value);
+ g_assert(retval);
+ tmp = (LttvHooks*)*(value.v_pointer);
+ if(tmp == NULL){
+ tmp = lttv_hooks_new();
+ *(value.v_pointer) = tmp;
+ }
+ lttv_hooks_add(tmp, hook,hook_data, LTTV_PRIO_DEFAULT);
+}
+/**
+ * Function to unregister a viewer's hook function which is used to
+ * set/update the time span allowed for the viewer.
+ * @param tab viewer's tab
+ * @param hook hook function of the viewer.
+ * @param hook_data hook data associated with the hook function.
+ */
+
+__EXPORT void lttvwindow_unregister_timespan_notify(Tab *tab,
+ LttvHook hook, gpointer hook_data)
+{
+ LttvAttributeValue value;
+ LttvHooks * tmp;
+ gboolean retval;
+
+ retval= lttv_iattribute_find_by_path(tab->attributes,
+ "hooks/updatetimespan", LTTV_POINTER, &value);
+ g_assert(retval);
+ tmp = (LttvHooks*)*(value.v_pointer);
+ if(tmp == NULL) return;
+ lttv_hooks_remove_data(tmp, hook, hook_data);
+}
+
/**
* Function to register a hook function for a viewer to set/update its
* traceset.
*/
__EXPORT void lttvwindow_report_current_position(Tab *tab,
- LttvTracesetContextPosition *pos)
+ LttvTracesetPosition *pos)
{
current_position_change_manager(tab, pos);
}
lttv_hooks_call(tmp, filter);
}
-
+#ifdef BABEL_CLEANUP
/**
* Function to get the stats of the traceset
{
return tab->traceset_info->traceset_context;
}
-
-__EXPORT LttvTracesetContext* lttvwindow_get_traceset_context(Tab *tab)
-{
- return (LttvTracesetContext*)tab->traceset_info->traceset_context;
-}
-
+#endif /*BABEL_CLEANUP*/
void events_request_free(EventsRequest *events_request)
{
+ #ifdef BABEL_CLEANUP
if(events_request == NULL) return;
if(events_request->start_position != NULL)
lttv_hooks_destroy(events_request->after_request);
g_free(events_request);
+ #endif /*BABEL_CLEANUP*/
}
-
__EXPORT GtkWidget *main_window_get_widget(Tab *tab)
{
return tab->mw->mwindow;