#include <lttv/state.h>
#include <lttv/filter.h>
#include <lttvwindow/lttvwindow.h>
+#include <lttvwindow/lttv_plugin_tab.h>
#include <ltt/time.h>
#include "hInterruptsInsert.xpm"
static GSList *interrupt_data_list = NULL ;
-#define TRACE_NUMBER 0
+//fixed #define TRACE_NUMBER 0
typedef struct _InterruptEventData {
GtkTreeSelection *SelectionTree;
Tab * tab; /* tab that contains this plug-in*/
+ LttvPluginTab *ptab;
LttvHooks * event_hooks;
LttvHooks * hooks_trace_after;
LttvHooks * hooks_trace_before;
/* Function prototypes */
static gboolean interrupt_update_time_window(void * hook_data, void * call_data);
-static GtkWidget *interrupts(Tab *tab);
-static InterruptEventData *system_info(Tab *tab);
+static GtkWidget *interrupts(LttvPlugin *plugin);
+static InterruptEventData *system_info(LttvPluginTab *ptab);
void interrupt_destructor(InterruptEventData *event_viewer_data);
static void FirstRequest(InterruptEventData *event_data );
static guint64 get_interrupt_id(LttEvent *e);
* Constructor hook
*
*/
-static GtkWidget *interrupts(Tab * tab)
+static GtkWidget *interrupts(LttvPlugin *plugin)
{
-
- InterruptEventData* event_data = system_info(tab) ;
+ LttvPluginTab *ptab = LTTV_PLUGIN_TAB(plugin);
+ InterruptEventData* event_data = system_info(ptab) ;
if(event_data)
return event_data->Hbox;
else
* This function initializes the Event Viewer functionnality through the
* GTK API.
*/
-InterruptEventData *system_info(Tab *tab)
+InterruptEventData *system_info(LttvPluginTab *ptab)
{
LttTime end;
GtkTreeViewColumn *column;
GtkCellRenderer *renderer;
InterruptEventData* event_viewer_data = g_new(InterruptEventData,1) ;
-
+ Tab *tab = ptab->tab;
+ event_viewer_data->ptab = ptab;
event_viewer_data->tab = tab;
/*Get the current time frame from the main window */
nb_trace = lttv_traceset_number(traceset);
/* There are many traces in a traceset. Iteration for each trace. */
- for(i = 0; i<MIN(TRACE_NUMBER+1, nb_trace);i++)
- {
+ //for(i = 0; i<MIN(TRACE_NUMBER+1, nb_trace);i++) {
+ for(i = 0 ; i < nb_trace ; i++) {
events_request = g_new(EventsRequest, 1);
hooks = g_array_new(FALSE, FALSE, sizeof(LttvTraceHook));
nb_trace = lttv_traceset_number(traceset);
/* There are many traces in a traceset. Iteration for each trace. */
- for(i = 0; i<MIN(TRACE_NUMBER+1, nb_trace);i++)
- {
+ for(i = 0 ; i < nb_trace ; i++) {
+ // fixed for(i = 0; i<MIN(TRACE_NUMBER+1, nb_trace);i++) {
events_request = g_new(EventsRequest, 1);
hooks = g_array_new(FALSE, FALSE, sizeof(LttvTraceHook));
AVERAGE_PERIOD , periodInNsec,
PERIOD_STANDARD_DEV_COLUMN, CalculatePeriodStandardDeviation(element.id, event_data),
FREQUENCY_STANDARD_DEV_COLUMN, CalculateFrequencyStandardDeviation(element.id, event_data),
- -1);
- printf("%d %d %lld %d %s %d %d %d\n\n",element.id, FrequencyHZ,real_data,CalculateDurationStandardDeviation(element.id, event_data), maxIrqHandler, periodInNsec, CalculatePeriodStandardDeviation(element.id, event_data), CalculateFrequencyStandardDeviation(element.id, event_data));
-
-
+ -1);
}