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