xref: /haiku/src/kits/debugger/debug_managers/WatchpointManager.h (revision 21258e2674226d6aa732321b6f8494841895af5f)
1 /*
2  * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de.
3  * Copyright 2012, Rene Gollent, rene@gollent.com.
4  * Distributed under the terms of the MIT License.
5  */
6 #ifndef WATCHPOINT_MANAGER_H
7 #define WATCHPOINT_MANAGER_H
8 
9 #include <Locker.h>
10 
11 #include "Watchpoint.h"
12 
13 
14 class DebuggerInterface;
15 class Team;
16 
17 
18 class WatchpointManager {
19 public:
20 								WatchpointManager(Team* team,
21 									DebuggerInterface* debuggerInterface);
22 								~WatchpointManager();
23 
24 			status_t			Init();
25 
26 			status_t			InstallWatchpoint(Watchpoint* watchpoint,
27 									bool enabled);
28 			void				UninstallWatchpoint(Watchpoint* watchpoint);
29 
30 private:
31 			BLocker				fLock;	// used to synchronize un-/installing
32 			Team*				fTeam;
33 			DebuggerInterface*	fDebuggerInterface;
34 };
35 
36 
37 #endif	// WATCHPOINT_MANAGER_H
38