xref: /haiku/headers/private/debugger/model/SemaphoreInfo.h (revision e81a954787e50e56a7f06f72705b7859b6ab06d1)
1 /*
2  * Copyright 2013, Rene Gollent, rene@gollent.com.
3  * Distributed under the terms of the MIT License.
4  */
5 #ifndef SEMAPHORE_INFO_H
6 #define SEMAPHORE_INFO_H
7 
8 #include <OS.h>
9 #include <String.h>
10 
11 #include "Types.h"
12 
13 
14 class SemaphoreInfo {
15 public:
16 								SemaphoreInfo();
17 								SemaphoreInfo(const SemaphoreInfo& other);
18 								SemaphoreInfo(team_id team, sem_id semaphore,
19 									const BString& name, int32 count,
20 									thread_id latestHolder);
21 
22 			void				SetTo(team_id team, sem_id semaphore,
23 									const BString& name, int32 count,
24 									thread_id latestHolder);
25 
26 			team_id				TeamID() const	{ return fTeam; }
27 			area_id				SemID() const	{ return fSemaphore; }
28 			const BString&		Name() const	{ return fName; }
29 
30 			int32				Count() const	{ return fCount; }
31 			thread_id			LatestHolder() const
32 												{ return fLatestHolder; }
33 private:
34 			team_id				fTeam;
35 			sem_id				fSemaphore;
36 			BString				fName;
37 			int32				fCount;
38 			thread_id			fLatestHolder;
39 };
40 
41 
42 #endif // AREA_INFO_H
43