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