1/*
2 * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de.
3 * Copyright 2014-2016, Rene Gollent, rene@gollent.com.
4 * Distributed under the terms of the MIT License.
5 */
6#ifndef DWARF_TEAM_DEBUG_INFO_H
7#define DWARF_TEAM_DEBUG_INFO_H
8
9#include "SpecificTeamDebugInfo.h"
10
11
12class Architecture;
13class DebuggerInterface;
14class DwarfManager;
15class FileManager;
16class ImageInfo;
17class GlobalTypeCache;
18class GlobalTypeLookup;
19class TeamFunctionSourceInformation;
20class TeamMemory;
21
22
23class DwarfTeamDebugInfo : public SpecificTeamDebugInfo {
24public:
25								DwarfTeamDebugInfo(Architecture* architecture,
26									DebuggerInterface* interface,
27									FileManager* fileManager,
28									GlobalTypeLookup* typeLookup,
29									TeamFunctionSourceInformation* sourceInfo,
30									GlobalTypeCache* typeCache);
31	virtual						~DwarfTeamDebugInfo();
32
33			status_t			Init();
34
35	virtual	status_t			CreateImageDebugInfo(const ImageInfo& imageInfo,
36									LocatableFile* imageFile,
37									ImageDebugInfoLoadingState& _state,
38									SpecificImageDebugInfo*& _imageDebugInfo);
39
40private:
41			Architecture*		fArchitecture;
42			DebuggerInterface*	fDebuggerInterface;
43			FileManager*		fFileManager;
44			DwarfManager*		fManager;
45			GlobalTypeLookup*	fTypeLookup;
46			TeamFunctionSourceInformation* fSourceInfo;
47			GlobalTypeCache*	fTypeCache;
48};
49
50
51#endif	// DWARF_TEAM_DEBUG_INFO_H
52