tmf/lttng: Update 2014 copyrights
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf.core / src / org / eclipse / linuxtools / 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
6c13869b 14package org.eclipse.linuxtools.tmf.core.component;
8c8bf09f 15
6c13869b 16import org.eclipse.linuxtools.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 *
23 * @version 1.0
24 * @author Francois Chouinard
57a2a5ca 25 *
8fd82db5 26 * @see TmfComponent
8c8bf09f
ASL
27 */
28public interface ITmfComponent {
be9d96b7 29
57a2a5ca
BH
30 /**
31 * @return the component ID (display name)
32 */
33 String getName();
fc6ccf6f 34
57a2a5ca
BH
35 /**
36 * Dispose of the component
37 */
38 void dispose();
e31e01e8 39
57a2a5ca 40 /**
d91063d0
BH
41 * Propagate a signal to all the interested listeners in
42 * the same thread of execution.
57a2a5ca
BH
43 *
44 * @param signal the signal to broadcast
45 */
46 void broadcast(TmfSignal signal);
8d2e2848 47
d91063d0
BH
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);
8c8bf09f 56}
This page took 0.04959 seconds and 5 git commands to generate.