Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(69)

Unified Diff: chrome/browser/media_gallery/media_device_notifications_linux.h

Issue 10829228: [LINUX] Extract the name and id of the device and send it along the device attach message. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix nits Created 8 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/media_gallery/media_device_notifications_linux.h
diff --git a/chrome/browser/media_gallery/media_device_notifications_linux.h b/chrome/browser/media_gallery/media_device_notifications_linux.h
index 67393ae70615f59c88d5702b265075b70fb74386..09eaabad97a478b2f3ecdba1e10297fe73bee709 100644
--- a/chrome/browser/media_gallery/media_device_notifications_linux.h
+++ b/chrome/browser/media_gallery/media_device_notifications_linux.h
@@ -25,6 +25,10 @@
class FilePath;
+typedef bool (*GetDeviceInfoFunc)(const std::string& device_path,
James Hawkins 2012/08/13 20:30:37 nit: Documentation.
kmadhusu 2012/08/13 21:29:43 Done.
+ std::string* device_name,
+ string16* device_id);
+
namespace chrome {
class MediaDeviceNotificationsLinux
@@ -37,6 +41,10 @@ class MediaDeviceNotificationsLinux
void Init();
protected:
+ // Only for use in unit tests.
+ MediaDeviceNotificationsLinux(const FilePath& path,
+ GetDeviceInfoFunc getDeviceInfo);
+
// Avoids code deleting the object while there are references to it.
// Aside from the base::RefCountedThreadSafe friend class, and derived
// classes, any attempts to call this dtor will result in a compile-time
@@ -51,24 +59,29 @@ class MediaDeviceNotificationsLinux
friend struct content::BrowserThread::DeleteOnThread<
content::BrowserThread::FILE>;
- // (mount device, device id)
- typedef std::pair<std::string, std::string> MountDeviceAndId;
+ struct MountDeviceAndId {
James Hawkins 2012/08/13 20:30:37 nit: Documentation.
kmadhusu 2012/08/13 21:29:43 Done.
+ std::string mount_device;
+ std::string device_id;
+ };
+
// Mapping of mount points to MountDeviceAndId.
typedef std::map<std::string, MountDeviceAndId> MountMap;
+ // (mount point, mount device)
+ // Helper map to get new entries from mtab file.
James Hawkins 2012/08/13 20:30:37 nit: s/Helper m/M/
kmadhusu 2012/08/13 21:29:43 Done.
+ typedef std::map<std::string, std::string> MountPointDeviceMap;
+
void InitOnFileThread();
// Parse the mtab file and find all changes.
James Hawkins 2012/08/13 20:30:37 nit: All of these method comments should be third-
kmadhusu 2012/08/13 21:29:43 Done.
void UpdateMtab();
// Read the mtab file entries into |mtab|.
- void ReadMtab(MountMap* mtab);
+ void ReadMtab(MountPointDeviceMap* mtab);
- // Add a media device with a given device and mount device. Assign it a device
- // id as well.
- void AddNewDevice(const std::string& mount_device,
- const std::string& mount_point,
- std::string* device_id);
+ // Check and add |mount_device| as media device given the |mount_point|.
+ void CheckAndAddMediaDevice(const std::string& mount_device,
+ const std::string& mount_point);
// Remove a media device with a given device id.
void RemoveOldDevice(const std::string& device_id);
@@ -85,15 +98,13 @@ class MediaDeviceNotificationsLinux
// Mapping of relevant mount points and their corresponding mount devices.
// Keep in mind on Linux, a device can be mounted at multiple mount points,
// and multiple devices can be mounted at a mount point.
- MountMap mtab_;
-
- // The lowest available device id number.
- // TODO(thestig) Remove this and use a real per-device unique id instead.
- int current_device_id_;
+ MountMap mount_info_map_;
// Set of known file systems that we care about.
std::set<std::string> known_file_systems_;
+ GetDeviceInfoFunc get_device_info_func_;
James Hawkins 2012/08/13 20:30:37 nit: Documentation.
kmadhusu 2012/08/13 21:29:43 Done.
+
DISALLOW_COPY_AND_ASSIGN(MediaDeviceNotificationsLinux);
};

Powered by Google App Engine
This is Rietveld 408576698