提交 c4b90025 编写于 作者: A Alexander Fedorov

#2556 add DBGEvent class to notify pass notifications from DBGController

上级 ad740162
package org.jkiss.dbeaver.debug;
import java.util.EventObject;
public class DBGEvent extends EventObject {
private static final long serialVersionUID = 1L;
public DBGEvent(Object source) {
super(source);
}
}
......@@ -35,6 +35,7 @@ import org.eclipse.debug.core.model.IProcess;
import org.eclipse.debug.core.model.IThread;
import org.eclipse.osgi.util.NLS;
import org.jkiss.dbeaver.debug.DBGController;
import org.jkiss.dbeaver.debug.DBGEvent;
import org.jkiss.dbeaver.debug.DBGException;
import org.jkiss.dbeaver.debug.core.DebugCore;
import org.jkiss.dbeaver.model.runtime.DefaultProgressMonitor;
......@@ -263,18 +264,29 @@ public abstract class DatabaseDebugTarget extends DatabaseDebugElement implement
@Override
public boolean canDisconnect() {
return false;
return true;
}
@Override
public void disconnect() throws DebugException {
//FIXME:AF:delegare to controller
try {
controller.detach(sessionKey, getProgressMonitor());
} catch (DBGException e) {
String message = NLS.bind("Error disconnecting {0}", getName());
IStatus status = DebugCore.newErrorStatus(message, e);
throw new DebugException(status);
}
}
@Override
public boolean isDisconnected() {
return false;
}
@Override
public DebugEvent toDebugEvent(DBGEvent event) {
return new DebugEvent(event.getSource(), DebugEvent.MODEL_SPECIFIC);
}
@Override
public boolean supportsStorageRetrieval() {
......
......@@ -19,13 +19,17 @@ package org.jkiss.dbeaver.debug.core.model;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.debug.core.DebugEvent;
import org.eclipse.debug.core.IBreakpointManagerListener;
import org.eclipse.debug.core.IDebugEventSetListener;
import org.eclipse.debug.core.model.IDebugTarget;
import org.jkiss.dbeaver.debug.DBGController;
import org.jkiss.dbeaver.debug.DBGEvent;
public interface IDatabaseDebugTarget extends IDebugTarget, IDebugEventSetListener, IBreakpointManagerListener {
DebugEvent toDebugEvent(DBGEvent event);
DBGController getController();
void connect(IProgressMonitor monitor) throws CoreException;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册