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