blob: 6a8342e76a6fefe9e1a5637a7dbab185e0413e27 [file] [log] [blame]
Patrick Scottc7f5f852010-02-04 10:37:17 -05001// Copyright (c) 2006-2008 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 "base/basictypes.h"
12#if defined(OS_WIN)
13#include "base/base_paths_win.h"
14#elif defined(OS_MACOSX)
15#include "base/base_paths_mac.h"
16#endif
17
18namespace base {
19
20enum {
21 PATH_START = 0,
22
23 DIR_CURRENT, // current directory
24 DIR_EXE, // directory containing FILE_EXE
25 DIR_MODULE, // directory containing FILE_MODULE
26 DIR_TEMP, // temporary directory
27 FILE_EXE, // Path and filename of the current executable.
28 FILE_MODULE, // Path and filename of the module containing the code for the
29 // PathService (which could differ from FILE_EXE if the
30 // PathService were compiled into a shared object, for example).
31 DIR_SOURCE_ROOT, // Returns the root of the source tree. This key is useful
32 // for tests that need to locate various resources. It
33 // should not be used outside of test code.
34#if defined(OS_POSIX)
35 DIR_USER_CACHE, // Directory where user cache data resides. The Chromium
36 // browser cache can be a subdirectory of DIR_USER_CACHE.
37 // This is $XDG_CACHE_HOME on Linux and ~/Library/Caches
38 // on Mac.
39#endif
40
41 PATH_END
42};
43
44} // namespace base
45
46#endif // BASE_BASE_PATHS_H_