frysk.gui.disassembler
Class DisassemblyWindowFactory

java.lang.Object
  extended by frysk.gui.disassembler.DisassemblyWindowFactory

public class DisassemblyWindowFactory
extends Object

Factory for creating DisassemblyWindows - allows multiple DisassemblyWindows 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 DisassemblyWindows.


Nested Class Summary
private static class DisassemblyWindowFactory.DisWinListener
          A wrapper for LifeCycleListener which cleans up when the DisassemblyWindow is closed.
 
Field Summary
private static String DIS_GLADE
           
static DisassemblyWindow disWin
           
private static HashMap map
           
private static HashMap seMap
           
 
Constructor Summary
DisassemblyWindowFactory()
           
 
Method Summary
static void createDisassemblyWindow(Proc proc, SteppingEngine steppingEngine)
          Performs checks to ensure no other DisassemblyWindow is running on this Task; if not, assigns a ProcBlockCounter and attaches an Observer if there is no other Window already running on this Proc.
static void setDisWin(Proc proc)
          Used by the SourceWindow to assign the static memWin object which it uses to ensure there is only one DisassemblyWindow running for its Proc.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

disWin

public static DisassemblyWindow disWin

map

private static HashMap map

seMap

private static HashMap seMap

DIS_GLADE

private static final String DIS_GLADE
See Also:
Constant Field Values
Constructor Detail

DisassemblyWindowFactory

public DisassemblyWindowFactory()
Method Detail

createDisassemblyWindow

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

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

setDisWin

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

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