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 : #include "base/base_paths.h"
6 :
7 : #include "base/file_path.h"
8 : #include "base/file_util.h"
9 : #include "base/path_service.h"
10 :
11 : namespace base {
12 :
13 0 : bool PathProvider(int key, FilePath* result) {
14 : // NOTE: DIR_CURRENT is a special cased in PathService::Get
15 :
16 0 : FilePath cur;
17 0 : switch (key) {
18 : case base::DIR_EXE:
19 0 : PathService::Get(base::FILE_EXE, &cur);
20 0 : cur = cur.DirName();
21 0 : break;
22 : case base::DIR_MODULE:
23 0 : PathService::Get(base::FILE_MODULE, &cur);
24 0 : cur = cur.DirName();
25 0 : break;
26 : case base::DIR_TEMP:
27 0 : if (!file_util::GetTempDir(&cur))
28 0 : return false;
29 0 : break;
30 : default:
31 0 : return false;
32 : }
33 :
34 0 : *result = cur;
35 0 : return true;
36 : }
37 :
38 : } // namespace base
|