diff options
author | zelidrag@chromium.org <zelidrag@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-17 22:07:12 +0000 |
---|---|---|
committer | zelidrag@chromium.org <zelidrag@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-17 22:07:12 +0000 |
commit | 0bcf47f09824f3028d5b2298d51182dd4dd4bf4f (patch) | |
tree | 6c3e596d9157174ad1606c3b2fd05eb7418cca09 /chrome/browser/chromeos/cros/mock_mount_library.cc | |
parent | ea431e54446816d680168b7a603fc50663072945 (diff) | |
download | chromium_src-0bcf47f09824f3028d5b2298d51182dd4dd4bf4f.zip chromium_src-0bcf47f09824f3028d5b2298d51182dd4dd4bf4f.tar.gz chromium_src-0bcf47f09824f3028d5b2298d51182dd4dd4bf4f.tar.bz2 |
Rewritten MountLibrary to work with non-blocking mount API calls in libcros.
BUG=chromium-os:13190
TEST=none
Review URL: http://codereview.chromium.org/6674043
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78612 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/chromeos/cros/mock_mount_library.cc')
-rw-r--r-- | chrome/browser/chromeos/cros/mock_mount_library.cc | 65 |
1 files changed, 48 insertions, 17 deletions
diff --git a/chrome/browser/chromeos/cros/mock_mount_library.cc b/chrome/browser/chromeos/cros/mock_mount_library.cc index 53c4f70..4ea1723 100644 --- a/chrome/browser/chromeos/cros/mock_mount_library.cc +++ b/chrome/browser/chromeos/cros/mock_mount_library.cc @@ -42,40 +42,71 @@ MockMountLibrary::~MockMountLibrary() { void MockMountLibrary::FireDeviceInsertEvents() { - disks_.clear(); + scoped_ptr<MountLibrary::Disk> disk1(new MountLibrary::Disk( + std::string(kTestDevicePath), + std::string(), + std::string(kTestSystemPath), + false, + true, + false)); - disks_.push_back(Disk(kTestDevicePath, "", kTestSystemPath, false, true)); + disks_.clear(); + disks_.insert(std::pair<std::string, MountLibrary::Disk*>( + std::string(kTestDevicePath), disk1.get())); // Device Added - chromeos::MountEventType evt; - evt = chromeos::DEVICE_ADDED; - UpdateMountStatus(evt, kTestSystemPath); + chromeos::MountLibraryEventType evt; + evt = chromeos::MOUNT_DEVICE_ADDED; + UpdateDeviceChanged(evt, kTestSystemPath); // Disk Added - evt = chromeos::DISK_ADDED; - UpdateMountStatus(evt, kTestDevicePath); + evt = chromeos::MOUNT_DISK_ADDED; + UpdateDiskChanged(evt, disk1.get()); // Disk Changed + scoped_ptr<MountLibrary::Disk> disk2(new MountLibrary::Disk( + std::string(kTestDevicePath), + std::string(kTestMountPath), + std::string(kTestSystemPath), + false, + true, + false)); disks_.clear(); - disks_.push_back(Disk( - kTestDevicePath, kTestMountPath, kTestSystemPath, false, true)); - evt = chromeos::DISK_CHANGED; - UpdateMountStatus(evt, kTestDevicePath); + disks_.insert(std::pair<std::string, MountLibrary::Disk*>( + std::string(kTestDevicePath), disk2.get())); + evt = chromeos::MOUNT_DISK_CHANGED; + UpdateDiskChanged(evt, disk2.get()); } void MockMountLibrary::FireDeviceRemoveEvents() { + scoped_ptr<MountLibrary::Disk> disk(new MountLibrary::Disk( + std::string(kTestDevicePath), + std::string(kTestMountPath), + std::string(kTestSystemPath), + false, + true, + false)); disks_.clear(); - chromeos::MountEventType evt; - evt = chromeos::DISK_REMOVED; - UpdateMountStatus(evt, kTestDevicePath); + disks_.insert(std::pair<std::string, MountLibrary::Disk*>( + std::string(kTestDevicePath), disk.get())); + UpdateDiskChanged(chromeos::MOUNT_DISK_REMOVED, disk.get()); +} + +void MockMountLibrary::UpdateDiskChanged(MountLibraryEventType evt, + const MountLibrary::Disk* disk) { + // Make sure we run on UI thread. + DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); + + FOR_EACH_OBSERVER(Observer, observers_, DiskChanged(evt, disk)); } -void MockMountLibrary::UpdateMountStatus(MountEventType evt, - const std::string& path) { + +void MockMountLibrary::UpdateDeviceChanged(MountLibraryEventType evt, + const std::string& path) { // Make sure we run on UI thread. DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); - FOR_EACH_OBSERVER(Observer, observers_, MountChanged(this, evt, path)); + FOR_EACH_OBSERVER(Observer, observers_, DeviceChanged(evt, path)); } } // namespace chromeos |