1*1299bfb2Sbeveloper /* 2*1299bfb2Sbeveloper * Copyright 2002, Marcus Overhagen. All rights reserved. 3*1299bfb2Sbeveloper * Distributed under the terms of the MIT License. 4*1299bfb2Sbeveloper */ 552a38012Sejakowatz 652a38012Sejakowatz #include <List.h> 752a38012Sejakowatz #include <Locker.h> 852a38012Sejakowatz 952a38012Sejakowatz class AppManager 1052a38012Sejakowatz { 1152a38012Sejakowatz public: 1252a38012Sejakowatz AppManager(); 1352a38012Sejakowatz ~AppManager(); 1452a38012Sejakowatz bool HasTeam(team_id); 1552a38012Sejakowatz status_t RegisterTeam(team_id, BMessenger); 1652a38012Sejakowatz status_t UnregisterTeam(team_id); 1752a38012Sejakowatz void BroadcastMessage(BMessage *msg, bigtime_t timeout); 1852a38012Sejakowatz void HandleBroadcastError(BMessage *, BMessenger &, team_id team, bigtime_t timeout); 1952a38012Sejakowatz status_t LoadState(); 2052a38012Sejakowatz status_t SaveState(); 2152a38012Sejakowatz private: 2252a38012Sejakowatz struct ListItem { 2352a38012Sejakowatz team_id team; 2452a38012Sejakowatz BMessenger messenger; 2552a38012Sejakowatz }; 2652a38012Sejakowatz BList mList; 2752a38012Sejakowatz BLocker mLocker; 2852a38012Sejakowatz }; 29