Have callbacks for "background" and "foreground" graphs
[lttv.git] / lttv / lttv / sync / event_matching_distributor.c
index 9eeaff7c441f0b9abff9038f600836097f0d7672..4bb7e68cd50dd9158dadd414b4c4b0cd642795a6 100644 (file)
@@ -54,11 +54,15 @@ static void matchEventDistributor(SyncState* const syncState, Event* const
        event);
 static GArray* finalizeMatchingDistributor(SyncState* const syncState);
 static void printMatchingStatsDistributor(SyncState* const syncState);
-static void writeMatchingTraceTracePlotsDistributor(SyncState* const
+static void writeMatchingTraceTraceForePlotsDistributor(SyncState* const
+       syncState, const unsigned int i, const unsigned int j);
+static void writeMatchingTraceTraceBackPlotsDistributor(SyncState* const
        syncState, const unsigned int i, const unsigned int j);
 static void writeMatchingTraceTraceOptionsDistributor(SyncState* const
        syncState, const unsigned int i, const unsigned int j);
-static void writeMatchingTraceTimePlotsDistributor(SyncState* const
+static void writeMatchingTraceTimeForePlotsDistributor(SyncState* const
+       syncState, const unsigned int i, const unsigned int j);
+static void writeMatchingTraceTimeBackPlotsDistributor(SyncState* const
        syncState, const unsigned int i, const unsigned int j);
 static void writeMatchingTraceTimeOptionsDistributor(SyncState* const
        syncState, const unsigned int i, const unsigned int j);
@@ -84,9 +88,13 @@ static MatchingModule matchingModuleDistributor = {
        .finalizeMatching= &finalizeMatchingDistributor,
        .printMatchingStats= &printMatchingStatsDistributor,
        .graphFunctions= {
-               .writeTraceTracePlots= &writeMatchingTraceTracePlotsDistributor,
+               .writeTraceTraceForePlots=
+                       &writeMatchingTraceTraceForePlotsDistributor,
+               .writeTraceTraceBackPlots=
+                       &writeMatchingTraceTraceBackPlotsDistributor,
                .writeTraceTraceOptions= &writeMatchingTraceTraceOptionsDistributor,
-               .writeTraceTimePlots= &writeMatchingTraceTimePlotsDistributor,
+               .writeTraceTimeForePlots= &writeMatchingTraceTimeForePlotsDistributor,
+               .writeTraceTimeBackPlots= &writeMatchingTraceTimeBackPlotsDistributor,
                .writeTraceTimeOptions= &writeMatchingTraceTimeOptionsDistributor,
        },
 };
@@ -218,14 +226,52 @@ static void printMatchingStatsDistributor(SyncState* const syncState)
  *   i:            first trace number
  *   j:            second trace number, garanteed to be larger than i
  */
-static void writeMatchingTraceTracePlotsDistributor(SyncState* const
+static void writeMatchingTraceTraceForePlotsDistributor(SyncState* const
+       syncState, const unsigned int i, const unsigned int j)
+{
+       MatchingDataDistributor* matchingData= syncState->matchingData;
+
+       g_queue_foreach(matchingData->distributedModules, &gfGraphFunctionCall,
+               &(struct GraphAggregate) {offsetof(MatchingModule,
+                       graphFunctions.writeTraceTraceForePlots), i, j});
+}
+
+
+/*
+ * Call the distributed graph lines functions (when they exist).
+ *
+ * Args:
+ *   syncState:    container for synchronization data
+ *   i:            first trace number
+ *   j:            second trace number, garanteed to be larger than i
+ */
+static void writeMatchingTraceTraceBackPlotsDistributor(SyncState* const
+       syncState, const unsigned int i, const unsigned int j)
+{
+       MatchingDataDistributor* matchingData= syncState->matchingData;
+
+       g_queue_foreach(matchingData->distributedModules, &gfGraphFunctionCall,
+               &(struct GraphAggregate) {offsetof(MatchingModule,
+                       graphFunctions.writeTraceTraceBackPlots), i, j});
+}
+
+
+/*
+ * Call the distributed graph lines functions (when they exist).
+ *
+ * Args:
+ *   syncState:    container for synchronization data
+ *   i:            first trace number
+ *   j:            second trace number, garanteed to be larger than i
+ */
+static void writeMatchingTraceTimeForePlotsDistributor(SyncState* const
        syncState, const unsigned int i, const unsigned int j)
 {
        MatchingDataDistributor* matchingData= syncState->matchingData;
 
        g_queue_foreach(matchingData->distributedModules, &gfGraphFunctionCall,
                &(struct GraphAggregate) {offsetof(MatchingModule,
-                       graphFunctions.writeTraceTracePlots), i, j});
+                       graphFunctions.writeTraceTimeForePlots), i, j});
 }
 
 
@@ -237,14 +283,14 @@ static void writeMatchingTraceTracePlotsDistributor(SyncState* const
  *   i:            first trace number
  *   j:            second trace number, garanteed to be larger than i
  */
-static void writeMatchingTraceTimePlotsDistributor(SyncState* const
+static void writeMatchingTraceTimeBackPlotsDistributor(SyncState* const
        syncState, const unsigned int i, const unsigned int j)
 {
        MatchingDataDistributor* matchingData= syncState->matchingData;
 
        g_queue_foreach(matchingData->distributedModules, &gfGraphFunctionCall,
                &(struct GraphAggregate) {offsetof(MatchingModule,
-                       graphFunctions.writeTraceTimePlots), i, j});
+                       graphFunctions.writeTraceTimeBackPlots), i, j});
 }
 
 
This page took 0.023783 seconds and 4 git commands to generate.