summaryrefslogtreecommitdiffstats
path: root/chromeos/chromeos_paths.cc
diff options
context:
space:
mode:
authorjoaodasilva@chromium.org <joaodasilva@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-04-23 18:08:33 +0000
committerjoaodasilva@chromium.org <joaodasilva@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-04-23 18:08:33 +0000
commite1ae9faab496fe196505be93d9d681e8c7e4ce9e (patch)
tree14dfb77e78b637fa4fb74cbe508e942268cf79a8 /chromeos/chromeos_paths.cc
parent061bbb6462b6283a8dbdae2ab3a42cb8074de956 (diff)
downloadchromium_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.cc68
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