xref: /haiku/src/servers/registrar/RosterAppInfo.h (revision a632458d8eb985eac127d127ac8e00d08e301d92)
1*a632458dSAxel Dörfler /*
2*a632458dSAxel Dörfler  * Copyright 2001-2007, Ingo Weinhold, bonefish@users.sf.net.
3*a632458dSAxel Dörfler  * Distributed under the terms of the MIT License.
4*a632458dSAxel Dörfler  */
5f9fd58ccSIngo Weinhold #ifndef ROSTER_APP_INFO_H
6f9fd58ccSIngo Weinhold #define ROSTER_APP_INFO_H
7f9fd58ccSIngo Weinhold 
8f9fd58ccSIngo Weinhold #include <Roster.h>
9f9fd58ccSIngo Weinhold 
10f9fd58ccSIngo Weinhold enum application_state {
11bf41b2a2SIngo Weinhold 	APP_STATE_UNREGISTERED,
12f9fd58ccSIngo Weinhold 	APP_STATE_PRE_REGISTERED,
13f9fd58ccSIngo Weinhold 	APP_STATE_REGISTERED,
14f9fd58ccSIngo Weinhold };
15f9fd58ccSIngo Weinhold 
163a5e7555SIngo Weinhold 
17f9fd58ccSIngo Weinhold struct RosterAppInfo : app_info {
18f9fd58ccSIngo Weinhold 	application_state	state;
193a5e7555SIngo Weinhold 	uint32				token;
203a5e7555SIngo Weinhold 		// token is meaningful only if state is APP_STATE_PRE_REGISTERED and
213a5e7555SIngo Weinhold 		// team is -1.
223a5e7555SIngo Weinhold 	bigtime_t			registration_time;	// time of first addition
23f9fd58ccSIngo Weinhold 
24f9fd58ccSIngo Weinhold 	RosterAppInfo();
253a5e7555SIngo Weinhold 	void Init(thread_id thread, team_id team, port_id port, uint32 flags,
263a5e7555SIngo Weinhold 		const entry_ref *ref, const char *signature);
27553ea301SIngo Weinhold 
28553ea301SIngo Weinhold 	RosterAppInfo *Clone() const;
29*a632458dSAxel Dörfler 	bool IsRunning() const;
30f9fd58ccSIngo Weinhold };
31f9fd58ccSIngo Weinhold 
32f9fd58ccSIngo Weinhold #endif	// ROSTER_APP_INFO_H
33