blob: 39edd164c38fbeb45a3579ab189d15df54f34de7 [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
initial.commit3f4a7322008-07-27 06:49:38 +090021namespace base {
22
pkasting@chromium.orgc4f2de22011-09-01 09:46:33 +090023enum BasePathKey {
initial.commit3f4a7322008-07-27 06:49:38 +090024 PATH_START = 0,
25
26 DIR_CURRENT, // current directory
27 DIR_EXE, // directory containing FILE_EXE
28 DIR_MODULE, // directory containing FILE_MODULE
initial.commit3f4a7322008-07-27 06:49:38 +090029 DIR_TEMP, // temporary directory
evan@chromium.orgc1365092009-11-21 10:29:00 +090030 FILE_EXE, // Path and filename of the current executable.
31 FILE_MODULE, // Path and filename of the module containing the code for the
32 // PathService (which could differ from FILE_EXE if the
33 // PathService were compiled into a shared object, for example).
34 DIR_SOURCE_ROOT, // Returns the root of the source tree. This key is useful
35 // for tests that need to locate various resources. It
36 // should not be used outside of test code.
wjia@chromium.org9d594d12012-09-20 10:59:36 +090037#if defined(OS_POSIX)
38 DIR_CACHE, // Directory where to put cache data. Note this is
39 // *not* where the browser cache lives, but the
40 // browser cache can be a subdirectory.
41 // This is $XDG_CACHE_HOME on Linux and
42 // ~/Library/Caches on Mac.
43 DIR_HOME, // $HOME on POSIX-like systems.
44#endif
45#if defined(OS_ANDROID)
46 DIR_ANDROID_EXTERNAL_STORAGE, // Android external storage directory.
47#endif
evan@chromium.orgc1365092009-11-21 10:29:00 +090048
initial.commit3f4a7322008-07-27 06:49:38 +090049 PATH_END
50};
51
52} // namespace base
53
erikkay@google.com9fc57d02008-08-09 05:16:08 +090054#endif // BASE_BASE_PATHS_H_