Home | History | Annotate | Download | only in base
      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 bool PathProvider(int key, FilePath* result) {
     14   // NOTE: DIR_CURRENT is a special cased in PathService::Get
     15 
     16   FilePath cur;
     17   switch (key) {
     18     case base::DIR_EXE:
     19       PathService::Get(base::FILE_EXE, &cur);
     20       cur = cur.DirName();
     21       break;
     22     case base::DIR_MODULE:
     23       PathService::Get(base::FILE_MODULE, &cur);
     24       cur = cur.DirName();
     25       break;
     26     case base::DIR_TEMP:
     27       if (!file_util::GetTempDir(&cur))
     28         return false;
     29       break;
     30     default:
     31       return false;
     32   }
     33 
     34   *result = cur;
     35   return true;
     36 }
     37 
     38 }  // namespace base
     39