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 9 namespace chromeos { 10 Get()11MountManager* MountManager::Get() { 12 if (!instance_) 13 instance_ = new MountManager(); 14 return instance_; 15 } 16 17 // static 18 MountManager* MountManager::instance_ = NULL; 19 GetHomeDir(std::string & user_hash)20base::FilePath MountManager::GetHomeDir(std::string& user_hash) { 21 return ProfileHelper::GetProfilePathByUserIdHash(user_hash); 22 } 23 MountManager()24MountManager::MountManager() {} 25 ~MountManager()26MountManager::~MountManager() {} 27 IsMounted(const std::string & user_id)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 GetPath(const std::string & user_id)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 SetPath(const std::string & user_id,const base::FilePath & path)39void MountManager::SetPath(const std::string& user_id, 40 const base::FilePath& path) { 41 additional_mounts_[user_id] = path; 42 } 43 DeletePath(const std::string & user_id)44void MountManager::DeletePath(const std::string& user_id) { 45 additional_mounts_.erase(user_id); 46 } 47 48 } // namespace chromeos 49