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