Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4702)

Unified Diff: chrome/browser/chromeos/file_system_provider/mount_path_util.h

Issue 244623003: [fsp] [recommit] Add FileSystemURLParser to the file system provider. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased. Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/file_system_provider/mount_path_util.h
diff --git a/chrome/browser/chromeos/file_system_provider/mount_path_util.h b/chrome/browser/chromeos/file_system_provider/mount_path_util.h
index 8591546408c44eee56185df1835ac47b9c681023..25f6129fa374bf513540f92fa58c58bd5ac36766 100644
--- a/chrome/browser/chromeos/file_system_provider/mount_path_util.h
+++ b/chrome/browser/chromeos/file_system_provider/mount_path_util.h
@@ -7,20 +7,46 @@
#include <string>
-class Profile;
+#include "base/files/file_path.h"
+#include "webkit/browser/fileapi/file_system_url.h"
-namespace base {
-class FilePath;
-} // namespace base
+class Profile;
namespace chromeos {
namespace file_system_provider {
+
+class ProvidedFileSystemInterface;
+
namespace util {
// Constructs a safe mount point path for the provided file system.
-base::FilePath GetMountPointPath(Profile* profile,
- std::string extension_id,
- int file_system_id);
+base::FilePath GetMountPath(Profile* profile,
+ std::string extension_id,
+ int file_system_id);
+
+// Finds file system, which is responsible for handling the specified |url| by
+// analysing the mount path.
+// Also, extract the file path from the virtual path to be used by the file
+// system operations.
+class FileSystemURLParser {
+ public:
+ explicit FileSystemURLParser(const fileapi::FileSystemURL& url);
+ virtual ~FileSystemURLParser();
+
+ // Parses the |url| passed to the constructor. If parsing succeeds, then
+ // returns true. Otherwise, false.
+ bool Parse();
+
+ ProvidedFileSystemInterface* file_system() const { return file_system_; }
+ const base::FilePath& file_path() const { return file_path_; }
+
+ private:
+ fileapi::FileSystemURL url_;
+ ProvidedFileSystemInterface* file_system_;
+ base::FilePath file_path_;
+
+ DISALLOW_COPY_AND_ASSIGN(FileSystemURLParser);
+};
} // namespace util
} // namespace file_system_provider

Powered by Google App Engine
This is Rietveld 408576698