1/*
2 * Copyright 2013, Rene Gollent, rene@gollent.com.
3 * Distributed under the terms of the MIT License.
4 */
5#ifndef TEAM_FILE_MANAGER_SETTINGS_H
6#define TEAM_FILE_MANAGER_SETTINGS_H
7
8#include <Message.h>
9
10
11class TeamFileManagerSettings {
12public:
13								TeamFileManagerSettings();
14	virtual						~TeamFileManagerSettings();
15
16			TeamFileManagerSettings&
17								operator=(
18									const TeamFileManagerSettings& other);
19									// throws std::bad_alloc;
20
21			const char*			ID() const;
22			status_t			SetTo(const BMessage& archive);
23			status_t			WriteTo(BMessage& archive) const;
24
25			int32				CountSourceMappings() const;
26			status_t			AddSourceMapping(const BString& sourcePath,
27									const BString& locatedPath);
28			status_t			RemoveSourceMappingAt(int32 index);
29			status_t			GetSourceMappingAt(int32 index,
30									BString& sourcePath, BString& locatedPath);
31
32	virtual	TeamFileManagerSettings*
33								Clone() const;
34									// throws std::bad_alloc
35
36private:
37	BMessage					fValues;
38};
39
40
41#endif	// TEAM_FILE_MANAGER_SETTINGS_H
42