Chromium Code Reviews| 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..42b6eba1cc2196b279c567319f1416652d5d57b3 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,53 @@ |
| #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" |
| +namespace extensions { |
| +class EventRouter; |
| +} // namespace extensions |
| namespace chromeos { |
| namespace file_system_provider { |
| -// Contains information about the provided file system instance. |
| -class ProvidedFileSystem { |
| - public: |
| - ProvidedFileSystem(); |
| - ProvidedFileSystem(const std::string& extension_id, |
| - int file_system_id, |
| - const std::string& file_system_name, |
| - const base::FilePath& mount_path); |
| +class RequestManager; |
| - ~ProvidedFileSystem(); |
| +// Provided file system implementation. Forwards requests between providers and |
| +// clients. |
| +class ProvidedFileSystem : public ProvidedFileSystemInterface { |
| + public: |
| + ProvidedFileSystem(extensions::EventRouter* event_router, |
| + RequestManager* request_manager, |
| + const ProvidedFileSystemInfo& file_system_info); |
| + virtual ~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_; |
| + |
| + DISALLOW_COPY_AND_ASSIGN(ProvidedFileSystem); |
| +}; |
| - // ID of the file system, used internally. |
| - int file_system_id_; |
| +// Factory creating provided file system instances. |
| +class ProvidedFileSystemFactory : public ProvidedFileSystemFactoryInterface { |
|
hashimoto
2014/04/15 13:42:00
This class is unneeded?
mtomasz
2014/04/16 01:04:04
Done.
|
| + public: |
| + ProvidedFileSystemFactory(); |
| - // Name of the file system, can be rendered in the UI. |
| - std::string file_system_name_; |
| + // ProvidedFileSystemFactoryInterface overrides. |
| + virtual ProvidedFileSystemInterface* Create( |
| + EventRouter* event_router, |
| + 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 |