• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2011 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 BASE_BASE_PATHS_H_
6 #define BASE_BASE_PATHS_H_
7 #pragma once
8 
9 // This file declares path keys for the base module.  These can be used with
10 // the PathService to access various special directories and files.
11 
12 #include "build/build_config.h"
13 
14 #if defined(OS_WIN)
15 #include "base/base_paths_win.h"
16 #elif defined(OS_MACOSX)
17 #include "base/base_paths_mac.h"
18 #endif
19 
20 namespace base {
21 
22 enum {
23   PATH_START = 0,
24 
25   DIR_CURRENT,  // current directory
26   DIR_EXE,      // directory containing FILE_EXE
27   DIR_MODULE,   // directory containing FILE_MODULE
28   DIR_TEMP,     // temporary directory
29   FILE_EXE,     // Path and filename of the current executable.
30   FILE_MODULE,  // Path and filename of the module containing the code for the
31                 // PathService (which could differ from FILE_EXE if the
32                 // PathService were compiled into a shared object, for example).
33   DIR_SOURCE_ROOT,  // Returns the root of the source tree.  This key is useful
34                     // for tests that need to locate various resources.  It
35                     // should not be used outside of test code.
36 #if defined(OS_POSIX)
37   DIR_CACHE,    // Directory where to put cache data.  Note this is
38                 // *not* where the browser cache lives, but the
39                 // browser cache can be a subdirectory.
40                 // This is $XDG_CACHE_HOME on Linux and
41                 // ~/Library/Caches on Mac.
42 #endif
43 
44   PATH_END
45 };
46 
47 }  // namespace base
48 
49 #endif  // BASE_BASE_PATHS_H_
50