/*******************************************************************************
* Copyright (c) 2011, 2014 Ericsson
*
* All rights reserved. This program and the accompanying materials are
* made available under the terms of the Eclipse Public License v1.0 which
* accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Francois Chouinard - Initial API and implementation
* Patrick Tasse - Updated for TMF 2.0
*******************************************************************************/
package org.eclipse.tracecompass.internal.gdbtrace.core.event;
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.tracecompass.tmf.core.event.ITmfEventField;
import org.eclipse.tracecompass.tmf.core.event.TmfEventField;
/**
* GDB Trace implementation of TmfEventField
* @author Francois Chouinard
*/
public class GdbTraceEventContent extends TmfEventField {
/** Trace Frame field name */
public static final @NonNull String TRACE_FRAME = "Trace Frame"; //$NON-NLS-1$
/** Tracepoint field name */
public static final @NonNull String TRACEPOINT = "Tracepoint"; //$NON-NLS-1$
// Tracepoint number
private int fTracepointNumber = 0;
// frame number
private int fFrameNumber = 0;
// ------------------------------------------------------------------------
// Constructors
// ------------------------------------------------------------------------
/**
* Full constructor
* @param content the raw content
* @param tracepointNumber the tracepoint number
* @param frameNumber the frame number
*/
public GdbTraceEventContent(String content, int tracepointNumber, int frameNumber) {
// TmfEvent parent, Object content
super(ITmfEventField.ROOT_FIELD_ID,
content.replaceAll("\r?\n", " | "), //$NON-NLS-1$ //$NON-NLS-2$
new ITmfEventField[] {
new TmfEventField(TRACE_FRAME, frameNumber, null),
new TmfEventField(TRACEPOINT, tracepointNumber, null)
});
fTracepointNumber = tracepointNumber;
fFrameNumber = frameNumber;
}
/**
* @param other the original event content
*/
public GdbTraceEventContent(GdbTraceEventContent other) {
super(other);
}
// ------------------------------------------------------------------------
// Accessors
// ------------------------------------------------------------------------
/**
* @return the tracepointNumber
*/
public int getTracepointNumber() {
return fTracepointNumber;
}
/**
* @return the frameNumber
*/
public int getFrameNumber() {
return fFrameNumber;
}
// ------------------------------------------------------------------------
// Object
// ------------------------------------------------------------------------
@Override
public String toString() {
return getValue().toString();
}
}