Re-structure LTTng sub-project as per the Linux Tools guidelines
[deliverable/tracecompass.git] / org.eclipse.linuxtools.lttng.ui / src / org / eclipse / linuxtools / lttng / ui / views / histogram / HistogramRequest.java
CommitLineData
378e7718 1/*******************************************************************************
c392540b 2 * Copyright (c) 2009, 2011 Ericsson
378e7718
WB
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 * William Bourque - Initial API and implementation
c392540b
FC
11 * Yuriy Vashchuk - Heritage correction.
12 * Francois Chouinard - Cleanup and refactoring
378e7718 13 *******************************************************************************/
c392540b 14
6e512b93
ASL
15package org.eclipse.linuxtools.lttng.ui.views.histogram;
16
6c13869b
FC
17import org.eclipse.linuxtools.lttng.core.LttngConstants;
18import org.eclipse.linuxtools.lttng.core.event.LttngEvent;
19import org.eclipse.linuxtools.tmf.core.event.TmfTimeRange;
20import org.eclipse.linuxtools.tmf.core.request.ITmfDataRequest;
21import org.eclipse.linuxtools.tmf.core.request.TmfEventRequest;
6e512b93 22
378e7718
WB
23/**
24 * <b><u>HistogramRequest</u></b>
25 * <p>
378e7718 26 */
6e512b93 27public class HistogramRequest extends TmfEventRequest<LttngEvent> {
c392540b
FC
28
29 // ------------------------------------------------------------------------
30 // Attributes
31 // ------------------------------------------------------------------------
32
33 private final Histogram fHistogram;
34
35 // ------------------------------------------------------------------------
36 // Constructor
37 // ------------------------------------------------------------------------
38
74237cc3
FC
39 public HistogramRequest(Histogram histogram, TmfTimeRange range, int rank, int nbEvents, ITmfDataRequest.ExecutionType execType) {
40 super(LttngEvent.class, range, rank, nbEvents, LttngConstants.DEFAULT_BLOCK_SIZE, execType);
c392540b
FC
41 fHistogram = histogram;
42 }
43
44 public HistogramRequest(Histogram histogram, TmfTimeRange range, ITmfDataRequest.ExecutionType execType) {
74237cc3
FC
45 this(histogram, range, 0, ALL_DATA, execType);
46 }
47
48 public HistogramRequest(Histogram histogram, TmfTimeRange range, int rank, ITmfDataRequest.ExecutionType execType) {
49 this(histogram, range, rank, ALL_DATA, execType);
6e512b93 50 }
f9673903 51
c392540b
FC
52 // ------------------------------------------------------------------------
53 // TmfEventRequest
54 // ------------------------------------------------------------------------
55
56 @Override
57 public void handleData(LttngEvent event) {
58 super.handleData(event);
cb866e08 59 if (event != null) {
c392540b
FC
60 long timestamp = event.getTimestamp().getValue();
61 fHistogram.countEvent(timestamp);
7ef9ae3f 62 }
6e512b93 63 }
c392540b 64
6e512b93
ASL
65 @Override
66 public void handleCompleted() {
c392540b
FC
67 fHistogram.refresh();
68 super.handleCompleted();
6e512b93 69 }
c392540b 70
6e512b93
ASL
71 @Override
72 public void handleCancel() {
c392540b
FC
73 fHistogram.refresh();
74 super.handleCancel();
6e512b93 75 }
f05aabed 76
6e512b93 77}
This page took 0.034496 seconds and 5 git commands to generate.