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 TEAM_MEMORY_H
7#define TEAM_MEMORY_H
8
9
10#include <Referenceable.h>
11
12#include "TargetAddressRange.h"
13
14
15class BString;
16
17
18class TeamMemory : public BReferenceable {
19public:
20	virtual						~TeamMemory();
21
22
23	virtual	status_t			GetMemoryProperties(target_addr_t baseAddress,
24									uint32& protection, uint32& locking) = 0;
25
26	virtual	ssize_t				ReadMemory(target_addr_t address, void* buffer,
27									size_t size) = 0;
28	virtual	status_t			ReadMemoryString(target_addr_t address,
29									size_t maxLength, BString& _string);
30	virtual ssize_t				WriteMemory(target_addr_t address,
31									void* buffer, size_t size) = 0;
32};
33
34
35#endif	// TEAM_MEMORY_H
36