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