1*53446ebfSIngo Weinhold /* 2*53446ebfSIngo Weinhold * Copyright 2010, Ingo Weinhold, ingo_weinhold@gmx.de. 3*53446ebfSIngo Weinhold * Distributed under the terms of the MIT License. 4*53446ebfSIngo Weinhold */ 5*53446ebfSIngo Weinhold #ifndef _DEBUG_MESSAGE_HANDLER_H 6*53446ebfSIngo Weinhold #define _DEBUG_MESSAGE_HANDLER_H 7*53446ebfSIngo Weinhold 8*53446ebfSIngo Weinhold 9*53446ebfSIngo Weinhold #include <debugger.h> 10*53446ebfSIngo Weinhold 11*53446ebfSIngo Weinhold 12*53446ebfSIngo Weinhold class BDebugMessageHandler { 13*53446ebfSIngo Weinhold public: 14*53446ebfSIngo Weinhold virtual ~BDebugMessageHandler(); 15*53446ebfSIngo Weinhold 16*53446ebfSIngo Weinhold virtual bool HandleDebugMessage(int32 messageCode, 17*53446ebfSIngo Weinhold const debug_debugger_message_data& message); 18*53446ebfSIngo Weinhold 19*53446ebfSIngo Weinhold virtual bool HandleThreadDebugged( 20*53446ebfSIngo Weinhold const debug_thread_debugged& message); 21*53446ebfSIngo Weinhold virtual bool HandleDebuggerCall( 22*53446ebfSIngo Weinhold const debug_debugger_call& message); 23*53446ebfSIngo Weinhold virtual bool HandleBreakpointHit( 24*53446ebfSIngo Weinhold const debug_breakpoint_hit& message); 25*53446ebfSIngo Weinhold virtual bool HandleWatchpointHit( 26*53446ebfSIngo Weinhold const debug_watchpoint_hit& message); 27*53446ebfSIngo Weinhold virtual bool HandleSingleStep( 28*53446ebfSIngo Weinhold const debug_single_step& message); 29*53446ebfSIngo Weinhold virtual bool HandlePreSyscall( 30*53446ebfSIngo Weinhold const debug_pre_syscall& message); 31*53446ebfSIngo Weinhold virtual bool HandlePostSyscall( 32*53446ebfSIngo Weinhold const debug_post_syscall& message); 33*53446ebfSIngo Weinhold virtual bool HandleSignalReceived( 34*53446ebfSIngo Weinhold const debug_signal_received& message); 35*53446ebfSIngo Weinhold virtual bool HandleExceptionOccurred( 36*53446ebfSIngo Weinhold const debug_exception_occurred& message); 37*53446ebfSIngo Weinhold virtual bool HandleTeamCreated( 38*53446ebfSIngo Weinhold const debug_team_created& message); 39*53446ebfSIngo Weinhold virtual bool HandleTeamDeleted( 40*53446ebfSIngo Weinhold const debug_team_deleted& message); 41*53446ebfSIngo Weinhold virtual bool HandleTeamExec( 42*53446ebfSIngo Weinhold const debug_team_exec& message); 43*53446ebfSIngo Weinhold virtual bool HandleThreadCreated( 44*53446ebfSIngo Weinhold const debug_thread_created& message); 45*53446ebfSIngo Weinhold virtual bool HandleThreadDeleted( 46*53446ebfSIngo Weinhold const debug_thread_deleted& message); 47*53446ebfSIngo Weinhold virtual bool HandleImageCreated( 48*53446ebfSIngo Weinhold const debug_image_created& message); 49*53446ebfSIngo Weinhold virtual bool HandleImageDeleted( 50*53446ebfSIngo Weinhold const debug_image_deleted& message); 51*53446ebfSIngo Weinhold virtual bool HandleProfilerUpdate( 52*53446ebfSIngo Weinhold const debug_profiler_update& message); 53*53446ebfSIngo Weinhold virtual bool HandleHandedOver( 54*53446ebfSIngo Weinhold const debug_handed_over& message); 55*53446ebfSIngo Weinhold }; 56*53446ebfSIngo Weinhold 57*53446ebfSIngo Weinhold 58*53446ebfSIngo Weinhold #endif // _DEBUG_MESSAGE_HANDLER_H 59