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); |
}; |