xref: /haiku/headers/private/debugger/model/ImageInfo.h (revision 17889a8c70dbb3d59c1412f6431968753c767bab)
1 /*
2  * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de.
3  * Distributed under the terms of the MIT License.
4  */
5 #ifndef IMAGE_INFO_H
6 #define IMAGE_INFO_H
7 
8 #include <image.h>
9 #include <String.h>
10 
11 #include "Types.h"
12 
13 
14 class ImageInfo {
15 public:
16 								ImageInfo();
17 								ImageInfo(const ImageInfo& other);
18 								ImageInfo(team_id team, image_id image,
19 									const BString& name, image_type type,
20 									target_addr_t textBase,
21 									target_size_t textSize,
22 									target_addr_t dataBase,
23 									target_size_t dataSize);
24 
25 			void				SetTo(team_id team, image_id image,
26 									const BString& name, image_type type,
27 									target_addr_t textBase,
28 									target_size_t textSize,
29 									target_addr_t dataBase,
30 									target_size_t dataSize);
31 
32 			team_id				TeamID() const	{ return fTeam; }
33 			image_id			ImageID() const	{ return fImage; }
34 			const BString&		Name() const	{ return fName; }
35 			image_type			Type() const	{ return fType; }
36 
37 			target_addr_t		TextBase() const	{ return fTextBase; }
38 			target_size_t		TextSize() const	{ return fTextSize; }
39 			target_addr_t		DataBase() const	{ return fDataBase; }
40 			target_size_t		DataSize() const	{ return fDataSize; }
41 
42 private:
43 			thread_id			fTeam;
44 			image_id			fImage;
45 			BString				fName;
46 			image_type			fType;
47 			target_addr_t		fTextBase;
48 			target_size_t		fTextSize;
49 			target_addr_t		fDataBase;
50 			target_size_t		fDataSize;
51 };
52 
53 
54 #endif	// IMAGE_INFO_H
55