15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef BASE_BASE_PATHS_H_ 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define BASE_BASE_PATHS_H_ 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// This file declares path keys for the base module. These can be used with 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// the PathService to access various special directories and files. 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "build/build_config.h" 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_WIN) 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/base_paths_win.h" 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#elif defined(OS_MACOSX) 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/base_paths_mac.h" 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#elif defined(OS_ANDROID) 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/base_paths_android.h" 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_POSIX) 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/base_paths_posix.h" 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace base { 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)enum BasePathKey { 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) PATH_START = 0, 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 30c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) DIR_CURRENT, // Current directory. 31c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) DIR_EXE, // Directory containing FILE_EXE. 32c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) DIR_MODULE, // Directory containing FILE_MODULE. 33c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) DIR_TEMP, // Temporary directory. 34a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) DIR_HOME, // User's root home directory. On Windows this will look 35a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) // like "C:\Users\you" (or on XP 36a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) // "C:\Document and Settings\you") which isn't necessarily 37a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) // a great place to put files. 38c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) FILE_EXE, // Path and filename of the current executable. 39c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) FILE_MODULE, // Path and filename of the module containing the code for 40c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // the PathService (which could differ from FILE_EXE if the 41c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // PathService were compiled into a shared object, for 42c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // example). 43c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) DIR_SOURCE_ROOT, // Returns the root of the source tree. This key is useful 44c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // for tests that need to locate various resources. It 45c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // should not be used outside of test code. 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) DIR_USER_DESKTOP, // The current user's Desktop. 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 48c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) DIR_TEST_DATA, // Used only for testing. 49c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) PATH_END 515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace base 545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif // BASE_BASE_PATHS_H_ 56