base_paths.h revision a1401311d1ab56c4ed0a474bd38c108f75cb0cd9
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