1 // Copyright (c) 2012 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/mount_manager.h" 6 7 #include "chrome/browser/chromeos/login/user_manager.h" 8 #include "chrome/browser/chromeos/profiles/profile_helper.h" 9 10 namespace chromeos { 11 Get()12MountManager* MountManager::Get() { 13 if (!instance_) 14 instance_ = new MountManager(); 15 return instance_; 16 } 17 18 // static 19 MountManager* MountManager::instance_ = NULL; 20 GetHomeDir(std::string & user_hash)21base::FilePath MountManager::GetHomeDir(std::string& user_hash) { 22 return ProfileHelper::GetProfilePathByUserIdHash(user_hash); 23 } 24 MountManager()25MountManager::MountManager() {} 26 ~MountManager()27MountManager::~MountManager() {} 28 IsMounted(const std::string & user_id)29bool MountManager::IsMounted(const std::string& user_id) { 30 UserToPathMap::iterator i(additional_mounts_.find(user_id)); 31 return i != additional_mounts_.end(); 32 } 33 GetPath(const std::string & user_id)34base::FilePath MountManager::GetPath(const std::string& user_id) { 35 UserToPathMap::iterator i(additional_mounts_.find(user_id)); 36 DCHECK(i != additional_mounts_.end()); 37 return (i == additional_mounts_.end()) ? base::FilePath() : i->second; 38 } 39 SetPath(const std::string & user_id,const base::FilePath & path)40void MountManager::SetPath(const std::string& user_id, 41 const base::FilePath& path) { 42 additional_mounts_[user_id] = path; 43 } 44 DeletePath(const std::string & user_id)45void MountManager::DeletePath(const std::string& user_id) { 46 additional_mounts_.erase(user_id); 47 } 48 49 } // namespace chromeos 50