summaryrefslogtreecommitdiffstats
path: root/chrome/browser/storage_monitor/transient_device_ids.cc
diff options
context:
space:
mode:
authorgbillock@chromium.org <gbillock@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-02-21 00:00:10 +0000
committergbillock@chromium.org <gbillock@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-02-21 00:00:10 +0000
commitf261762800a167f429ce0bf8a16ca3cee8d5b1c7 (patch)
tree8d3cf54b4951670a7d905712e28fb9faac6d52cb /chrome/browser/storage_monitor/transient_device_ids.cc
parentefe80d214e26fe552853aaccee59b4881c4b6e24 (diff)
downloadchromium_src-f261762800a167f429ce0bf8a16ca3cee8d5b1c7.zip
chromium_src-f261762800a167f429ce0bf8a16ca3cee8d5b1c7.tar.gz
chromium_src-f261762800a167f429ce0bf8a16ca3cee8d5b1c7.tar.bz2
Rename browser/system_monitor to browser/storage_monitor.
R=vandebo@chromium.org BUG=None Review URL: https://chromiumcodereview.appspot.com/12312002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@183664 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/storage_monitor/transient_device_ids.cc')
-rw-r--r--chrome/browser/storage_monitor/transient_device_ids.cc42
1 files changed, 42 insertions, 0 deletions
diff --git a/chrome/browser/storage_monitor/transient_device_ids.cc b/chrome/browser/storage_monitor/transient_device_ids.cc
new file mode 100644
index 0000000..c6231a5
--- /dev/null
+++ b/chrome/browser/storage_monitor/transient_device_ids.cc
@@ -0,0 +1,42 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// TransientDeviceIds implementation.
+
+#include "chrome/browser/storage_monitor/transient_device_ids.h"
+
+#include "base/logging.h"
+#include "chrome/browser/storage_monitor/media_storage_util.h"
+
+namespace chrome {
+
+TransientDeviceIds::TransientDeviceIds() : next_transient_id_(1) {}
+
+TransientDeviceIds::~TransientDeviceIds() {}
+
+uint64 TransientDeviceIds::GetTransientIdForDeviceId(
+ const std::string& device_id) {
+ DCHECK(thread_checker_.CalledOnValidThread());
+ DCHECK(MediaStorageUtil::IsRemovableDevice(device_id));
+
+ bool inserted =
+ id_map_.insert(std::make_pair(device_id, next_transient_id_)).second;
+ if (inserted) {
+ // Inserted a device that has never been seen before.
+ ++next_transient_id_;
+ }
+ return id_map_[device_id];
+}
+
+const std::string TransientDeviceIds::DeviceIdFromTransientId(
+ uint64 transient_id) const {
+ for (DeviceIdToTransientIdMap::const_iterator iter = id_map_.begin();
+ iter != id_map_.end(); ++iter) {
+ if (iter->second == transient_id)
+ return iter->first;
+ }
+ return std::string();
+}
+
+} // namespace chrome