requirements: Implement all level for event names and fields
[deliverable/tracecompass.git] / tmf / org.eclipse.tracecompass.tmf.core / src / org / eclipse / tracecompass / tmf / core / trace / TmfTraceManager.java
index 25eaffe28257dbcf4c42b9b6d46b895c9bec62bb..e819d31b119cf2e24bb6d50e7dba7824d52c904c 100644 (file)
@@ -37,6 +37,7 @@ import org.eclipse.jdt.annotation.Nullable;
 import org.eclipse.tracecompass.internal.tmf.core.Activator;
 import org.eclipse.tracecompass.tmf.core.TmfCommonConstants;
 import org.eclipse.tracecompass.tmf.core.signal.TmfEventFilterAppliedSignal;
+import org.eclipse.tracecompass.tmf.core.signal.TmfTraceModelSignal;
 import org.eclipse.tracecompass.tmf.core.signal.TmfSelectionRangeUpdatedSignal;
 import org.eclipse.tracecompass.tmf.core.signal.TmfSignalHandler;
 import org.eclipse.tracecompass.tmf.core.signal.TmfSignalManager;
@@ -284,9 +285,9 @@ public final class TmfTraceManager {
         long offset = trace.getInitialRangeOffset().toNanos();
         long endTime = startTs.toNanos() + offset;
         final TmfTimeRange selectionRange = new TmfTimeRange(startTs, startTs);
-        final TmfTimeRange windowRange = new TmfTimeRange(startTs, new TmfTimestamp(endTime, ITmfTimestamp.NANOSECOND_SCALE));
+        final TmfTimeRange windowRange = new TmfTimeRange(startTs, TmfTimestamp.fromNanos(endTime));
 
-        final TmfTraceContext startCtx = new TmfTraceContext(selectionRange, windowRange, editorFile, null);
+        final TmfTraceContext startCtx = trace.createTraceContext(selectionRange, windowRange, editorFile, null);
 
         fTraces.put(trace, startCtx);
 
@@ -294,6 +295,17 @@ public final class TmfTraceManager {
         fCurrentTrace = trace;
     }
 
+    /**
+     * Signal propagator
+     * @param signal any signal
+     * @since 2.0
+     */
+    @TmfSignalHandler
+    public synchronized void signalReceived(final @NonNull TmfTraceModelSignal signal) {
+        fTraces.forEach((t, u) -> u.receive(signal));
+    }
+
+
     /**
      * Handler for the TmfTraceSelectedSignal.
      *
@@ -322,7 +334,7 @@ public final class TmfTraceManager {
         if (context == null) {
             throw new RuntimeException();
         }
-        fTraces.put(newTrace, new TmfTraceContext(context.getSelectionRange(),
+        fTraces.put(newTrace, newTrace.createTraceContext(context.getSelectionRange(),
                 context.getWindowRange(),
                 context.getEditorFile(),
                 signal.getEventFilter()));
@@ -371,7 +383,7 @@ public final class TmfTraceManager {
                  * else the same as the previous trace context.
                  */
                 TmfTimeRange newSelectionRange = new TmfTimeRange(beginTs, endTs);
-                TmfTraceContext newCtx = new TmfTraceContext(newSelectionRange,
+                TmfTraceContext newCtx = trace.createTraceContext(newSelectionRange,
                         prevCtx.getWindowRange(),
                         prevCtx.getEditorFile(),
                         prevCtx.getFilter());
@@ -406,7 +418,7 @@ public final class TmfTraceManager {
             TmfTimeRange newWindowTr = (targetTr == null ? prevCtx.getWindowRange() : targetTr);
 
             /* Keep the values from the old context, except for the window range */
-            TmfTraceContext newCtx = new TmfTraceContext(prevCtx.getSelectionRange(),
+            TmfTraceContext newCtx = trace.createTraceContext(prevCtx.getSelectionRange(),
                     newWindowTr, prevCtx.getEditorFile(), prevCtx.getFilter());
             entry.setValue(newCtx);
         }
This page took 0.02579 seconds and 5 git commands to generate.