blob: 26b2fd4c9a101e2cb8d1b5ca279495a6f40768bc [file] [log] [blame]
avi@chromium.orga7d1df92012-03-23 06:44:31 +09001// Copyright (c) 2012 The Chromium Authors. All rights reserved.
license.botf003cfe2008-08-24 09:55:55 +09002// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
initial.commit3f4a7322008-07-27 06:49:38 +09004
erikkay@google.com9fc57d02008-08-09 05:16:08 +09005#ifndef BASE_BASE_PATHS_H_
6#define BASE_BASE_PATHS_H_
initial.commit3f4a7322008-07-27 06:49:38 +09007
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
jhawkins@chromium.org8e73d062011-04-05 03:04:37 +090011#include "build/build_config.h"
12
erikkay@google.com9fc57d02008-08-09 05:16:08 +090013#if defined(OS_WIN)
erikkay@google.comc7980ee2008-08-06 04:46:31 +090014#include "base/base_paths_win.h"
erikkay@google.com9fc57d02008-08-09 05:16:08 +090015#elif defined(OS_MACOSX)
16#include "base/base_paths_mac.h"
avi@chromium.orga7d1df92012-03-23 06:44:31 +090017#elif defined(OS_ANDROID)
18#include "base/base_paths_android.h"
erikkay@google.comc7980ee2008-08-06 04:46:31 +090019#endif
20
gab@chromium.org97fc1e62012-09-21 01:24:52 +090021#if defined(OS_POSIX)
22#include "base/base_paths_posix.h"
23#endif
24
initial.commit3f4a7322008-07-27 06:49:38 +090025namespace base {
26
pkasting@chromium.orgc4f2de22011-09-01 09:46:33 +090027enum BasePathKey {
initial.commit3f4a7322008-07-27 06:49:38 +090028 PATH_START = 0,
29
tfarina@chromium.orge6598042013-03-28 09:40:04 +090030 DIR_CURRENT, // Current directory.
31 DIR_EXE, // Directory containing FILE_EXE.
32 DIR_MODULE, // Directory containing FILE_MODULE.
33 DIR_TEMP, // Temporary directory.
brettw@chromium.org49de1af2014-02-20 05:34:23 +090034 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.
tfarina@chromium.orge6598042013-03-28 09:40:04 +090038 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.
gab@chromium.org97fc1e62012-09-21 01:24:52 +090046 DIR_USER_DESKTOP, // The current user's Desktop.
evan@chromium.orgc1365092009-11-21 10:29:00 +090047
tfarina@chromium.orge6598042013-03-28 09:40:04 +090048 DIR_TEST_DATA, // Used only for testing.
49
initial.commit3f4a7322008-07-27 06:49:38 +090050 PATH_END
51};
52
53} // namespace base
54
erikkay@google.com9fc57d02008-08-09 05:16:08 +090055#endif // BASE_BASE_PATHS_H_