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