1// Copyright 2014 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "chrome/browser/chromeos/login/auth/mount_manager.h"
6
7#include "chrome/browser/chromeos/profiles/profile_helper.h"
8
9namespace chromeos {
10
11MountManager* MountManager::Get() {
12  if (!instance_)
13    instance_ = new MountManager();
14  return instance_;
15}
16
17// static
18MountManager* MountManager::instance_ = NULL;
19
20base::FilePath MountManager::GetHomeDir(std::string& user_hash) {
21  return ProfileHelper::GetProfilePathByUserIdHash(user_hash);
22}
23
24MountManager::MountManager() {}
25
26MountManager::~MountManager() {}
27
28bool MountManager::IsMounted(const std::string& user_id) {
29  UserToPathMap::iterator i(additional_mounts_.find(user_id));
30  return i != additional_mounts_.end();
31}
32
33base::FilePath MountManager::GetPath(const std::string& user_id) {
34  UserToPathMap::iterator i(additional_mounts_.find(user_id));
35  DCHECK(i != additional_mounts_.end());
36  return (i == additional_mounts_.end()) ? base::FilePath() : i->second;
37}
38
39void MountManager::SetPath(const std::string& user_id,
40                           const base::FilePath& path) {
41  additional_mounts_[user_id] = path;
42}
43
44void MountManager::DeletePath(const std::string& user_id) {
45  additional_mounts_.erase(user_id);
46}
47
48}  // namespace chromeos
49