[Bug304438] Improvement on ITmfLocation
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf / src / org / eclipse / linuxtools / tmf / trace / ITmfTrace.java
CommitLineData
8c8bf09f
ASL
1/*******************************************************************************
2 * Copyright (c) 2009 Ericsson
3 *
4 * All rights reserved. This program and the accompanying materials are
5 * made 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
8 *
9 * Contributors:
10 * Francois Chouinard - Initial API and implementation
11 *******************************************************************************/
12
13package org.eclipse.linuxtools.tmf.trace;
14
8c8bf09f
ASL
15import org.eclipse.linuxtools.tmf.event.TmfEvent;
16import org.eclipse.linuxtools.tmf.event.TmfTimeRange;
17import org.eclipse.linuxtools.tmf.event.TmfTimestamp;
18
19/**
146a887c 20 * <b><u>ITmfTrace</u></b>
8c8bf09f
ASL
21 * <p>
22 */
62d1696a
FC
23public interface ITmfTrace {
24
b0a282fb
FC
25 /**
26 * @return the trace path
27 */
28 public String getPath();
29
8c8bf09f 30 /**
146a887c 31 * @return the trace name
8c8bf09f
ASL
32 */
33 public String getName();
b0a282fb 34
8c8bf09f 35 /**
146a887c 36 * @return the number of events in the trace
8c8bf09f 37 */
4e3aa37d 38 public long getNbEvents();
8c8bf09f
ASL
39
40 /**
4e3aa37d 41 * Trace time range accessors
8c8bf09f 42 */
146a887c
FC
43 public TmfTimeRange getTimeRange();
44 public TmfTimestamp getStartTime();
45 public TmfTimestamp getEndTime();
62d1696a
FC
46
47 /**
146a887c 48 * Positions the trace at the first event with the specified
4e3aa37d
FC
49 * timestamp or index (i.e. the nth event in the trace).
50 *
51 * Returns a context which can later be used to read the event.
8c8bf09f 52 *
8d2e2848
FC
53 * @param data.timestamp
54 * @param data.index
8c8bf09f
ASL
55 * @return a context object for subsequent reads
56 */
452ad365 57 public TmfContext seekLocation(ITmfLocation<?> location);
9f584e4c
FC
58 public TmfContext seekEvent(TmfTimestamp timestamp);
59 public TmfContext seekEvent(long rank);
146a887c
FC
60
61 /**
8d2e2848
FC
62 * Return the event pointed by the supplied context (or null if
63 * no event left) and updates the context to the next event.
8c8bf09f
ASL
64 *
65 * @return the next event in the stream
66 */
9f584e4c 67 public TmfEvent getNextEvent(TmfContext context);
62d1696a 68
e31e01e8
FC
69 /**
70 * Return the event pointed by the supplied context (or null if
71 * no event left) and *does not* update the context.
72 *
73 * @return the next event in the stream
74 */
9f584e4c 75 public TmfEvent parseEvent(TmfContext context);
e31e01e8 76
8c8bf09f 77}
This page took 0.029491 seconds and 5 git commands to generate.