Index: chrome/browser/chromeos/file_manager/volume_manager.h |
diff --git a/chrome/browser/chromeos/file_manager/volume_manager.h b/chrome/browser/chromeos/file_manager/volume_manager.h |
index 7311fccc0d805cdf9e49221260fb4ccfae58281d..3471652ef45bea106ed28e103fa6eeb686f52ebf 100644 |
--- a/chrome/browser/chromeos/file_manager/volume_manager.h |
+++ b/chrome/browser/chromeos/file_manager/volume_manager.h |
@@ -14,6 +14,8 @@ |
#include "base/observer_list.h" |
#include "base/prefs/pref_change_registrar.h" |
#include "chrome/browser/chromeos/drive/drive_integration_service.h" |
+#include "chrome/browser/chromeos/file_system_provider/observer.h" |
+#include "chrome/browser/chromeos/file_system_provider/service.h" |
#include "chrome/browser/local_discovery/storage/privet_volume_lister.h" |
#include "chromeos/dbus/cros_disks_client.h" |
#include "chromeos/disks/disk_mount_manager.h" |
@@ -46,6 +48,7 @@ enum VolumeType { |
VOLUME_TYPE_REMOVABLE_DISK_PARTITION, |
VOLUME_TYPE_MOUNTED_ARCHIVE_FILE, |
VOLUME_TYPE_CLOUD_DEVICE, |
+ VOLUME_TYPE_PROVIDED, // File system provided by the FileSystemProvider API. |
VOLUME_TYPE_TESTING |
}; |
@@ -100,12 +103,15 @@ struct VolumeInfo { |
// - Mounted zip archives. |
class VolumeManager : public KeyedService, |
public drive::DriveIntegrationServiceObserver, |
- public chromeos::disks::DiskMountManager::Observer { |
+ public chromeos::disks::DiskMountManager::Observer, |
+ public chromeos::file_system_provider::Observer { |
public: |
- VolumeManager(Profile* profile, |
- drive::DriveIntegrationService* drive_integration_service, |
- chromeos::PowerManagerClient* power_manager_client, |
- chromeos::disks::DiskMountManager* disk_mount_manager); |
+ VolumeManager( |
+ Profile* profile, |
+ drive::DriveIntegrationService* drive_integration_service, |
+ chromeos::PowerManagerClient* power_manager_client, |
+ chromeos::disks::DiskMountManager* disk_mount_manager, |
+ chromeos::file_system_provider::Service* file_system_provider_service); |
virtual ~VolumeManager(); |
// Returns the instance corresponding to the |context|. |
@@ -162,6 +168,14 @@ class VolumeManager : public KeyedService, |
chromeos::FormatError error_code, |
const std::string& device_path) OVERRIDE; |
+ // chromeos::file_system_provider::Observer overrides. |
+ virtual void OnProvidedFileSystemRegistered( |
+ const chromeos::file_system_provider::ProvidedFileSystem& file_system) |
+ OVERRIDE; |
+ virtual void OnProvidedFileSystemUnregistered( |
+ const chromeos::file_system_provider::ProvidedFileSystem& file_system) |
+ OVERRIDE; |
+ |
// Called on change to kExternalStorageDisabled pref. |
void OnExternalStorageDisabledChanged(); |
@@ -175,13 +189,14 @@ class VolumeManager : public KeyedService, |
const VolumeInfo& volume_info); |
Profile* profile_; |
- drive::DriveIntegrationService* drive_integration_service_; |
- chromeos::disks::DiskMountManager* disk_mount_manager_; |
+ drive::DriveIntegrationService* drive_integration_service_; // Not owned. |
+ chromeos::disks::DiskMountManager* disk_mount_manager_; // Not owned. |
scoped_ptr<MountedDiskMonitor> mounted_disk_monitor_; |
PrefChangeRegistrar pref_change_registrar_; |
ObserverList<VolumeManagerObserver> observers_; |
scoped_ptr<local_discovery::PrivetVolumeLister> privet_volume_lister_; |
- |
+ chromeos::file_system_provider::Service* |
+ file_system_provider_service_; // Not owned by this class. |
std::map<std::string, VolumeInfo> mounted_volumes_; |
DISALLOW_COPY_AND_ASSIGN(VolumeManager); |