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 12class BMessage; 13 14 15enum team_ui_settings_type { 16 TEAM_UI_SETTINGS_TYPE_GUI, 17 TEAM_UI_SETTINGS_TYPE_CLI 18}; 19 20 21class TeamUiSettings { 22public: 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