ss: Move plugins to Trace Compass namespace
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf.core / src / org / eclipse / linuxtools / tmf / core / component / ITmfEventProvider.java
CommitLineData
550d787e 1/*******************************************************************************
60ae41e1 2 * Copyright (c) 2009, 2014 Ericsson
0283f7ff 3 *
550d787e
FC
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
0283f7ff 8 *
550d787e
FC
9 * Contributors:
10 * Francois Chouinard - Initial API and implementation
11 *******************************************************************************/
12
6c13869b 13package org.eclipse.linuxtools.tmf.core.component;
8c8bf09f 14
72f1e62a 15import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
fd3f1eff 16import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest;
c32744d6 17import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
8c8bf09f 18
550d787e 19/**
8fd82db5
FC
20 * This is the interface of the data providers in TMF. Data providers have the
21 * capability of handling data requests.
0283f7ff 22 *
8fd82db5 23 * @author Francois Chouinard
0283f7ff 24 *
8fd82db5 25 * @see TmfEventProvider
c4767854 26 * @since 3.0
550d787e 27 */
fd3f1eff 28public interface ITmfEventProvider extends ITmfComponent {
8c8bf09f
ASL
29
30 /**
8fd82db5 31 * Queue the request for processing.
0283f7ff 32 *
f17b2f70
FC
33 * @param request The request to process
34 */
fd3f1eff 35 void sendRequest(ITmfEventRequest request);
8fd82db5 36
063f0d27
AM
37 /**
38 * Increments/decrements the pending requests counters and fires the request
39 * if necessary (counter == 0). Used for coalescing requests across multiple
40 * TmfDataProvider's.
41 *
42 * @param isIncrement
43 * Should we increment (true) or decrement (false) the pending
44 * counter
45 */
57a2a5ca 46 void notifyPendingRequest(boolean isIncrement);
c32744d6
FC
47
48 /**
49 * Return the next event based on the context supplied. The context
50 * will be updated for the subsequent read.
0283f7ff 51 *
c32744d6
FC
52 * @param context the trace read context (updated)
53 * @return the event referred to by context
54 */
57a2a5ca 55 ITmfEvent getNext(ITmfContext context);
8c8bf09f 56}
This page took 0.059887 seconds and 5 git commands to generate.