/* * #%~ * org.overture.ide.debug * %% * Copyright (C) 2008 - 2014 Overture * %% * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program. If not, see * <http://www.gnu.org/licenses/gpl-3.0.html>. * #~% */ package org.overture.ide.debug.core.dbgp.internal.commands; import java.io.File; import org.overture.ide.debug.core.dbgp.DbgpBaseCommands; import org.overture.ide.debug.core.dbgp.DbgpRequest; import org.overture.ide.debug.core.dbgp.IDbgpCommunicator; import org.overture.ide.debug.core.dbgp.commands.IDbgpOvertureCommands; import org.overture.ide.debug.core.dbgp.exceptions.DbgpException; import org.overture.util.Base64; public class DbgpOvertureCommands extends DbgpBaseCommands implements IDbgpOvertureCommands { private final static String OVERTURE_COMMAND = "xcmd_overture_cmd"; public DbgpOvertureCommands(IDbgpCommunicator communicator) { super(communicator); } public void getCoverage(File file) throws DbgpException { DbgpRequest request = createRequest(OVERTURE_COMMAND); request.addOption("-c", "coverage"); //$NON-NLS-1$ request.setData(file.toURI().toString()); send(request); } public void writeCompleteCoverage(File file) throws DbgpException { DbgpRequest request = createRequest(OVERTURE_COMMAND); request.addOption("-c", "write_complete_coverage"); //$NON-NLS-1$ request.setData(file.toURI().toString()); send(request); } public void writeLog(String file) throws DbgpException { DbgpRequest request = createRequest(OVERTURE_COMMAND); request.addOption("-c", "log"); //$NON-NLS-1$ request.addOption("--", Base64.encode(file.getBytes())); send(request); } public void createInstance(String var, String exp) throws DbgpException { DbgpRequest request = createRequest(OVERTURE_COMMAND); request.addOption("-c", "create"); //$NON-NLS-1$ request.addOption("--", Base64.encode((var + " " + exp).getBytes())); } public void getClasses() throws DbgpException { DbgpRequest request = createRequest(OVERTURE_COMMAND); request.addOption("-c", "classes"); //$NON-NLS-1$ } public void getCurrentline() throws DbgpException { DbgpRequest request = createRequest(OVERTURE_COMMAND); request.addOption("-c", "currentline"); //$NON-NLS-1$ } public void getDefault(String name) throws DbgpException { DbgpRequest request = createRequest(OVERTURE_COMMAND); request.addOption("-c", "default"); //$NON-NLS-1$ } public void getFiles() throws DbgpException { DbgpRequest request = createRequest(OVERTURE_COMMAND); request.addOption("-c", "files"); //$NON-NLS-1$ } public void getList() throws DbgpException { DbgpRequest request = createRequest(OVERTURE_COMMAND); request.addOption("-c", "list"); //$NON-NLS-1$ } public void getModules() throws DbgpException { DbgpRequest request = createRequest(OVERTURE_COMMAND); request.addOption("-c", "modules"); //$NON-NLS-1$ } public void getPog(String name) throws DbgpException { DbgpRequest request = createRequest(OVERTURE_COMMAND); request.addOption("-c", "pog"); //$NON-NLS-1$ request.addOption("--", Base64.encode(name.getBytes())); } public void getSource() throws DbgpException { DbgpRequest request = createRequest(OVERTURE_COMMAND); request.addOption("-c", "source"); //$NON-NLS-1$ } public void getStack() throws DbgpException { DbgpRequest request = createRequest(OVERTURE_COMMAND); request.addOption("-c", "stack"); //$NON-NLS-1$ } public void init() throws DbgpException { DbgpRequest request = createRequest(OVERTURE_COMMAND); request.addOption("-c", "init"); //$NON-NLS-1$ } public void runTrace(String name, int testNo, boolean debug) throws DbgpException { DbgpRequest request = createRequest(OVERTURE_COMMAND); request.addOption("-c", "runtrace"); //$NON-NLS-1$ request.addOption("--", Base64.encode((name + " " + testNo + " " + debug).getBytes())); } public void writeLatex(File dir, File file) throws DbgpException { DbgpRequest request = createRequest(OVERTURE_COMMAND); request.addOption("-c", "latex"); //$NON-NLS-1$ request.addOption("--", Base64.encode((dir.toURI() + " " + file.toURI()).getBytes())); } public void writeLatexdoc(File dir, File file) throws DbgpException { DbgpRequest request = createRequest(OVERTURE_COMMAND); request.addOption("-c", "latexdoc"); //$NON-NLS-1$ request.addOption("--", Base64.encode((dir.toURI() + " " + file.toURI()).getBytes())); } public void writeTrace(File file, int lnum, String display) throws DbgpException { DbgpRequest request = createRequest(OVERTURE_COMMAND); request.addOption("-c", "trace"); //$NON-NLS-1$ request.addOption("--", Base64.encode((file.toURI() + " " + lnum + " " + display).getBytes())); } }