xref: /haiku/headers/private/debugger/model/AreaInfo.h (revision 3c08adef21129761f27ae654a1c5d1705786691a)
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 
14 class AreaInfo {
15 public:
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 
39 private:
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