base_paths.h revision a1401311d1ab56c4ed0a474bd38c108f75cb0cd9
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)
22#include "base/base_paths_posix.h"
23#endif
24
25namespace base {
26
27enum 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_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.
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