De-duplicate BASE_IMPLEMENTATION define in the GN build.
[chromium-blink-merge.git] / base / base_paths.h
blob26b2fd4c9a101e2cb8d1b5ca279495a6f40768bc
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.
5 #ifndef BASE_BASE_PATHS_H_
6 #define BASE_BASE_PATHS_H_
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.
11 #include "build/build_config.h"
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
21 #if defined(OS_POSIX)
22 #include "base/base_paths_posix.h"
23 #endif
25 namespace base {
27 enum BasePathKey {
28 PATH_START = 0,
30 DIR_CURRENT, // Current directory.
31 DIR_EXE, // Directory containing FILE_EXE.
32 DIR_MODULE, // Directory containing FILE_MODULE.
33 DIR_TEMP, // Temporary directory.
34 DIR_HOME, // User's root home directory. On Windows this will look
35 // like "C:\Users\you" (or on XP
36 // "C:\Document and Settings\you") which isn't necessarily
37 // a great 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.
48 DIR_TEST_DATA, // Used only for testing.
50 PATH_END
53 } // namespace base
55 #endif // BASE_BASE_PATHS_H_