1 /*******************************************************************************
2 * Copyright (c) 2016 Ericsson
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 *******************************************************************************/
10 package org
.eclipse
.tracecompass
.analysis
.timing
.core
.segmentstore
;
12 import org
.eclipse
.jdt
.annotation
.Nullable
;
13 import org
.eclipse
.tracecompass
.segmentstore
.core
.ISegment
;
14 import org
.eclipse
.tracecompass
.segmentstore
.core
.ISegmentStore
;
15 import org
.eclipse
.tracecompass
.tmf
.core
.segment
.ISegmentAspect
;
18 * Segment store provider. Useful to populate views.
20 * @author Matthew Khouzam
23 public interface ISegmentStoreProvider
{
26 * Add a listener for the viewers
29 * listener for each type of viewer
31 void addListener(IAnalysisProgressListener listener
);
34 * Remove listener for the viewers
37 * listener for each type of viewer
39 void removeListener(IAnalysisProgressListener listener
);
42 * Return the pre-defined set of segment aspects exposed by this analysis.
44 * It should not be null, but could be empty.
46 * @return The segment aspects for this analysis
48 Iterable
<ISegmentAspect
> getSegmentAspects();
51 * Returns the result in a from the analysis in a ISegmentStore
53 * @return Results from the analysis in a ISegmentStore
55 @Nullable ISegmentStore
<ISegment
> getSegmentStore();