Home | History | Annotate | Download | only in chromeos
      1 // Copyright (c) 2013 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 #ifndef CHROMEOS_CHROMEOS_PATHS_H_
      6 #define CHROMEOS_CHROMEOS_PATHS_H_
      7 
      8 #include "chromeos/chromeos_export.h"
      9 
     10 namespace base {
     11 class FilePath;
     12 }
     13 
     14 // This file declares path keys for the chromeos module.  These can be used with
     15 // the PathService to access various special directories and files.
     16 
     17 namespace chromeos {
     18 
     19 enum {
     20   PATH_START = 7000,
     21 
     22   FILE_DEFAULT_APP_ORDER,       // Full path to the json file that defines the
     23                                 // default app order.
     24   DIR_USER_POLICY_KEYS,         // Directory where the session_manager stores
     25                                 // the user policy keys.
     26   FILE_OWNER_KEY,               // Full path to the owner key file.
     27   FILE_INSTALL_ATTRIBUTES,      // Full path to the install attributes file.
     28   FILE_UPTIME,                  // Full path to the file via which the kernel
     29                                 // exposes the current device uptime.
     30   FILE_UPDATE_REBOOT_NEEDED_UPTIME,  // Full path to a file in which Chrome can
     31                                      // store the uptime at which an update
     32                                      // became necessary. The file should be
     33                                      // cleared on boot.
     34   DIR_DEVICE_LOCAL_ACCOUNT_EXTENSIONS,  // Directory under which a cache of
     35                                         // force-installed extensions is
     36                                         // maintained for each device-local
     37                                         // account.
     38   DIR_DEVICE_LOCAL_ACCOUNT_EXTERNAL_DATA,  // Directory where external data
     39                                            // referenced by policies is cached
     40                                            // for device-local accounts.
     41   DIR_DEVICE_LOCAL_ACCOUNT_COMPONENT_POLICY,  // Directory where policy for
     42                                               // components is stored for
     43                                               // device-local accounts.
     44                                               // Currently this is used for
     45                                               // policy for extensions.
     46   PATH_END
     47 };
     48 
     49 // Call once to register the provider for the path keys defined above.
     50 CHROMEOS_EXPORT void RegisterPathProvider();
     51 
     52 // Overrides some of the paths listed above so that those files can be used
     53 // when not running on ChromeOS. The stubs files will be relative to
     54 // |stubs_dir|. It is not valid to call this when running on ChromeOS.
     55 CHROMEOS_EXPORT void RegisterStubPathOverrides(const base::FilePath& stubs_dir);
     56 
     57 }  // namespace chromeos
     58 
     59 #endif  // CHROMEOS_CHROMEOS_PATHS_H_
     60