package javax.safetycritical;
import vm.Memory;
class ScjOneShotEventHandlerProcess extends ScjProcess {
ScjOneShotEventHandlerProcess(ManagedSchedulable handler, int[] stack) {
super(handler, stack);
}
protected void gotoNextState(PriorityFrame pFrame)
{
if (state == ScjProcess.State.HANDLED) {
// oneShotHandler finished
Mission.getMission().msSetForMission.removeMSObject(msObject);
state = ScjProcess.State.TERMINATED;
}
else if (state == ScjProcess.State.WAITING) {
;
}
else if (state == ScjProcess.State.REQUIRELOCK) {
;
}
else {
state = ScjProcess.State.READY;
pFrame.readyQueue.insert(this);
}
}
void switchToPrivateMemArea() {
Memory.switchToArea(((ManagedEventHandler)msObject).privateMemory.getDelegate());
}
}