base_paths.h revision 3345a6884c488ff3a535c2c9acdd33d74b37e311
1// 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#pragma once
8
9// This file declares path keys for the base module.  These can be used with
10// the PathService to access various special directories and files.
11
12#include "base/basictypes.h"
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#endif
18
19namespace base {
20
21enum {
22  PATH_START = 0,
23
24  DIR_CURRENT,  // current directory
25  DIR_EXE,      // directory containing FILE_EXE
26  DIR_MODULE,   // directory containing FILE_MODULE
27  DIR_TEMP,     // temporary directory
28  FILE_EXE,     // Path and filename of the current executable.
29  FILE_MODULE,  // Path and filename of the module containing the code for the
30                // PathService (which could differ from FILE_EXE if the
31                // PathService were compiled into a shared object, for example).
32  DIR_SOURCE_ROOT,  // Returns the root of the source tree.  This key is useful
33                    // for tests that need to locate various resources.  It
34                    // should not be used outside of test code.
35#if defined(OS_POSIX)
36  DIR_USER_CACHE,   // Directory where user cache data resides. The Chromium
37                    // browser cache can be a subdirectory of DIR_USER_CACHE.
38                    // This is $XDG_CACHE_HOME on Linux and ~/Library/Caches
39                    // on Mac.
40#endif
41
42  PATH_END
43};
44
45}  // namespace base
46
47#endif  // BASE_BASE_PATHS_H_
48