OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // chromeos::MediaDeviceNotifications listens for mount point changes and | 5 // chromeos::MediaDeviceNotifications listens for mount point changes and |
6 // notifies the SystemMonitor about the addition and deletion of media devices. | 6 // notifies the SystemMonitor about the addition and deletion of media devices. |
7 | 7 |
8 #ifndef CHROME_BROWSER_MEDIA_GALLERY_MEDIA_DEVICE_NOTIFICATIONS_CHROMEOS_H_ | 8 #ifndef CHROME_BROWSER_MEDIA_GALLERY_MEDIA_DEVICE_NOTIFICATIONS_CHROMEOS_H_ |
9 #define CHROME_BROWSER_MEDIA_GALLERY_MEDIA_DEVICE_NOTIFICATIONS_CHROMEOS_H_ | 9 #define CHROME_BROWSER_MEDIA_GALLERY_MEDIA_DEVICE_NOTIFICATIONS_CHROMEOS_H_ |
10 | 10 |
(...skipping 24 matching lines...) Expand all Loading... |
35 const std::string& device_path) OVERRIDE; | 35 const std::string& device_path) OVERRIDE; |
36 virtual void MountCompleted( | 36 virtual void MountCompleted( |
37 disks::DiskMountManager::MountEvent event_type, | 37 disks::DiskMountManager::MountEvent event_type, |
38 MountError error_code, | 38 MountError error_code, |
39 const disks::DiskMountManager::MountPointInfo& mount_info) OVERRIDE; | 39 const disks::DiskMountManager::MountPointInfo& mount_info) OVERRIDE; |
40 | 40 |
41 private: | 41 private: |
42 friend class base::RefCountedThreadSafe<MediaDeviceNotifications>; | 42 friend class base::RefCountedThreadSafe<MediaDeviceNotifications>; |
43 | 43 |
44 // Mapping of mount points to mount device IDs. | 44 // Mapping of mount points to mount device IDs. |
45 typedef std::map<std::string, base::SystemMonitor::DeviceIdType> MountMap; | 45 typedef std::map<std::string, std::string> MountMap; |
46 | 46 |
47 // Private to avoid code deleting the object. | 47 // Private to avoid code deleting the object. |
48 virtual ~MediaDeviceNotifications(); | 48 virtual ~MediaDeviceNotifications(); |
49 | 49 |
50 // Checks if the mount point in |mount_info| is a media device. If it is, | 50 // Checks if the mount point in |mount_info| is a media device. If it is, |
51 // then continue with AddMountedPathOnUIThread() below. | 51 // then continue with AddMountedPathOnUIThread() below. |
52 void CheckMountedPathOnFileThread( | 52 void CheckMountedPathOnFileThread( |
53 const disks::DiskMountManager::MountPointInfo& mount_info); | 53 const disks::DiskMountManager::MountPointInfo& mount_info); |
54 | 54 |
55 // Adds the mount point in |mount_info| to |mount_map_| and send a media | 55 // Adds the mount point in |mount_info| to |mount_map_| and send a media |
56 // device attach notification. | 56 // device attach notification. |
57 void AddMountedPathOnUIThread( | 57 void AddMountedPathOnUIThread( |
58 const disks::DiskMountManager::MountPointInfo& mount_info); | 58 const disks::DiskMountManager::MountPointInfo& mount_info); |
59 | 59 |
60 // The lowest available device id number. | 60 // The lowest available device id number. |
61 // Only accessed on the UI thread. | 61 // Only accessed on the UI thread. |
62 base::SystemMonitor::DeviceIdType current_device_id_; | 62 // TODO(thestig) Remove this and use a device UUID instead. |
| 63 int current_device_id_; |
63 | 64 |
64 // Mapping of relevant mount points and their corresponding mount devices. | 65 // Mapping of relevant mount points and their corresponding mount devices. |
65 // Only accessed on the UI thread. | 66 // Only accessed on the UI thread. |
66 MountMap mount_map_; | 67 MountMap mount_map_; |
67 | 68 |
68 DISALLOW_COPY_AND_ASSIGN(MediaDeviceNotifications); | 69 DISALLOW_COPY_AND_ASSIGN(MediaDeviceNotifications); |
69 }; | 70 }; |
70 | 71 |
71 } // namespace chromeos | 72 } // namespace chromeos |
72 | 73 |
73 #endif // CHROME_BROWSER_MEDIA_GALLERY_MEDIA_DEVICE_NOTIFICATIONS_CHROMEOS_H_ | 74 #endif // CHROME_BROWSER_MEDIA_GALLERY_MEDIA_DEVICE_NOTIFICATIONS_CHROMEOS_H_ |
OLD | NEW |