Skip to content

Commit 6dd7cfc

Browse files
committed
Refactor to support MEP at engine level
1 parent e9745f8 commit 6dd7cfc

File tree

12 files changed

+283
-52
lines changed

12 files changed

+283
-52
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package org.eclipse.gemoc.executionframework.mep.engine;
2+
3+
import org.eclipse.gemoc.executionframework.mep.events.StoppedReason;
4+
import org.eclipse.gemoc.executionframework.mep.launch.MEPLauncherParameters;
5+
import org.eclipse.gemoc.executionframework.mep.types.SourceBreakpoint;
6+
import org.eclipse.gemoc.executionframework.mep.types.StackFrame;
7+
import org.eclipse.gemoc.executionframework.mep.types.Variable;
8+
9+
public interface IMEPEngine {
10+
11+
abstract void internalLaunchEngine(MEPLauncherParameters launchParameters);
12+
13+
abstract StoppedReason internalNext();
14+
15+
abstract StoppedReason internalStepIn();
16+
17+
abstract StoppedReason internalStepOut();
18+
19+
abstract void internalSetBreakpoints(SourceBreakpoint[] breakpoints);
20+
21+
abstract void internalTerminate();
22+
23+
abstract void internalContinue();
24+
25+
abstract Variable[] internalVariables();
26+
27+
abstract StackFrame[] internalStackTrace();
28+
29+
abstract String internalSource();
30+
31+
abstract void addMEPEventListener(IMEPEventListener listener);
32+
33+
abstract void removeMEPEventListener(IMEPEventListener listener);
34+
35+
abstract void removeAllMEPEventListeners();
36+
37+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package org.eclipse.gemoc.executionframework.mep.engine;
2+
3+
import java.util.EventListener;
4+
5+
import org.eclipse.gemoc.executionframework.mep.events.Output;
6+
import org.eclipse.gemoc.executionframework.mep.events.Stopped;
7+
8+
public interface IMEPEventListener extends EventListener {
9+
10+
abstract void outputReceived(Output event);
11+
12+
abstract void stopReceived(Stopped event);
13+
14+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package org.eclipse.gemoc.executionframework.mep.engine;
2+
3+
import java.util.EventObject;
4+
5+
public class MEPEvent extends EventObject {
6+
7+
public MEPEvent(Object source) {
8+
super(source);
9+
}
10+
11+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package org.eclipse.gemoc.executionframework.mep.events;
2+
3+
import org.eclipse.gemoc.executionframework.mep.engine.MEPEvent;
4+
5+
public class Output extends MEPEvent {
6+
7+
private String output;
8+
9+
public Output(Object source, String output) {
10+
super(source);
11+
this.output = output;
12+
}
13+
14+
public String getOutput() {
15+
return output;
16+
}
17+
18+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package org.eclipse.gemoc.executionframework.mep.events;
2+
3+
import org.eclipse.gemoc.executionframework.mep.engine.MEPEvent;
4+
5+
public class Stopped extends MEPEvent {
6+
7+
private StoppedReason reason;
8+
9+
public Stopped(Object source, StoppedReason reason) {
10+
super(source);
11+
this.reason = reason;
12+
}
13+
14+
public StoppedReason getReason() {
15+
return reason;
16+
}
17+
18+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package org.eclipse.gemoc.executionframework.mep.events;
2+
3+
public enum StoppedReason {
4+
REACHED_BREAKPOINT ("breakpoint"),
5+
REACHED_NEXT_LOGICAL_STEP ("step"),
6+
REACHED_SIMULATION_END ("end"),
7+
TIME ("time");
8+
9+
private final String reason;
10+
11+
private StoppedReason(String reason) {
12+
this.reason = reason;
13+
}
14+
15+
@Override
16+
public String toString() {
17+
return this.reason;
18+
}
19+
}

0 commit comments

Comments
 (0)