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