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..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 |