tmf: Use TmfFilterMatchesAspectNode's in the event table
[deliverable/tracecompass.git] / org.eclipse.tracecompass.gdbtrace.core / src / org / eclipse / tracecompass / internal / gdbtrace / core / trace / GdbEventAspects.java
CommitLineData
99d7adc6
AM
1/*******************************************************************************
2 * Copyright (c) 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 * Alexandre Montplaisir - Initial API and implementation
11 *******************************************************************************/
12
b04903a2 13package org.eclipse.tracecompass.internal.gdbtrace.core.trace;
99d7adc6 14
5db5a3a4
AM
15import static org.eclipse.tracecompass.common.core.NonNullUtils.checkNotNull;
16
99d7adc6 17import org.eclipse.jdt.annotation.NonNull;
e1de2fd4 18import org.eclipse.tracecompass.internal.gdbtrace.core.event.GdbTraceEvent;
04c0d7d3 19import org.eclipse.tracecompass.internal.gdbtrace.core.event.GdbTraceEventContent;
2bdf0193 20import org.eclipse.tracecompass.tmf.core.event.ITmfEvent;
9447c7ee
AM
21import org.eclipse.tracecompass.tmf.core.event.aspect.ITmfEventAspect;
22import org.eclipse.tracecompass.tmf.core.event.aspect.TmfEventFieldAspect;
99d7adc6
AM
23
24import com.google.common.collect.ImmutableList;
25
26/**
27 * Event table column definition for GDB traces.
28 *
29 * @author Alexandre Montplaisir
30 */
b04903a2 31public final class GdbEventAspects {
99d7adc6 32
b04903a2 33 private GdbEventAspects() {}
99d7adc6 34
5db5a3a4
AM
35 private static final @NonNull Iterable<ITmfEventAspect> GDB_ASPECTS =
36 checkNotNull(ImmutableList.of(
37 new GdbTraceFrameAspect(),
38 new GdbTracepointAspect(),
39 new GdbFileAspect()
40 ));
99d7adc6 41
9447c7ee
AM
42 private static class GdbTraceFrameAspect extends TmfEventFieldAspect {
43 public GdbTraceFrameAspect() {
44 super(GdbTraceEventContent.TRACE_FRAME,
45 GdbTraceEventContent.TRACE_FRAME);
99d7adc6
AM
46 }
47 }
48
9447c7ee
AM
49 private static class GdbTracepointAspect extends TmfEventFieldAspect {
50 public GdbTracepointAspect() {
51 super(GdbTraceEventContent.TRACEPOINT,
52 GdbTraceEventContent.TRACEPOINT);
99d7adc6
AM
53 }
54 }
55
9447c7ee 56 private static class GdbFileAspect implements ITmfEventAspect {
99d7adc6 57
9447c7ee
AM
58 @Override
59 public String getName() {
60 return "File"; //$NON-NLS-1$
61 }
62
63 @Override
64 public String getHelpText() {
65 return EMPTY_STRING;
99d7adc6
AM
66 }
67
68 @Override
9447c7ee 69 public String resolve(ITmfEvent event) {
e1de2fd4
AM
70 if (!(event instanceof GdbTraceEvent)) {
71 return EMPTY_STRING;
72 }
73 String ret = ((GdbTraceEvent) event).getReference();
99d7adc6
AM
74 return (ret == null ? EMPTY_STRING : ret);
75 }
99d7adc6
AM
76 }
77
b04903a2
AM
78 /**
79 * Get the event aspects specific to GDB traces.
80 *
81 * @return The set of aspects
82 */
8192209b 83 public static @NonNull Iterable<ITmfEventAspect> getAspects() {
b04903a2 84 return GDB_ASPECTS;
99d7adc6
AM
85 }
86}
This page took 0.035351 seconds and 5 git commands to generate.