tmf: Make Analysis Requirements implement Predicates
[deliverable/tracecompass.git] / tmf / org.eclipse.tracecompass.tmf.core / src / org / eclipse / tracecompass / tmf / core / component / ITmfComponent.java
CommitLineData
8c8bf09f 1/*******************************************************************************
d91063d0 2 * Copyright (c) 2009, 2014 Ericsson
57a2a5ca 3 *
8c8bf09f
ASL
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
57a2a5ca 8 *
8c8bf09f
ASL
9 * Contributors:
10 * Francois Chouinard - Initial API and implementation
d91063d0 11 * Bernd Hufmann - Add interface for broadcasting signals asynchronously
8c8bf09f
ASL
12 *******************************************************************************/
13
2bdf0193 14package org.eclipse.tracecompass.tmf.core.component;
8c8bf09f 15
2bdf0193 16import org.eclipse.tracecompass.tmf.core.signal.TmfSignal;
8d2e2848 17
8c8bf09f 18/**
e31e01e8
FC
19 * This is the basic interface of all the TMF components.
20 * <p>
8fd82db5
FC
21 * Currently, it only addresses the inter-component signalling.
22 *
8fd82db5 23 * @author Francois Chouinard
57a2a5ca 24 *
8fd82db5 25 * @see TmfComponent
8c8bf09f
ASL
26 */
27public interface ITmfComponent {
be9d96b7 28
57a2a5ca
BH
29 /**
30 * @return the component ID (display name)
31 */
32 String getName();
fc6ccf6f 33
57a2a5ca
BH
34 /**
35 * Dispose of the component
36 */
37 void dispose();
e31e01e8 38
57a2a5ca 39 /**
d91063d0
BH
40 * Propagate a signal to all the interested listeners in
41 * the same thread of execution.
57a2a5ca
BH
42 *
43 * @param signal the signal to broadcast
44 */
45 void broadcast(TmfSignal signal);
8d2e2848 46
d91063d0
BH
47 /**
48 * Propagate a signal to all the interested listeners
49 * in a separate thread.
50 *
51 * @param signal the signal to broadcast
d91063d0
BH
52 */
53 void broadcastAsync(TmfSignal signal);
8c8bf09f 54}
This page took 0.091455 seconds and 5 git commands to generate.