1/* 2 * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de. 3 * Distributed under the terms of the MIT License. 4 */ 5#ifndef TEAM_SETTINGS_H 6#define TEAM_SETTINGS_H 7 8 9#include <String.h> 10 11#include <ObjectList.h> 12 13 14class BMessage; 15class Team; 16class BreakpointSetting; 17class TeamUiSettings; 18 19 20class TeamSettings { 21public: 22 TeamSettings(); 23 TeamSettings(const TeamSettings& other); 24 // throws std::bad_alloc 25 ~TeamSettings(); 26 27 status_t SetTo(Team* team); 28 status_t SetTo(const BMessage& archive); 29 status_t WriteTo(BMessage& archive) const; 30 31 const BString& TeamName() const { return fTeamName; } 32 33 int32 CountBreakpoints() const; 34 const BreakpointSetting* BreakpointAt(int32 index) const; 35 36 int32 CountUiSettings() const; 37 const TeamUiSettings* UiSettingAt(int32 index) const; 38 const TeamUiSettings* UiSettingFor(const char* id) const; 39 status_t AddUiSettings(TeamUiSettings* settings); 40 41 TeamSettings& operator=(const TeamSettings& other); 42 // throws std::bad_alloc 43 44private: 45 typedef BObjectList<BreakpointSetting> BreakpointList; 46 typedef BObjectList<TeamUiSettings> UiSettingsList; 47 48private: 49 void _Unset(); 50 51private: 52 BreakpointList fBreakpoints; 53 UiSettingsList fUiSettings; 54 BString fTeamName; 55}; 56 57 58#endif // TEAM_SETTINGS_H 59