1 /*******************************************************************************
2 * Copyright (c) 2014, 2015 Ericsson
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
10 * Vincent Perot - Initial API and implementation
11 * Alexandre Montplaisir - Update to new ITmfEventAspect API
12 * Patrick Tasse - Make pcap aspects singletons
13 *******************************************************************************/
15 package org
.eclipse
.tracecompass
.internal
.tmf
.pcap
.core
.event
.aspect
;
17 import org
.eclipse
.jdt
.annotation
.Nullable
;
18 import org
.eclipse
.tracecompass
.internal
.tmf
.pcap
.core
.event
.PcapEvent
;
19 import org
.eclipse
.tracecompass
.internal
.tmf
.pcap
.core
.protocol
.TmfPcapProtocol
;
20 import org
.eclipse
.tracecompass
.tmf
.core
.event
.ITmfEvent
;
21 import org
.eclipse
.tracecompass
.tmf
.core
.event
.aspect
.ITmfEventAspect
;
24 * The packet source aspect for pcap events.
26 * This normally represents the source address of the packet, and the format
27 * depends on the protocol (e.g. source IP address, source port, etc.)
29 * @author Alexandre Montplaisir
31 public class PcapSourceAspect
implements ITmfEventAspect
<String
> {
33 /** Singleton instance */
34 public static final PcapSourceAspect INSTANCE
= new PcapSourceAspect();
36 private PcapSourceAspect() {
40 public String
getName() {
41 return Messages
.getMessage(Messages
.PcapAspectName_Source
);
45 public String
getHelpText() {
50 public @Nullable String
resolve(ITmfEvent event
) {
51 if (!(event
instanceof PcapEvent
)) {
54 PcapEvent pcapEvent
= (PcapEvent
) event
;
55 TmfPcapProtocol protocol
= pcapEvent
.getMostEncapsulatedProtocol();
57 return pcapEvent
.getSourceEndpoint(protocol
);