summaryrefslogtreecommitdiffstats
path: root/chrome/browser/chromeos/cros/mock_mount_library.cc
diff options
context:
space:
mode:
authorzelidrag@chromium.org <zelidrag@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-17 22:07:12 +0000
committerzelidrag@chromium.org <zelidrag@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-17 22:07:12 +0000
commit0bcf47f09824f3028d5b2298d51182dd4dd4bf4f (patch)
tree6c3e596d9157174ad1606c3b2fd05eb7418cca09 /chrome/browser/chromeos/cros/mock_mount_library.cc
parentea431e54446816d680168b7a603fc50663072945 (diff)
downloadchromium_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.cc65
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