diff options
Diffstat (limited to 'lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/ctfadaptor/CtfTmfEvent.java')
-rw-r--r-- | lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/ctfadaptor/CtfTmfEvent.java | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/ctfadaptor/CtfTmfEvent.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/ctfadaptor/CtfTmfEvent.java index 9de76d1eb4..0d56c17072 100644 --- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/ctfadaptor/CtfTmfEvent.java +++ b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/ctfadaptor/CtfTmfEvent.java @@ -28,7 +28,7 @@ import org.eclipse.linuxtools.tmf.core.event.ITmfTimestamp; /** * A wrapper class around CTF's Event Definition/Declaration that maps all * types of Declaration to native Java types. - * + * * @version 1.0 * @author Alexandre Montplaisir */ @@ -41,6 +41,8 @@ public final class CtfTmfEvent implements ITmfEvent, Cloneable { private static final String NO_STREAM = "No stream"; //$NON-NLS-1$ private static final String EMPTY_CTF_EVENT_NAME = "Empty CTF event"; //$NON-NLS-1$ + /** Prefix for Context information stored as CtfTmfEventfield */ + private static final String CONTEXT_FIELD_PREFIX = "context."; //$NON-NLS-1$ // ------------------------------------------------------------------------ // Attributes @@ -122,6 +124,24 @@ public final class CtfTmfEvent implements ITmfEvent, Cloneable { fields.add(curField); } + /* Add context information as CtfTmfEventField */ + StructDefinition structContext = eventDef.getContext(); + if (structContext != null) { + definitions = structContext.getDefinitions(); + String curContextName; + Definition curContextDef; + CtfTmfEventField curContext; + it = definitions.entrySet().iterator(); + while(it.hasNext()) { + Entry<String, Definition> entry = it.next(); + /* Prefix field name to */ + curContextName = CONTEXT_FIELD_PREFIX + entry.getKey(); + curContextDef = entry.getValue(); + curContext = CtfTmfEventField.parseField(curContextDef, curContextName); + fields.add(curContext); + } + } + return fields.toArray(new CtfTmfEventField[fields.size()]); } |