analysis: introduce ISegmentStoreProvider
[deliverable/tracecompass.git] / analysis / org.eclipse.tracecompass.analysis.timing.core / src / org / eclipse / tracecompass / analysis / timing / core / segmentstore / ISegmentStoreProvider.java
1 /*******************************************************************************
2 * Copyright (c) 2016 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
10 package org.eclipse.tracecompass.analysis.timing.core.segmentstore;
11
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;
16
17 /**
18 * Segment store provider. Useful to populate views.
19 *
20 * @author Matthew Khouzam
21 * @since 2.0
22 */
23 public interface ISegmentStoreProvider {
24
25 /**
26 * Add a listener for the viewers
27 *
28 * @param listener
29 * listener for each type of viewer
30 */
31 void addListener(IAnalysisProgressListener listener);
32
33 /**
34 * Remove listener for the viewers
35 *
36 * @param listener
37 * listener for each type of viewer
38 */
39 void removeListener(IAnalysisProgressListener listener);
40
41 /**
42 * Return the pre-defined set of segment aspects exposed by this analysis.
43 *
44 * It should not be null, but could be empty.
45 *
46 * @return The segment aspects for this analysis
47 */
48 Iterable<ISegmentAspect> getSegmentAspects();
49
50 /**
51 * Returns the result in a from the analysis in a ISegmentStore
52 *
53 * @return Results from the analysis in a ISegmentStore
54 */
55 @Nullable ISegmentStore<ISegment> getSegmentStore();
56
57 }
This page took 0.039353 seconds and 5 git commands to generate.