1 /*******************************************************************************
2 * Copyright (c) 2011-2014 Ericsson, Ecole Polytechnique de Montreal and others
4 * All rights reserved. This program and the accompanying materials are made
5 * available under the terms of the Eclipse Public License v1.0 which
6 * accompanies this distribution, and is available at
7 * http://www.eclipse.org/legal/epl-v10.html
9 * Contributors: Matthew Khouzam - Initial API and implementation
10 *******************************************************************************/
12 package org
.eclipse
.tracecompass
.ctf
.core
.event
;
16 import org
.eclipse
.jdt
.annotation
.NonNull
;
17 import org
.eclipse
.tracecompass
.ctf
.core
.CTFReaderException
;
18 import org
.eclipse
.tracecompass
.ctf
.core
.event
.io
.BitBuffer
;
19 import org
.eclipse
.tracecompass
.ctf
.core
.event
.types
.StructDeclaration
;
20 import org
.eclipse
.tracecompass
.ctf
.core
.trace
.CTFStream
;
21 import org
.eclipse
.tracecompass
.ctf
.core
.trace
.CTFStreamInputReader
;
24 * Representation of one type of event. A bit like "int" or "long" but for trace
27 * @author Matthew Khouzam
29 public interface IEventDeclaration
{
32 * Creates an instance of EventDefinition corresponding to this declaration.
34 * @param streamInputReader
35 * The StreamInputReader for which this definition is created.
37 * the bitbuffer input source
39 * The timestamp when the event was taken
40 * @return A new EventDefinition.
41 * @throws CTFReaderException
42 * As a bitbuffer is used to read, it could have wrapped
45 EventDefinition
createDefinition(CTFStreamInputReader streamInputReader
, @NonNull BitBuffer input
, long timestamp
) throws CTFReaderException
;
48 * Gets the name of an event declaration
55 * Gets the fields of an event declaration
57 * @return fields the fields in {@link StructDeclaration} format
59 StructDeclaration
getFields();
62 * Gets the context of an event declaration
64 * @return context the fields in {@link StructDeclaration} format
66 StructDeclaration
getContext();
69 * Gets the id of an event declaration
71 * @return The EventDeclaration ID
76 * Gets the {@link CTFStream} of an event declaration
80 CTFStream
getStream();
83 * What is the log level of this event?
85 * @return the log level.
90 * Get the {@link Set} of names of the custom CTF attributes.
92 * @return The set of custom attributes
94 Set
<String
> getCustomAttributes();
97 * Get the value of a given CTF attribute.
100 * The CTF attribute name
101 * @return the CTF attribute
103 String
getCustomAttribute(String key
);