1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-06-07 17:56:01 +02:00

Bug 372795 - Refactor common code in GDBControl* classes

Fixed API compatibility issues.
This commit is contained in:
Mikhail Khodjaiants 2012-03-01 16:53:15 -05:00
parent dddeb4dbcc
commit fb808b7db2
2 changed files with 65 additions and 30 deletions

View file

@ -365,6 +365,7 @@ public class GDBControl extends AbstractMIControl implements IGDBControl {
protected void initialize(RequestMonitor requestMonitor) { protected void initialize(RequestMonitor requestMonitor) {
requestMonitor.done(); requestMonitor.done();
} }
protected void shutdown(RequestMonitor requestMonitor) { protected void shutdown(RequestMonitor requestMonitor) {
requestMonitor.done(); requestMonitor.done();
} }

View file

@ -46,34 +46,70 @@ import org.eclipse.debug.core.ILaunchConfiguration;
public class GDBControl_7_0 extends GDBControl { public class GDBControl_7_0 extends GDBControl {
/** /**
* @deprecated use {@link GDBControl.InitializationShutdownStep}. * @deprecated use {@link GDBControl.InitializationShutdownStep}
*/ */
@Deprecated @Deprecated
public static class InitializationShutdownStep extends GDBControl.InitializationShutdownStep { public static class InitializationShutdownStep extends Sequence.Step {
/** /**
* @deprecated use {@link GDBControl.InitializationShutdownStep.Direction}. * @deprecated use {@link GDBControl.InitializationShutdownStep.Direction}
*/ */
@Deprecated @Deprecated
public enum Direction { INITIALIZING, SHUTTING_DOWN } public enum Direction { INITIALIZING, SHUTTING_DOWN }
private GDBControl.InitializationShutdownStep.Direction fDirection;
private GDBControl.InitializationShutdownStep fDelegate;
public InitializationShutdownStep(Direction direction) {
fDirection = (direction == Direction.INITIALIZING) ?
GDBControl.InitializationShutdownStep.Direction.INITIALIZING :
GDBControl.InitializationShutdownStep.Direction.SHUTTING_DOWN;
public InitializationShutdownStep(Direction direction) { fDelegate = new GDBControl.InitializationShutdownStep(fDirection);
super((direction == Direction.INITIALIZING) ? }
GDBControl.InitializationShutdownStep.Direction.INITIALIZING :
GDBControl.InitializationShutdownStep.Direction.SHUTTING_DOWN); private InitializationShutdownStep(
} GDBControl.InitializationShutdownStep.Direction direction,
GDBControl.InitializationShutdownStep delegate) {
fDirection = direction;
fDelegate = delegate;
}
@Override
final public void execute(RequestMonitor requestMonitor) {
if (fDirection == GDBControl.InitializationShutdownStep.Direction.INITIALIZING) {
initialize(requestMonitor);
} else {
shutdown(requestMonitor);
}
}
@Override
final public void rollBack(RequestMonitor requestMonitor) {
if (fDirection == GDBControl.InitializationShutdownStep.Direction.INITIALIZING) {
shutdown(requestMonitor);
} else {
super.rollBack(requestMonitor);
}
}
protected void initialize(RequestMonitor requestMonitor) {
fDelegate.initialize(requestMonitor);
}
protected void shutdown(RequestMonitor requestMonitor) {
fDelegate.shutdown(requestMonitor);
}
} }
/** /**
* @deprecated use {@link GDBControl.CommandMonitoringStep}. * @deprecated use {@link GDBControl.CommandMonitoringStep}
*/ */
@Deprecated @Deprecated
protected class CommandMonitoringStep extends GDBControl.CommandMonitoringStep { protected class CommandMonitoringStep extends InitializationShutdownStep {
CommandMonitoringStep(GDBControl_7_0.InitializationShutdownStep.Direction direction) { CommandMonitoringStep(GDBControl.InitializationShutdownStep.Direction direction) {
super((direction == GDBControl_7_0.InitializationShutdownStep.Direction.INITIALIZING) ? super(direction, new GDBControl.CommandMonitoringStep(direction));
GDBControl.InitializationShutdownStep.Direction.INITIALIZING :
GDBControl.InitializationShutdownStep.Direction.SHUTTING_DOWN);
} }
} }
@ -81,12 +117,10 @@ public class GDBControl_7_0 extends GDBControl {
* @deprecated use {@link GDBControl.CommandProcessorsStep}. * @deprecated use {@link GDBControl.CommandProcessorsStep}.
*/ */
@Deprecated @Deprecated
protected class CommandProcessorsStep extends GDBControl.CommandProcessorsStep { protected class CommandProcessorsStep extends InitializationShutdownStep {
CommandProcessorsStep(GDBControl_7_0.InitializationShutdownStep.Direction direction) { CommandProcessorsStep(GDBControl.InitializationShutdownStep.Direction direction) {
super((direction == GDBControl_7_0.InitializationShutdownStep.Direction.INITIALIZING) ? super(direction, new GDBControl.CommandProcessorsStep(direction));
GDBControl.InitializationShutdownStep.Direction.INITIALIZING :
GDBControl.InitializationShutdownStep.Direction.SHUTTING_DOWN);
} }
} }
@ -94,12 +128,10 @@ public class GDBControl_7_0 extends GDBControl {
* @deprecated use {@link GDBControl.RegisterStep}. * @deprecated use {@link GDBControl.RegisterStep}.
*/ */
@Deprecated @Deprecated
protected class RegisterStep extends GDBControl.RegisterStep { protected class RegisterStep extends InitializationShutdownStep {
RegisterStep(GDBControl_7_0.InitializationShutdownStep.Direction direction) { RegisterStep(GDBControl.InitializationShutdownStep.Direction direction) {
super((direction == GDBControl_7_0.InitializationShutdownStep.Direction.INITIALIZING) ? super(direction, new GDBControl.RegisterStep(direction));
GDBControl.InitializationShutdownStep.Direction.INITIALIZING :
GDBControl.InitializationShutdownStep.Direction.SHUTTING_DOWN);
} }
} }
@ -178,9 +210,11 @@ public class GDBControl_7_0 extends GDBControl {
/** @since 4.0 */ /** @since 4.0 */
protected class ListFeaturesStep extends GDBControl.InitializationShutdownStep { protected class ListFeaturesStep extends InitializationShutdownStep {
ListFeaturesStep(GDBControl.InitializationShutdownStep.Direction direction) { super(direction); } ListFeaturesStep(GDBControl.InitializationShutdownStep.Direction direction) {
super(direction, new GDBControl.InitializationShutdownStep(direction));
}
@Override @Override
protected void initialize(final RequestMonitor requestMonitor) { protected void initialize(final RequestMonitor requestMonitor) {