1 // Copyright 2014 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.
5 #ifndef CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_MOUNT_PATH_UTIL_H_
6 #define CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_MOUNT_PATH_UTIL_H_
10 #include "base/files/file_path.h"
11 #include "webkit/browser/fileapi/file_system_url.h"
16 namespace file_system_provider
{
18 class ProvidedFileSystemInterface
;
22 // Constructs a safe mount point path for the provided file system.
23 base::FilePath
GetMountPath(Profile
* profile
,
24 std::string extension_id
,
27 // Finds file system, which is responsible for handling the specified |url| by
28 // analysing the mount path. Also, extract the file path from the virtual path
29 // to be used by the file system operations.
30 class FileSystemURLParser
{
32 explicit FileSystemURLParser(const fileapi::FileSystemURL
& url
);
33 virtual ~FileSystemURLParser();
35 // Parses the |url| passed to the constructor. If parsing succeeds, then
36 // returns true. Otherwise, false. Must be called on UI thread.
39 ProvidedFileSystemInterface
* file_system() const { return file_system_
; }
40 const base::FilePath
& file_path() const { return file_path_
; }
43 fileapi::FileSystemURL url_
;
44 ProvidedFileSystemInterface
* file_system_
;
45 base::FilePath file_path_
;
47 DISALLOW_COPY_AND_ASSIGN(FileSystemURLParser
);
51 } // namespace file_system_provider
52 } // namespace chromeos
54 #endif // CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_MOUNT_PATH_UTIL_H_