| OLD | NEW |
| (Empty) |
| 1 // Copyright 2013 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 // This file provides File API related utilities. | |
| 6 | |
| 7 #ifndef CHROME_BROWSER_CHROMEOS_EXTENSIONS_FILE_MANAGER_FILEAPI_UTIL_H_ | |
| 8 #define CHROME_BROWSER_CHROMEOS_EXTENSIONS_FILE_MANAGER_FILEAPI_UTIL_H_ | |
| 9 | |
| 10 #include <string> | |
| 11 #include "url/gurl.h" | |
| 12 | |
| 13 class Profile; | |
| 14 | |
| 15 namespace base { | |
| 16 class FilePath; | |
| 17 } | |
| 18 | |
| 19 namespace content { | |
| 20 class RenderViewHost; | |
| 21 } | |
| 22 | |
| 23 namespace fileapi { | |
| 24 class FileSystemContext; | |
| 25 } | |
| 26 | |
| 27 namespace file_manager { | |
| 28 namespace util { | |
| 29 | |
| 30 // Returns a file system context associated with the given profile and the | |
| 31 // extension ID. | |
| 32 fileapi::FileSystemContext* GetFileSystemContextForExtensionId( | |
| 33 Profile* profile, | |
| 34 const std::string& extension_id); | |
| 35 | |
| 36 // Returns a file system context associated with the given profile and the | |
| 37 // render view host. | |
| 38 fileapi::FileSystemContext* GetFileSystemContextForRenderViewHost( | |
| 39 Profile* profile, | |
| 40 content::RenderViewHost* render_view_host); | |
| 41 | |
| 42 // Converts |relative_path| (e.g., "drive/root" or "Downloads") into external | |
| 43 // filesystem URL (e.g., filesystem://id/external/drive/root). | |
| 44 GURL ConvertRelativeFilePathToFileSystemUrl(const base::FilePath& relative_path, | |
| 45 const std::string& extension_id); | |
| 46 | |
| 47 // Converts |absolute_path| (e.g., "/special/drive/root" or | |
| 48 // "/home/chronos/user/Downloads") into external filesystem URL. Returns false | |
| 49 // if |absolute_path| is not managed by the external filesystem provider. | |
| 50 bool ConvertAbsoluteFilePathToFileSystemUrl( | |
| 51 Profile* profile, | |
| 52 const base::FilePath& absolute_path, | |
| 53 const std::string& extension_id, | |
| 54 GURL* url); | |
| 55 | |
| 56 // Converts |absolute_path| into |relative_path| within the external | |
| 57 // provider in File API. Returns false if |absolute_path| is not managed | |
| 58 // by the external filesystem provider. | |
| 59 bool ConvertAbsoluteFilePathToRelativeFileSystemPath( | |
| 60 Profile* profile, | |
| 61 const std::string& extension_id, | |
| 62 const base::FilePath& absolute_path, | |
| 63 base::FilePath* relative_path); | |
| 64 | |
| 65 } // namespace util | |
| 66 } // namespace file_manager | |
| 67 | |
| 68 #endif // CHROME_BROWSER_CHROMEOS_EXTENSIONS_FILE_MANAGER_FILEAPI_UTIL_H_ | |
| OLD | NEW |