frysk.gui.memory
Class MemoryWindowFactory

java.lang.Object
  extended by frysk.gui.memory.MemoryWindowFactory

public class MemoryWindowFactory
extends Object

Factory for creating MemoryWindows - allows multiple MemoryWindows to be instantiated for different processes, and disallows multiple windows on the same process. Uses a ProcBlockCounter to co-ordinate the un-blocking of the process between the Register and SourceWindows if the other two are also running on that process. A singleton class dynamically creating MemoryWindows.


Field Summary
static MemoryWindow memWin
           
 
Constructor Summary
MemoryWindowFactory()
           
 
Method Summary
static void createMemoryWindow(Proc proc, SteppingEngine steppingEngine)
          Performs checks to ensure no other MemoryWindow is running on this Task; if not, assigns a ProcBlockCounter and attaches an Observer if there is no other Window already running on this Task.
static void setMemWin(Proc proc)
          Used by the SourceWindow to assign the static memWin object which it uses to ensure there is only one MemoryWindow running for its Task.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

memWin

public static MemoryWindow memWin
Constructor Detail

MemoryWindowFactory

public MemoryWindowFactory()
Method Detail

createMemoryWindow

public static void createMemoryWindow(Proc proc,
                                      SteppingEngine steppingEngine)
Performs checks to ensure no other MemoryWindow is running on this Task; if not, assigns a ProcBlockCounter and attaches an Observer if there is no other Window already running on this Task.

Parameters:
proc - The Proc to be examined by the new MemoryWindow.

setMemWin

public static void setMemWin(Proc proc)
Used by the SourceWindow to assign the static memWin object which it uses to ensure there is only one MemoryWindow running for its Task.

Parameters:
proc - The Proc used to find the MemoryWindow representing it.