xref: /haiku/src/kits/debugger/value/ValueWriter.h (revision 899e0ef82b5624ace2ccfa5f5a58c8ebee54aaef)
1 /*
2  * Copyright 2015, Rene Gollent, rene@gollent.com.
3  * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de.
4  * Distributed under the terms of the MIT License.
5  */
6 #ifndef VALUE_WRITER_H
7 #define VALUE_WRITER_H
8 
9 
10 #include <OS.h>
11 #include <String.h>
12 
13 #include <Variant.h>
14 
15 
16 class Architecture;
17 class CpuState;
18 class DebuggerInterface;
19 class ValueLocation;
20 
21 
22 class ValueWriter {
23 public:
24 								ValueWriter(Architecture* architecture,
25 									DebuggerInterface* interface,
26 									CpuState* cpuState,
27 									thread_id targetThread);
28 									// cpuState can be NULL
29 								~ValueWriter();
30 
31 			Architecture*		GetArchitecture() const
32 									{ return fArchitecture; }
33 
34 			status_t			WriteValue(ValueLocation* location,
35 									BVariant& value);
36 
37 private:
38 			Architecture*		fArchitecture;
39 			DebuggerInterface*	fDebuggerInterface;
40 			CpuState*			fCpuState;
41 			thread_id			fTargetThread;
42 };
43 
44 
45 #endif	// VALUE_WRITER_H
46