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
16class Architecture;
17class CpuState;
18class DebuggerInterface;
19class ValueLocation;
20
21
22class ValueWriter {
23public:
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
37private:
38			Architecture*		fArchitecture;
39			DebuggerInterface*	fDebuggerInterface;
40			CpuState*			fCpuState;
41			thread_id			fTargetThread;
42};
43
44
45#endif	// VALUE_WRITER_H
46