• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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()11 MountManager* 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)20 base::FilePath MountManager::GetHomeDir(std::string& user_hash) {
21   return ProfileHelper::GetProfilePathByUserIdHash(user_hash);
22 }
23 
MountManager()24 MountManager::MountManager() {}
25 
~MountManager()26 MountManager::~MountManager() {}
27 
IsMounted(const std::string & user_id)28 bool 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)33 base::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)39 void 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)44 void MountManager::DeletePath(const std::string& user_id) {
45   additional_mounts_.erase(user_id);
46 }
47 
48 }  // namespace chromeos
49