/******************************************************************************* * Copyright (c) 2009 QNX Software Systems and others. * 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: * QNX Software Systems - Initial API and implementation * Wind River Systems - Modified for new DSF Reference Implementation * Ericsson - Modified for handling of frame contexts *******************************************************************************/ package org.eclipse.cdt.dsf.mi.service.command.commands; import org.eclipse.cdt.dsf.debug.service.IFormattedValues; import org.eclipse.cdt.dsf.debug.service.command.ICommandControlService.ICommandControlDMContext; import org.eclipse.cdt.dsf.mi.service.command.output.MIOutput; import org.eclipse.cdt.dsf.mi.service.command.output.MIVarSetFormatInfo; /** * * -var-set-format NAME FORMAT-SPEC * * Sets the output format for the value of the object NAME to be * FORMAT-SPEC. * * The syntax for the FORMAT-SPEC is as follows: * * FORMAT-SPEC ==> * {binary | decimal | hexadecimal | octal | natural} * */ public class MIVarSetFormat extends MICommand<MIVarSetFormatInfo> { /** * @since 1.1 */ public MIVarSetFormat(ICommandControlDMContext ctx, String name, String fmt) { super(ctx, "-var-set-format"); //$NON-NLS-1$ setParameters(new String[]{name, getFormat(fmt)}); } private String getFormat(String fmt){ String format = "natural"; //$NON-NLS-1$ if (IFormattedValues.HEX_FORMAT.equals(fmt)) { format = "hexadecimal"; //$NON-NLS-1$ } else if (IFormattedValues.BINARY_FORMAT.equals(fmt)) { format = "binary"; //$NON-NLS-1$ } else if (IFormattedValues.OCTAL_FORMAT.equals(fmt)) { format = "octal"; //$NON-NLS-1$ } else if (IFormattedValues.NATURAL_FORMAT.equals(fmt)) { format = "natural"; //$NON-NLS-1$ } else if (IFormattedValues.DECIMAL_FORMAT.equals(fmt)) { format = "decimal"; //$NON-NLS-1$ } return format; } @Override public MIVarSetFormatInfo getResult(MIOutput out) { return new MIVarSetFormatInfo(out); } }