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
14class ImageInfo {
15public:
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
42private:
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