3rdparty/licenseReport: Add seperate LGPL checks
[haiku.git] / src / kits / debugger / dwarf / DwarfManager.h
blobc15285c88b2f360599e9ee4f783cede8deafe69d
1 /*
2 * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de.
3 * Copyright 2014, Rene Gollent, rene@gollent.com.
4 * Distributed under the terms of the MIT License.
5 */
6 #ifndef DWARF_MANAGER_H
7 #define DWARF_MANAGER_H
9 #include <Locker.h>
11 #include <util/DoublyLinkedList.h>
14 class DwarfFile;
15 struct DwarfFileLoadingState;
18 class DwarfManager {
19 public:
20 DwarfManager(uint8 addressSize);
21 ~DwarfManager();
23 status_t Init();
25 bool Lock() { return fLock.Lock(); }
26 void Unlock() { fLock.Unlock(); }
28 status_t LoadFile(const char* fileName,
29 DwarfFileLoadingState& _loadingState);
30 // _loadingState receives a reference
31 // to the corresponding DwarfFile.
33 status_t FinishLoading();
35 private:
36 typedef DoublyLinkedList<DwarfFile> FileList;
38 private:
39 uint8 fAddressSize;
40 BLocker fLock;
41 FileList fFiles;
46 #endif // DWARF_MANAGER_H