1// Copyright (c) 2011 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 "build/build_config.h"
13
14#if defined(OS_WIN)
15#include "base/base_paths_win.h"
16#elif defined(OS_MACOSX)
17#include "base/base_paths_mac.h"
18#endif
19
20namespace base {
21
22enum {
23  PATH_START = 0,
24
25  DIR_CURRENT,  // current directory
26  DIR_EXE,      // directory containing FILE_EXE
27  DIR_MODULE,   // directory containing FILE_MODULE
28  DIR_TEMP,     // temporary directory
29  FILE_EXE,     // Path and filename of the current executable.
30  FILE_MODULE,  // Path and filename of the module containing the code for the
31                // PathService (which could differ from FILE_EXE if the
32                // PathService were compiled into a shared object, for example).
33  DIR_SOURCE_ROOT,  // Returns the root of the source tree.  This key is useful
34                    // for tests that need to locate various resources.  It
35                    // should not be used outside of test code.
36#if defined(OS_POSIX)
37  DIR_CACHE,    // Directory where to put cache data.  Note this is
38                // *not* where the browser cache lives, but the
39                // browser cache can be a subdirectory.
40                // This is $XDG_CACHE_HOME on Linux and
41                // ~/Library/Caches on Mac.
42#endif
43
44  PATH_END
45};
46
47}  // namespace base
48
49#endif  // BASE_BASE_PATHS_H_
50