ctf: make dynamic scopes work with definitions [bug 470846]
[deliverable/tracecompass.git] / ctf / org.eclipse.tracecompass.ctf.core / src / org / eclipse / tracecompass / ctf / core / event / EventDefinition.java
index aa75dd638859f73ab9b00a3056c9f78240cbb73a..2e0a3d35209e9947644edd1ebd69884469b42f1d 100644 (file)
@@ -52,6 +52,8 @@ public final class EventDefinition implements IDefinitionScope {
      */
     private final long fTimestamp;
 
+    private final ICompositeDefinition fEventHeaderDefinition;
+
     /**
      * The event context structure definition.
      */
@@ -101,7 +103,41 @@ public final class EventDefinition implements IDefinitionScope {
             ICompositeDefinition eventContext,
             ICompositeDefinition packetContext,
             ICompositeDefinition fields) {
+        this(declaration, streamInputReader, timestamp, null, streamContext,
+                eventContext, packetContext, fields);
+    }
+
+    /**
+     * Constructs an event definition.
+     *
+     * @param declaration
+     *            The corresponding event declaration
+     * @param streamInputReader
+     *            The SIR from where this EventDef was read
+     * @param timestamp
+     *            event timestamp
+     * @param eventHeaderDefinition
+     *            the event header definition, can be null
+     * @param eventContext
+     *            The event context
+     * @param packetContext
+     *            the packet context
+     * @param streamContext
+     *            the stream context
+     * @param fields
+     *            The event fields
+     * @since 1.1
+     */
+    public EventDefinition(IEventDeclaration declaration,
+            CTFStreamInputReader streamInputReader,
+            long timestamp,
+            ICompositeDefinition eventHeaderDefinition,
+            ICompositeDefinition streamContext,
+            ICompositeDefinition eventContext,
+            ICompositeDefinition packetContext,
+            ICompositeDefinition fields) {
         fDeclaration = declaration;
+        fEventHeaderDefinition = eventHeaderDefinition;
         fStreamInputReader = streamInputReader;
         fTimestamp = timestamp;
         fFields = fields;
@@ -139,6 +175,16 @@ public final class EventDefinition implements IDefinitionScope {
         return fDeclaration;
     }
 
+    /**
+     * Get the event header
+     *
+     * @return the event header
+     * @since 1.1
+     */
+    public ICompositeDefinition getEventHeader() {
+        return fEventHeaderDefinition;
+    }
+
     /**
      * Gets the fields of a definition
      *
This page took 0.0243 seconds and 5 git commands to generate.