blob: ef6aa82836205b7ac7fbc270abdeec2485cc2236 [file] [log] [blame]
Luis Hector Chavez645501c2016-12-28 10:56:26 -08001// Copyright (c) 2012 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 "build/build_config.h"
12
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#elif defined(OS_ANDROID)
18#include "base/base_paths_android.h"
19#endif
20
21#if defined(OS_POSIX)
22#include "base/base_paths_posix.h"
23#endif
24
25namespace base {
26
27enum BasePathKey {
28 PATH_START = 0,
29
30 DIR_CURRENT, // Current directory.
31 DIR_EXE, // Directory containing FILE_EXE.
32 DIR_MODULE, // Directory containing FILE_MODULE.
33 DIR_TEMP, // Temporary directory.
34 DIR_HOME, // User's root home directory. On Windows this will look
35 // like "C:\Users\<user>" which isn't necessarily a great
36 // place to put files.
37 FILE_EXE, // Path and filename of the current executable.
38 FILE_MODULE, // Path and filename of the module containing the code for
39 // the PathService (which could differ from FILE_EXE if the
40 // PathService were compiled into a shared object, for
41 // example).
42 DIR_SOURCE_ROOT, // Returns the root of the source tree. This key is useful
43 // for tests that need to locate various resources. It
44 // should not be used outside of test code.
45 DIR_USER_DESKTOP, // The current user's Desktop.
46
47 DIR_TEST_DATA, // Used only for testing.
48
49 PATH_END
50};
51
52} // namespace base
53
54#endif // BASE_BASE_PATHS_H_