1 // Copyright (c) 2012 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 
8 // This file declares path keys for the base module.  These can be used with
9 // the PathService to access various special directories and files.
10 
11 #include "build/build_config.h"
12 
13 #if defined(OS_WIN)
14 #include "base/base_paths_win.h"
15 #elif defined(OS_MACOSX)
16 #include "base/base_paths_mac.h"
17 #elif defined(OS_ANDROID)
18 #include "base/base_paths_android.h"
19 #endif
20 
21 #if defined(OS_POSIX) || defined(OS_FUCHSIA)
22 #include "base/base_paths_posix.h"
23 #endif
24 
25 namespace base {
26 
27 enum BasePathKey {
28   PATH_START = 0,
29 
30   DIR_CURRENT,       // Current directory.
31   DIR_EXE,           // Directory containing FILE_EXE.
32   DIR_MODULE,        // Directory containing FILE_MODULE.
33   DIR_ASSETS,        // Directory that contains application assets.
34   DIR_TEMP,          // Temporary directory.
35   DIR_HOME,          // User's root home directory. On Windows this will look
36                      // like "C:\Users\<user>"  which isn't necessarily a great
37                      // place to put files.
38   FILE_EXE,          // Path and filename of the current executable.
39   FILE_MODULE,       // Path and filename of the module containing the code for
40                      // the PathService (which could differ from FILE_EXE if the
41                      // PathService were compiled into a shared object, for
42                      // example).
43   DIR_SOURCE_ROOT,   // Returns the root of the source tree. This key is useful
44                      // for tests that need to locate various resources. It
45                      // should not be used outside of test code.
46   DIR_USER_DESKTOP,  // The current user's Desktop.
47 
48   DIR_TEST_DATA,  // Used only for testing.
49 
50   PATH_END
51 };
52 
53 }  // namespace base
54 
55 #endif  // BASE_BASE_PATHS_H_
56