/*
* #%~
* 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.model;
import java.net.URI;
import org.eclipse.debug.core.DebugException;
import org.eclipse.debug.core.model.IDebugTarget;
import org.overture.ide.core.resources.IVdmProject;
import org.overture.ide.debug.core.IDebugOptions;
import org.overture.ide.debug.core.dbgp.IDbgpSession;
import org.overture.ide.debug.core.model.internal.IVdmStreamProxy;
import org.overture.ide.debug.logging.LogItem;
public interface IVdmDebugTarget extends IDebugTarget
{
boolean isInitialized();
//
String getSessionId();
// Listener
void addListener(IVdmDebugTargetListener listener);
void removeListener(IVdmDebugTargetListener listener);
// Request timeout
void setRequestTimeout(int timeout);
int getRequestTimeout();
// Stream proxy management
void setStreamProxy(IVdmStreamProxy proxy);
IVdmStreamProxy getStreamProxy();
// Run to line
void runToLine(URI uri, int lineNumber) throws DebugException;
void setFilters(String[] activeFilters);
String[] getFilters();
void setUseStepFilters(boolean useStepFilters);
boolean isUseStepFilters();
// IDLTKLanguageToolkit getLanguageToolkit();
/**
* Returns <code>true</code> if the thread should break on the first executable line of code, <code>false</code>
* otherwise.
*/
boolean breakOnFirstLineEnabled();
void toggleGlobalVariables(boolean enabled);
void toggleClassVariables(boolean enabled);
void toggleLocalVariables(boolean enabled);
boolean retrieveGlobalVariables();
boolean retrieveClassVariables();
boolean retrieveLocalVariables();
String getConsoleEncoding();
IDebugOptions getOptions();
IDbgpSession[] getSessions();
IVdmBreakpointPathMapper getPathMapper();
/**
* @since 2.0
*/
boolean isRemote();
IVdmProject getVdmProject();
public void printLog(LogItem item);
}