X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Flttv%2Fmodules%2Fgui%2FAPI%2FgtkTraceSet.c;h=3c681a97561b27f9e70a7bff433877fc902aaa5b;hb=f7afe191fd58f0bf4bab9c9514c261535b99d32b;hp=aaaea0b766a71bdf1e4b9358eadafe48a1a30b8b;hpb=f227416e797ada4b806d13bb7183156cf8e7f6f2;p=lttv.git diff --git a/ltt/branches/poly/lttv/modules/gui/API/gtkTraceSet.c b/ltt/branches/poly/lttv/modules/gui/API/gtkTraceSet.c index aaaea0b7..3c681a97 100644 --- a/ltt/branches/poly/lttv/modules/gui/API/gtkTraceSet.c +++ b/ltt/branches/poly/lttv/modules/gui/API/gtkTraceSet.c @@ -18,6 +18,9 @@ #include #include #include +#include +#include + /** * Internal function parts @@ -199,7 +202,23 @@ void UpdateStatus(mainWindow *main_win, char *info) /** - * Function to get the current time interval of the current tab. + * Function to get the current time interval shown on the current tab. + * It will be called by a viewer's hook function to update the + * shown time interval 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 GetTimeWindow(mainWindow *main_win, TimeWindow *Time_Window) +{ + //Time_Window->startTime = main_win->CurrentTab->Time_Window.startTime; + //Time_Window->Time_Width = main_win->CurrentTab->Time_Window.Time_Width; + *Time_Window = main_win->CurrentTab->Time_Window; +} + +/** + * Function to get the current time interval of the current traceset. * 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 * of the viewer. @@ -207,13 +226,15 @@ void UpdateStatus(mainWindow *main_win, char *info) * @param time_interval a pointer where time interval will be stored. */ -void GetTimeInterval(mainWindow *main_win, TimeInterval *time_interval) +void getTracesetTimeSpan(mainWindow *main_win, TimeInterval *Time_Interval) { - time_interval->startTime = main_win->CurrentTab->startTime; - time_interval->endTime = main_win->CurrentTab->endTime; + //Time_Window->startTime = main_win->CurrentTab->Time_Window.startTime; + //Time_Window->Time_Width = main_win->CurrentTab->Time_Window.Time_Width; + *Time_Interval = *(LTTV_TRACESET_CONTEXT(main_win->Traceset_Info->TracesetContext)->Time_Span); } + /** * Function to set the time interval of the current tab. * It will be called by a viewer's signal handle associated with @@ -222,17 +243,16 @@ void GetTimeInterval(mainWindow *main_win, TimeInterval *time_interval) * @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) { LttvAttributeValue value; LttvHooks * tmp; - main_win->CurrentTab->startTime = time_interval->startTime; - main_win->CurrentTab->endTime = time_interval->endTime; + main_win->CurrentTab->Time_Window = *Time_Window; g_assert(lttv_iattribute_find_by_path(main_win->CurrentTab->Attributes, - "hooks/updatetimeinterval", LTTV_POINTER, &value)); + "hooks/updatetimewindow", LTTV_POINTER, &value)); tmp = (LttvHooks*)*(value.v_pointer); - if(tmp == NULL)return; - lttv_hooks_call(tmp, time_interval); + if(tmp == NULL) return; + lttv_hooks_call(tmp, Time_Window); } @@ -307,13 +327,13 @@ void GetFilter(mainWindow *main_win, Filter *filter) * @param main_win the main window the viewer belongs to. */ -void RegUpdateTimeInterval(LttvHook hook, gpointer hook_data, +void RegUpdateTimeWindow(LttvHook hook, gpointer hook_data, mainWindow * main_win) { LttvAttributeValue value; LttvHooks * tmp; g_assert(lttv_iattribute_find_by_path(main_win->CurrentTab->Attributes, - "hooks/updatetimeinterval", LTTV_POINTER, &value)); + "hooks/updatetimewindow", LTTV_POINTER, &value)); tmp = (LttvHooks*)*(value.v_pointer); if(tmp == NULL){ tmp = lttv_hooks_new(); @@ -332,13 +352,13 @@ void RegUpdateTimeInterval(LttvHook hook, gpointer hook_data, * @param main_win the main window the viewer belongs to. */ -void UnregUpdateTimeInterval(LttvHook hook, gpointer hook_data, +void UnregUpdateTimeWindow(LttvHook hook, gpointer hook_data, mainWindow * main_win) { LttvAttributeValue value; LttvHooks * tmp; g_assert(lttv_iattribute_find_by_path(main_win->CurrentTab->Attributes, - "hooks/updatetimeinterval", LTTV_POINTER, &value)); + "hooks/updatetimewindow", LTTV_POINTER, &value)); tmp = (LttvHooks*)*(value.v_pointer); if(tmp == NULL) return; lttv_hooks_remove_data(tmp, hook, hook_data); @@ -578,8 +598,9 @@ void SetHPaneDividor(mainWindow *main_win, gint position) void processTraceset(mainWindow *main_win, LttTime start, LttTime end, unsigned maxNumEvents) { - lttv_process_trace(start, end, main_win->traceset, - main_win->traceset_context, maxNumEvents); + lttv_process_trace(start, end, main_win->Traceset_Info->traceset, + LTTV_TRACESET_CONTEXT(main_win->Traceset_Info->TracesetContext), + maxNumEvents); } /** @@ -603,7 +624,8 @@ void contextAddHooks(mainWindow *main_win , LttvHooks *before_event, LttvHooks *after_event) { - LttvTracesetContext * tsc = main_win->traceset_context; + LttvTracesetContext * tsc = + LTTV_TRACESET_CONTEXT(main_win->Traceset_Info->TracesetContext); lttv_traceset_context_add_hooks(tsc,before_traceset,after_traceset, check_trace,before_trace,after_trace, check_tracefile,before_tracefile,after_tracefile, @@ -632,9 +654,56 @@ void contextRemoveHooks(mainWindow *main_win , LttvHooks *before_event, LttvHooks *after_event) { - LttvTracesetContext * tsc = main_win->traceset_context; + LttvTracesetContext * tsc = + LTTV_TRACESET_CONTEXT(main_win->Traceset_Info->TracesetContext); lttv_traceset_context_remove_hooks(tsc,before_traceset,after_traceset, check_trace,before_trace,after_trace, check_tracefile,before_tracefile,after_tracefile, check_event,before_event, after_event); } + + +/** + * Function to add/remove event hooks for state + * @param main_win the main window the viewer belongs to. + */ + +void stateAddEventHooks(mainWindow *main_win ) +{ + lttv_state_add_event_hooks( + (LttvTracesetState*)main_win->Traceset_Info->TracesetContext); +} + +void stateRemoveEventHooks(mainWindow *main_win ) +{ + lttv_state_remove_event_hooks( + (LttvTracesetState*)main_win->Traceset_Info->TracesetContext); +} + + +/** + * Function to add/remove event hooks for stats + * @param main_win the main window the viewer belongs to. + */ + +void statsAddEventHooks(mainWindow *main_win ) +{ + lttv_stats_add_event_hooks( + (LttvTracesetStats*)main_win->Traceset_Info->TracesetContext); +} + +void statsRemoveEventHooks(mainWindow *main_win ) +{ + lttv_stats_remove_event_hooks( + (LttvTracesetStats*)main_win->Traceset_Info->TracesetContext); +} + +/** + * Function to get the stats of the traceset + * @param main_win the main window the viewer belongs to. + */ + +LttvTracesetStats* getTracesetStats(mainWindow *main_win) +{ + return main_win->Traceset_Info->TracesetContext; +}