// Copyright 2015 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 "chromecast/base/path_utils.h" #include "base/logging.h" #include "base/path_service.h" namespace chromecast { namespace { base::FilePath GetPath(base::BasePathKey default_dir_key, const base::FilePath& path) { if (path.IsAbsolute()) return path; base::FilePath default_dir; if (!PathService::Get(default_dir_key, &default_dir)) LOG(DFATAL) << "Cannot get default dir: " << default_dir_key; base::FilePath adjusted_path(default_dir.Append(path)); VLOG(1) << "Path adjusted from " << path.value() << " to " << adjusted_path.value(); return adjusted_path; } } // namespace base::FilePath GetHomePath(const base::FilePath& path) { return GetPath(base::DIR_HOME, path); } base::FilePath GetHomePathASCII(const std::string& path) { return GetHomePath(base::FilePath(path)); } base::FilePath GetBinPath(const base::FilePath& path) { return GetPath(base::DIR_EXE, path); } base::FilePath GetBinPathASCII(const std::string& path) { return GetBinPath(base::FilePath(path)); } base::FilePath GetTmpPath(const base::FilePath& path) { return GetPath(base::DIR_TEMP, path); } base::FilePath GetTmpPathASCII(const std::string& path) { return GetTmpPath(base::FilePath(path)); } } // namespace chromecast