Index: chrome/browser/chromeos/file_system_provider/provided_file_system.h |
diff --git a/chrome/browser/chromeos/file_system_provider/provided_file_system.h b/chrome/browser/chromeos/file_system_provider/provided_file_system.h |
index 10aa0a93fc291a589c2f2adb75a7ab7ec7257b5b..4ac0567bc288f179b234141fccdb764bcb142ac7 100644 |
--- a/chrome/browser/chromeos/file_system_provider/provided_file_system.h |
+++ b/chrome/browser/chromeos/file_system_provider/provided_file_system.h |
@@ -5,41 +5,57 @@ |
#ifndef CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_PROVIDED_FILE_SYSTEM_H_ |
#define CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_PROVIDED_FILE_SYSTEM_H_ |
-#include <string> |
+#include "chrome/browser/chromeos/file_system_provider/provided_file_system_info.h" |
+#include "chrome/browser/chromeos/file_system_provider/provided_file_system_interface.h" |
-#include "base/files/file_path.h" |
+class Profile; |
+ |
+namespace extensions { |
+class EventRouter; |
+} // namespace extensions |
namespace chromeos { |
namespace file_system_provider { |
-// Contains information about the provided file system instance. |
-class ProvidedFileSystem { |
+class RequestManager; |
+ |
+// Provided file system implementation. Forwards requests between providers and |
+// clients. |
+class ProvidedFileSystem : public ProvidedFileSystemInterface { |
public: |
ProvidedFileSystem(); |
- ProvidedFileSystem(const std::string& extension_id, |
- int file_system_id, |
- const std::string& file_system_name, |
- const base::FilePath& mount_path); |
+ ProvidedFileSystem(extensions::EventRouter* event_router, |
+ RequestManager* request_manager, |
+ const ProvidedFileSystemInfo& file_system_info); |
+ virtual ~ProvidedFileSystem(); |
- ~ProvidedFileSystem(); |
- |
- const std::string& extension_id() const { return extension_id_; } |
- int file_system_id() const { return file_system_id_; } |
- const std::string& file_system_name() const { return file_system_name_; } |
- const base::FilePath& mount_path() const { return mount_path_; } |
+ // ProvidedFileSystemInterface overrides. |
+ virtual bool RequestUnmount( |
+ const fileapi::AsyncFileUtil::StatusCallback& callback) OVERRIDE; |
+ virtual const ProvidedFileSystemInfo& GetFileSystemInfo() const OVERRIDE; |
private: |
- // ID of the extension providing this file system. |
- std::string extension_id_; |
+ extensions::EventRouter* event_router_; |
+ RequestManager* request_manager_; |
+ ProvidedFileSystemInfo file_system_info_; |
- // ID of the file system, used internally. |
- int file_system_id_; |
+ DISALLOW_COPY_AND_ASSIGN(ProvidedFileSystem); |
+}; |
- // Name of the file system, can be rendered in the UI. |
- std::string file_system_name_; |
+// Factory creating provided file system instances. |
+class ProvidedFileSystemFactory : public ProvidedFileSystemFactoryInterface { |
+ public: |
+ ProvidedFileSystemFactory(); |
+ virtual ~ProvidedFileSystemFactory(); |
hashimoto
2014/04/11 06:01:50
Are these empty ctor and dtor needed?
mtomasz
2014/04/11 07:11:56
dtor yes, ctor seems redundant. I'll remove tmr.
P
mtomasz
2014/04/11 19:54:12
Opposite way. Dtor is redundant. Ctor is necessary
|
+ |
+ // ProvidedFileSystemFactoryInterface overrides. |
+ virtual ProvidedFileSystemInterface* Create( |
+ Profile* profile, |
+ RequestManager* request_manager, |
+ const ProvidedFileSystemInfo& file_system_info) OVERRIDE; |
- // Mount path of the underlying file system. |
- base::FilePath mount_path_; |
+ private: |
+ DISALLOW_COPY_AND_ASSIGN(ProvidedFileSystemFactory); |
}; |
} // namespace file_system_provider |