xref: /haiku/headers/private/debug/DebugMessageHandler.h (revision 27a115f6685cc7821dd2ab6d528d6f3abe70158d)
153446ebfSIngo Weinhold /*
253446ebfSIngo Weinhold  * Copyright 2010, Ingo Weinhold, ingo_weinhold@gmx.de.
353446ebfSIngo Weinhold  * Distributed under the terms of the MIT License.
453446ebfSIngo Weinhold  */
553446ebfSIngo Weinhold #ifndef _DEBUG_MESSAGE_HANDLER_H
653446ebfSIngo Weinhold #define _DEBUG_MESSAGE_HANDLER_H
753446ebfSIngo Weinhold 
853446ebfSIngo Weinhold 
953446ebfSIngo Weinhold #include <debugger.h>
1053446ebfSIngo Weinhold 
1153446ebfSIngo Weinhold 
1253446ebfSIngo Weinhold class BDebugMessageHandler {
1353446ebfSIngo Weinhold public:
1453446ebfSIngo Weinhold 	virtual						~BDebugMessageHandler();
1553446ebfSIngo Weinhold 
1653446ebfSIngo Weinhold 	virtual	bool				HandleDebugMessage(int32 messageCode,
1753446ebfSIngo Weinhold 									const debug_debugger_message_data& message);
1853446ebfSIngo Weinhold 
1953446ebfSIngo Weinhold 	virtual	bool				HandleThreadDebugged(
2053446ebfSIngo Weinhold 									const debug_thread_debugged& message);
2153446ebfSIngo Weinhold 	virtual	bool				HandleDebuggerCall(
2253446ebfSIngo Weinhold 									const debug_debugger_call& message);
2353446ebfSIngo Weinhold 	virtual	bool				HandleBreakpointHit(
2453446ebfSIngo Weinhold 									const debug_breakpoint_hit& message);
2553446ebfSIngo Weinhold 	virtual	bool				HandleWatchpointHit(
2653446ebfSIngo Weinhold 									const debug_watchpoint_hit& message);
2753446ebfSIngo Weinhold 	virtual	bool				HandleSingleStep(
2853446ebfSIngo Weinhold 									const debug_single_step& message);
2953446ebfSIngo Weinhold 	virtual	bool				HandlePreSyscall(
3053446ebfSIngo Weinhold 									const debug_pre_syscall& message);
3153446ebfSIngo Weinhold 	virtual	bool				HandlePostSyscall(
3253446ebfSIngo Weinhold 									const debug_post_syscall& message);
3353446ebfSIngo Weinhold 	virtual	bool				HandleSignalReceived(
3453446ebfSIngo Weinhold 									const debug_signal_received& message);
3553446ebfSIngo Weinhold 	virtual	bool				HandleExceptionOccurred(
3653446ebfSIngo Weinhold 									const debug_exception_occurred& message);
3753446ebfSIngo Weinhold 	virtual	bool				HandleTeamCreated(
3853446ebfSIngo Weinhold 									const debug_team_created& message);
3953446ebfSIngo Weinhold 	virtual	bool				HandleTeamDeleted(
4053446ebfSIngo Weinhold 									const debug_team_deleted& message);
4153446ebfSIngo Weinhold 	virtual	bool				HandleTeamExec(
4253446ebfSIngo Weinhold 									const debug_team_exec& message);
4353446ebfSIngo Weinhold 	virtual	bool				HandleThreadCreated(
4453446ebfSIngo Weinhold 									const debug_thread_created& message);
4553446ebfSIngo Weinhold 	virtual	bool				HandleThreadDeleted(
4653446ebfSIngo Weinhold 									const debug_thread_deleted& message);
4753446ebfSIngo Weinhold 	virtual	bool				HandleImageCreated(
4853446ebfSIngo Weinhold 									const debug_image_created& message);
4953446ebfSIngo Weinhold 	virtual	bool				HandleImageDeleted(
5053446ebfSIngo Weinhold 									const debug_image_deleted& message);
5153446ebfSIngo Weinhold 	virtual	bool				HandleProfilerUpdate(
5253446ebfSIngo Weinhold 									const debug_profiler_update& message);
5353446ebfSIngo Weinhold 	virtual	bool				HandleHandedOver(
5453446ebfSIngo Weinhold 									const debug_handed_over& message);
55*64d5a0a4SIngo Weinhold 
56*64d5a0a4SIngo Weinhold 	virtual	bool				UnhandledDebugMessage(int32 messageCode,
57*64d5a0a4SIngo Weinhold 									const debug_debugger_message_data& message);
5853446ebfSIngo Weinhold };
5953446ebfSIngo Weinhold 
6053446ebfSIngo Weinhold 
6153446ebfSIngo Weinhold #endif	// _DEBUG_MESSAGE_HANDLER_H
62