1 /* 2 * Copyright 2011, Rene Gollent, rene@gollent.com. 3 * Distributed under the terms of the MIT License. 4 */ 5 #ifndef TEAM_UI_SETTINGS_H 6 #define TEAM_UI_SETTINGS_H 7 8 9 #include <String.h> 10 11 12 class BMessage; 13 14 15 enum team_ui_settings_type { 16 TEAM_UI_SETTINGS_TYPE_GUI, 17 TEAM_UI_SETTINGS_TYPE_CLI 18 }; 19 20 21 class TeamUiSettings { 22 public: 23 TeamUiSettings(); 24 virtual ~TeamUiSettings(); 25 26 virtual team_ui_settings_type Type() const = 0; 27 virtual const char* ID() const = 0; 28 virtual status_t SetTo(const BMessage& archive) = 0; 29 virtual status_t WriteTo(BMessage& archive) const = 0; 30 31 virtual TeamUiSettings* Clone() const = 0; 32 // throws std::bad_alloc 33 34 }; 35 36 37 #endif // TEAM_UI_SETTINGS_H 38