1/*
2 * Copyright 2013, Rene Gollent, rene@gollent.com.
3 * Distributed under the terms of the MIT License.
4 */
5#ifndef AREA_INFO_H
6#define AREA_INFO_H
7
8#include <OS.h>
9#include <String.h>
10
11#include "Types.h"
12
13
14class AreaInfo {
15public:
16								AreaInfo();
17								AreaInfo(const AreaInfo& other);
18								AreaInfo(team_id team, area_id area,
19									const BString& name, target_addr_t address,
20									target_size_t size, target_size_t ram_size,
21									uint32 lock, uint32 protection);
22
23			void				SetTo(team_id team, area_id area,
24									const BString& name, target_addr_t address,
25									target_size_t size, target_size_t ram_size,
26									uint32 lock, uint32 protection);
27
28			team_id				TeamID() const	{ return fTeam; }
29			area_id				AreaID() const	{ return fArea; }
30			const BString&		Name() const	{ return fName; }
31
32			target_addr_t		BaseAddress() const	{ return fAddress; }
33			target_size_t		Size() const		{ return fSize; }
34			target_size_t		RamSize() const 	{ return fRamSize; }
35			uint32				Lock() const		{ return fLock; }
36			uint32				Protection() const	{ return fProtection; }
37
38
39private:
40			team_id				fTeam;
41			area_id				fArea;
42			BString				fName;
43			target_addr_t		fAddress;
44			target_size_t		fSize;
45			target_size_t		fRamSize;
46			uint32				fLock;
47			uint32				fProtection;
48};
49
50
51#endif // AREA_INFO_H
52