xref: /haiku/headers/private/debug/DebugMessageHandler.h (revision 53446ebf805fa4851775128a7dbaf12692d005ad)
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