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