This is GuiGdbManager.h in view mode; [Download] [Up]
#import "GdbManager.h" #import "GuiGdbCmd.h" #import "GuiGdbManagerExecLock_Protocol.h" #import "GuiGdbManagerInternal_Protocol.h" #import "DebuggerControllerInternal_Protocol.h" // // GuiGdbManager object coordinates the main Gdb thread // and the DebuggerController thread. It manages the queue // of commands between the two; commands are created in // the Controller thread and executed in the Gdb thread. // @interface GuiGdbManager : GdbManager <GuiGdbManagerExecLock, GuiGdbManagerInternal> { id<DebuggerControllerInternal> controller; // in other thread // how we connect to the controller NSString *controllerConnectionName; // synchs gdb thread w/ controller thread // gdb blocks until provider is avail. NSConditionLock *displayProviderLock; // command queue between threads GdbCmd *cmdQHead; NSConditionLock *cmdQLock; // held when executing a cmd NSLock *execLock; } // // Removes a command from the queue; // can block while waiting for a lock or empty queue. // Called by Gdb thread // - (GdbCmd*) dequeueCmd; // Wakes up controller so it (the controller) can // look for input activity - (void) tellControllerWeAreReadyForInput; // window hook is called by the gdb command loop - (WindowHookFunction) windowHookFunction; // fork controller thread, wait util we get a display // provider, return to gdb. - (int) establishConnection; // called from within Gdb thread after getting cmd - (void) executeCommand:(GdbCmd*)cmd; @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.