xref: /haiku/headers/private/debugger/settings/TeamUiSettings.h (revision fce4895d1884da5ae6fb299d23c735c598e690b1)
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