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

Side by Side Diff: chrome/browser/system_monitor/media_transfer_protocol_device_observer_linux.cc

Issue 12211084: [Media Galleries] Populate volume metadata in ChromeOS/Linux (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 7 years, 10 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 unified diff | Download patch
OLDNEW
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 #include "chrome/browser/system_monitor/media_transfer_protocol_device_observer_ linux.h" 5 #include "chrome/browser/system_monitor/media_transfer_protocol_device_observer_ linux.h"
6 6
7 #include "base/file_path.h" 7 #include "base/file_path.h"
8 #include "base/stl_util.h" 8 #include "base/stl_util.h"
9 #include "base/string_number_conversions.h" 9 #include "base/string_number_conversions.h"
10 #include "base/string_split.h" 10 #include "base/string_split.h"
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
106 106
107 if (!storage_info) 107 if (!storage_info)
108 return; 108 return;
109 109
110 if (id) 110 if (id)
111 *id = GetDeviceIdFromStorageInfo(*storage_info); 111 *id = GetDeviceIdFromStorageInfo(*storage_info);
112 112
113 if (label) 113 if (label)
114 *label = GetDeviceLabelFromStorageInfo(*storage_info); 114 *label = GetDeviceLabelFromStorageInfo(*storage_info);
115 115
116
117 if (location) 116 if (location)
118 *location = GetDeviceLocationFromStorageName(storage_name); 117 *location = GetDeviceLocationFromStorageName(storage_name);
119 } 118 }
120 119
121 } // namespace 120 } // namespace
122 121
123 MediaTransferProtocolDeviceObserverLinux:: 122 MediaTransferProtocolDeviceObserverLinux::
124 MediaTransferProtocolDeviceObserverLinux() 123 MediaTransferProtocolDeviceObserverLinux()
125 : get_storage_info_func_(&GetStorageInfo) { 124 : get_storage_info_func_(&GetStorageInfo) {
126 DCHECK(!g_mtp_device_observer); 125 DCHECK(!g_mtp_device_observer);
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
207 // Keep track of device id and device name to see how often we receive 206 // Keep track of device id and device name to see how often we receive
208 // empty values. 207 // empty values.
209 MediaStorageUtil::RecordDeviceInfoHistogram(false, device_id, device_name); 208 MediaStorageUtil::RecordDeviceInfoHistogram(false, device_id, device_name);
210 if (device_id.empty() || device_name.empty()) 209 if (device_id.empty() || device_name.empty())
211 return; 210 return;
212 211
213 DCHECK(!ContainsKey(storage_map_, location)); 212 DCHECK(!ContainsKey(storage_map_, location));
214 213
215 RemovableStorageNotifications::StorageInfo storage_info( 214 RemovableStorageNotifications::StorageInfo storage_info(
216 device_id, device_name, location); 215 device_id, device_name, location);
216 storage_info.storage_label = device_name;
217 storage_map_[location] = storage_info; 217 storage_map_[location] = storage_info;
218 notifications_->ProcessAttach(device_id, device_name, location); 218 notifications_->ProcessAttach(storage_info);
219 } else { 219 } else {
220 // Existing storage is detached. 220 // Existing storage is detached.
221 StorageLocationToInfoMap::iterator it = 221 StorageLocationToInfoMap::iterator it =
222 storage_map_.find(GetDeviceLocationFromStorageName(storage_name)); 222 storage_map_.find(GetDeviceLocationFromStorageName(storage_name));
223 if (it == storage_map_.end()) 223 if (it == storage_map_.end())
224 return; 224 return;
225 notifications_->ProcessDetach(it->second.device_id); 225 notifications_->ProcessDetach(it->second.device_id);
226 storage_map_.erase(it); 226 storage_map_.erase(it);
227 } 227 }
228 } 228 }
229 229
230 void MediaTransferProtocolDeviceObserverLinux::EnumerateStorages() { 230 void MediaTransferProtocolDeviceObserverLinux::EnumerateStorages() {
231 typedef std::vector<std::string> StorageList; 231 typedef std::vector<std::string> StorageList;
232 device::MediaTransferProtocolManager* mtp_manager = 232 device::MediaTransferProtocolManager* mtp_manager =
233 device::MediaTransferProtocolManager::GetInstance(); 233 device::MediaTransferProtocolManager::GetInstance();
234 StorageList storages = mtp_manager->GetStorages(); 234 StorageList storages = mtp_manager->GetStorages();
235 for (StorageList::const_iterator storage_iter = storages.begin(); 235 for (StorageList::const_iterator storage_iter = storages.begin();
236 storage_iter != storages.end(); ++storage_iter) { 236 storage_iter != storages.end(); ++storage_iter) {
237 StorageChanged(true, *storage_iter); 237 StorageChanged(true, *storage_iter);
238 } 238 }
239 } 239 }
240 240
241 } // namespace chrome 241 } // namespace chrome
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698