/** * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * See the NOTICE file distributed with this work for additional * information regarding copyright ownership. */ package org.sintef.thingml.resource.thingml.debug; public class ThingmlDebugProcess extends org.sintef.thingml.resource.thingml.debug.ThingmlDebugElement implements org.eclipse.debug.core.model.IProcess, org.sintef.thingml.resource.thingml.debug.IThingmlDebugEventListener { private org.eclipse.debug.core.ILaunch launch; private boolean terminated = false; public ThingmlDebugProcess(org.eclipse.debug.core.ILaunch launch) { super(launch.getDebugTarget()); this.launch = launch; } public boolean canTerminate() { return !terminated; } public boolean isTerminated() { return terminated; } public void terminate() throws org.eclipse.debug.core.DebugException { terminated = true; } public String getLabel() { return null; } public org.eclipse.debug.core.ILaunch getLaunch() { return launch; } public org.eclipse.debug.core.model.IStreamsProxy getStreamsProxy() { return null; } public void setAttribute(String key, String value) { } public String getAttribute(String key) { return null; } public int getExitValue() throws org.eclipse.debug.core.DebugException { return 0; } public void handleMessage(org.sintef.thingml.resource.thingml.debug.ThingmlDebugMessage message) { if (message.hasType(org.sintef.thingml.resource.thingml.debug.EThingmlDebugMessageTypes.TERMINATED)) { terminated = true; } else { // ignore other events } } }