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

Unified Diff: chrome/browser/media_galleries/linux/mtp_device_task_helper_map_service.cc

Issue 947943002: Implement CopyFileFromLocal of MTPDeviceAsyncDelegate. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. Created 5 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/media_galleries/linux/mtp_device_task_helper_map_service.cc
diff --git a/chrome/browser/media_galleries/linux/mtp_device_task_helper_map_service.cc b/chrome/browser/media_galleries/linux/mtp_device_task_helper_map_service.cc
index ce923aa3fe79fed81b9bef093d302d7948df41af..dfa85e347e99ea30891e0cbc571c03da8e82b9f9 100644
--- a/chrome/browser/media_galleries/linux/mtp_device_task_helper_map_service.cc
+++ b/chrome/browser/media_galleries/linux/mtp_device_task_helper_map_service.cc
@@ -22,19 +22,25 @@ MTPDeviceTaskHelperMapService* MTPDeviceTaskHelperMapService::GetInstance() {
}
MTPDeviceTaskHelper* MTPDeviceTaskHelperMapService::CreateDeviceTaskHelper(
- const std::string& storage_name) {
+ const std::string& storage_name,
+ const bool read_only) {
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
DCHECK(!storage_name.empty());
- DCHECK(!ContainsKey(task_helper_map_, storage_name));
+ const MTPDeviceTaskHelperKey key =
+ GetMTPDeviceTaskHelperKey(storage_name, read_only);
+ DCHECK(!ContainsKey(task_helper_map_, key));
MTPDeviceTaskHelper* task_helper = new MTPDeviceTaskHelper();
- task_helper_map_[storage_name] = task_helper;
+ task_helper_map_[key] = task_helper;
return task_helper;
}
void MTPDeviceTaskHelperMapService::DestroyDeviceTaskHelper(
- const std::string& storage_name) {
+ const std::string& storage_name,
+ const bool read_only) {
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
- TaskHelperMap::iterator it = task_helper_map_.find(storage_name);
+ const MTPDeviceTaskHelperKey key =
+ GetMTPDeviceTaskHelperKey(storage_name, read_only);
+ TaskHelperMap::iterator it = task_helper_map_.find(key);
if (it == task_helper_map_.end())
return;
delete it->second;
@@ -42,13 +48,25 @@ void MTPDeviceTaskHelperMapService::DestroyDeviceTaskHelper(
}
MTPDeviceTaskHelper* MTPDeviceTaskHelperMapService::GetDeviceTaskHelper(
- const std::string& storage_name) {
+ const std::string& storage_name,
+ const bool read_only) {
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
DCHECK(!storage_name.empty());
- TaskHelperMap::const_iterator it = task_helper_map_.find(storage_name);
+ const MTPDeviceTaskHelperKey key =
+ GetMTPDeviceTaskHelperKey(storage_name, read_only);
+ TaskHelperMap::const_iterator it = task_helper_map_.find(key);
return (it != task_helper_map_.end()) ? it->second : NULL;
}
+// static
+MTPDeviceTaskHelperMapService::MTPDeviceTaskHelperKey
+MTPDeviceTaskHelperMapService::GetMTPDeviceTaskHelperKey(
+ const std::string& storage_name,
+ const bool read_only) {
+ return (read_only ? "ReadOnly" : "ReadWrite") + std::string("|") +
+ storage_name;
+}
+
MTPDeviceTaskHelperMapService::MTPDeviceTaskHelperMapService() {
}

Powered by Google App Engine
This is Rietveld 408576698