diff options
author | joaodasilva@chromium.org <joaodasilva@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-23 18:08:33 +0000 |
---|---|---|
committer | joaodasilva@chromium.org <joaodasilva@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-23 18:08:33 +0000 |
commit | e1ae9faab496fe196505be93d9d681e8c7e4ce9e (patch) | |
tree | 14dfb77e78b637fa4fb74cbe508e942268cf79a8 /chromeos/chromeos_paths.cc | |
parent | 061bbb6462b6283a8dbdae2ab3a42cb8074de956 (diff) | |
download | chromium_src-e1ae9faab496fe196505be93d9d681e8c7e4ce9e.zip chromium_src-e1ae9faab496fe196505be93d9d681e8c7e4ce9e.tar.gz chromium_src-e1ae9faab496fe196505be93d9d681e8c7e4ce9e.tar.bz2 |
Move OS_CHROMEOS-specific paths to chromeos/chromeos_paths.cc.
Moving these paths out of chrome/common/chrome_paths.cc makes it possible to
get them through the PathService from chromeos/ code without violating layering.
For example, the SessionManagerClientStubImpl will be able to get
DIR_USER_POLICY_KEYS to simulate the storage of user policy keys.
BUG=230349
Review URL: https://chromiumcodereview.appspot.com/14192016
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@195843 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chromeos/chromeos_paths.cc')
-rw-r--r-- | chromeos/chromeos_paths.cc | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/chromeos/chromeos_paths.cc b/chromeos/chromeos_paths.cc new file mode 100644 index 0000000..10dff74 --- /dev/null +++ b/chromeos/chromeos_paths.cc @@ -0,0 +1,68 @@ +// Copyright (c) 2013 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 "chromeos/chromeos_paths.h" + +#include "base/files/file_path.h" +#include "base/path_service.h" + +namespace chromeos { + +namespace { + +const base::FilePath::CharType kDefaultAppOrderFileName[] = +#if defined(GOOGLE_CHROME_BUILD) + FILE_PATH_LITERAL("/usr/share/google-chrome/default_app_order.json"); +#else + FILE_PATH_LITERAL("/usr/share/chromium/default_app_order.json"); +#endif // defined(GOOGLE_CHROME_BUILD) + +const base::FilePath::CharType kDefaultUserPolicyKeysDir[] = + FILE_PATH_LITERAL("/var/run/user_policy"); + +const base::FilePath::CharType kOwnerKeyFileName[] = + FILE_PATH_LITERAL("/var/lib/whitelist/owner.key"); + +const base::FilePath::CharType kInstallAttributesFileName[] = + FILE_PATH_LITERAL("/var/run/lockbox/install_attributes.pb"); + +const base::FilePath::CharType kUptimeFileName[] = + FILE_PATH_LITERAL("/proc/uptime"); + +const base::FilePath::CharType kUpdateRebootNeededUptimeFile[] = + FILE_PATH_LITERAL("/var/run/chrome/update_reboot_needed_uptime"); + +bool PathProvider(int key, base::FilePath* result) { + switch (key) { + case FILE_DEFAULT_APP_ORDER: + *result = base::FilePath(kDefaultAppOrderFileName); + break; + case DIR_USER_POLICY_KEYS: + *result = base::FilePath(kDefaultUserPolicyKeysDir); + break; + case FILE_OWNER_KEY: + *result = base::FilePath(kOwnerKeyFileName); + break; + case FILE_INSTALL_ATTRIBUTES: + *result = base::FilePath(kInstallAttributesFileName); + break; + case FILE_UPTIME: + *result = base::FilePath(kUptimeFileName); + break; + case FILE_UPDATE_REBOOT_NEEDED_UPTIME: + *result = base::FilePath(kUpdateRebootNeededUptimeFile); + break; + default: + return false; + } + return true; +} + +} // namespace + +void RegisterPathProvider() { + PathService::RegisterProvider(PathProvider, PATH_START, PATH_END); +} + +} // namespace chromeos |