| // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "chrome/browser/chromeos/login/mount_manager.h" |
| |
| #include "chrome/browser/chromeos/login/user_manager.h" |
| #include "chrome/browser/chromeos/profiles/profile_helper.h" |
| |
| namespace chromeos { |
| |
| MountManager* MountManager::Get() { |
| if (!instance_) |
| instance_ = new MountManager(); |
| return instance_; |
| } |
| |
| // static |
| MountManager* MountManager::instance_ = NULL; |
| |
| base::FilePath MountManager::GetHomeDir(std::string& user_hash) { |
| return ProfileHelper::GetProfilePathByUserIdHash(user_hash); |
| } |
| |
| MountManager::MountManager() {} |
| |
| MountManager::~MountManager() {} |
| |
| bool MountManager::IsMounted(const std::string& user_id) { |
| UserToPathMap::iterator i(additional_mounts_.find(user_id)); |
| return i != additional_mounts_.end(); |
| } |
| |
| base::FilePath MountManager::GetPath(const std::string& user_id) { |
| UserToPathMap::iterator i(additional_mounts_.find(user_id)); |
| DCHECK(i != additional_mounts_.end()); |
| return (i == additional_mounts_.end()) ? base::FilePath() : i->second; |
| } |
| |
| void MountManager::SetPath(const std::string& user_id, |
| const base::FilePath& path) { |
| additional_mounts_[user_id] = path; |
| } |
| |
| void MountManager::DeletePath(const std::string& user_id) { |
| additional_mounts_.erase(user_id); |
| } |
| |
| } // namespace chromeos |