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