tmf: Rename packages to org.eclipse.tracecompass.*
[deliverable/tracecompass.git] / org.eclipse.tracecompass.tmf.core / src / org / eclipse / tracecompass / tmf / core / component / ITmfComponent.java
1 /*******************************************************************************
2 * Copyright (c) 2009, 2014 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 * Bernd Hufmann - Add interface for broadcasting signals asynchronously
12 *******************************************************************************/
13
14 package org.eclipse.tracecompass.tmf.core.component;
15
16 import org.eclipse.tracecompass.tmf.core.signal.TmfSignal;
17
18 /**
19 * This is the basic interface of all the TMF components.
20 * <p>
21 * Currently, it only addresses the inter-component signalling.
22 *
23 * @version 1.0
24 * @author Francois Chouinard
25 *
26 * @see TmfComponent
27 */
28 public interface ITmfComponent {
29
30 /**
31 * @return the component ID (display name)
32 */
33 String getName();
34
35 /**
36 * Dispose of the component
37 */
38 void dispose();
39
40 /**
41 * Propagate a signal to all the interested listeners in
42 * the same thread of execution.
43 *
44 * @param signal the signal to broadcast
45 */
46 void broadcast(TmfSignal signal);
47
48 /**
49 * Propagate a signal to all the interested listeners
50 * in a separate thread.
51 *
52 * @param signal the signal to broadcast
53 * @since 3.0
54 */
55 void broadcastAsync(TmfSignal signal);
56 }
This page took 0.03163 seconds and 5 git commands to generate.