| 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..577ad50ef55bd7532d5f33992189386248de7f77 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,55 @@
|
| #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 {
|
| - 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_;
|
|
|
| - // 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();
|
| +
|
| + // 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
|
|
|