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

Side by Side Diff: chrome/browser/system_monitor/removable_storage_notifications.h

Issue 12208079: Move TransientDeviceId from MediFileSystemRegistry to RemovableStorageNotifications. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: nit 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 | Annotate | Revision Log
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 #ifndef CHROME_BROWSER_SYSTEM_MONITOR_REMOVABLE_STORAGE_NOTIFICATIONS_H_ 5 #ifndef CHROME_BROWSER_SYSTEM_MONITOR_REMOVABLE_STORAGE_NOTIFICATIONS_H_
6 #define CHROME_BROWSER_SYSTEM_MONITOR_REMOVABLE_STORAGE_NOTIFICATIONS_H_ 6 #define CHROME_BROWSER_SYSTEM_MONITOR_REMOVABLE_STORAGE_NOTIFICATIONS_H_
7 7
8 #include "base/file_path.h" 8 #include "base/file_path.h"
9 #include "base/observer_list_threadsafe.h" 9 #include "base/observer_list_threadsafe.h"
10 #include "base/string16.h" 10 #include "base/string16.h"
11 #include "base/synchronization/lock.h" 11 #include "base/synchronization/lock.h"
12 12
13 class ChromeBrowserMainPartsLinux; 13 class ChromeBrowserMainPartsLinux;
14 class ChromeBrowserMainPartsMac; 14 class ChromeBrowserMainPartsMac;
15 class MediaGalleriesPrivateApiTest; 15 class MediaGalleriesPrivateApiTest;
16 16
17 namespace chrome { 17 namespace chrome {
18 18
19 class MediaFileSystemRegistryTest; 19 class MediaFileSystemRegistryTest;
20 class RemovableStorageObserver; 20 class RemovableStorageObserver;
21 class TransientDeviceIds;
21 22
22 // Base class for platform-specific instances watching for removable storage 23 // Base class for platform-specific instances watching for removable storage
23 // attachments/detachments. 24 // attachments/detachments.
24 class RemovableStorageNotifications { 25 class RemovableStorageNotifications {
25 public: 26 public:
26 struct StorageInfo { 27 struct StorageInfo {
27 StorageInfo(); 28 StorageInfo();
28 StorageInfo(const std::string& id, 29 StorageInfo(const std::string& id,
29 const string16& device_name, 30 const string16& device_name,
30 const base::FilePath::StringType& device_location); 31 const base::FilePath::StringType& device_location);
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 string16* device_location, 77 string16* device_location,
77 string16* storage_object_id) const = 0; 78 string16* storage_object_id) const = 0;
78 #endif 79 #endif
79 80
80 // Returns information for attached removable storage. 81 // Returns information for attached removable storage.
81 std::vector<StorageInfo> GetAttachedStorage() const; 82 std::vector<StorageInfo> GetAttachedStorage() const;
82 83
83 void AddObserver(RemovableStorageObserver* obs); 84 void AddObserver(RemovableStorageObserver* obs);
84 void RemoveObserver(RemovableStorageObserver* obs); 85 void RemoveObserver(RemovableStorageObserver* obs);
85 86
87 TransientDeviceIds* transient_device_ids() const;
88
86 protected: 89 protected:
87 RemovableStorageNotifications(); 90 RemovableStorageNotifications();
88 virtual ~RemovableStorageNotifications(); 91 virtual ~RemovableStorageNotifications();
89 92
90 // TODO(gbillock): Clean up ownerships and get rid of these friends. 93 // TODO(gbillock): Clean up ownerships and get rid of these friends.
91 friend class ::ChromeBrowserMainPartsLinux; 94 friend class ::ChromeBrowserMainPartsLinux;
92 friend class ::ChromeBrowserMainPartsMac; 95 friend class ::ChromeBrowserMainPartsMac;
93 friend class ::MediaGalleriesPrivateApiTest; 96 friend class ::MediaGalleriesPrivateApiTest;
94 friend class MediaFileSystemRegistryTest; 97 friend class MediaFileSystemRegistryTest;
95 98
(...skipping 11 matching lines...) Expand all
107 scoped_ptr<Receiver> receiver_; 110 scoped_ptr<Receiver> receiver_;
108 111
109 scoped_refptr<ObserverListThreadSafe<RemovableStorageObserver> > 112 scoped_refptr<ObserverListThreadSafe<RemovableStorageObserver> >
110 observer_list_; 113 observer_list_;
111 114
112 // For manipulating removable_storage_map_ structure. 115 // For manipulating removable_storage_map_ structure.
113 mutable base::Lock storage_lock_; 116 mutable base::Lock storage_lock_;
114 117
115 // Map of all the attached removable storage devices. 118 // Map of all the attached removable storage devices.
116 RemovableStorageMap storage_map_; 119 RemovableStorageMap storage_map_;
120
121 scoped_ptr<TransientDeviceIds> transient_device_ids_;
117 }; 122 };
118 123
119 } // namespace chrome 124 } // namespace chrome
120 125
121 #endif // CHROME_BROWSER_SYSTEM_MONITOR_REMOVABLE_STORAGE_NOTIFICATIONS_H_ 126 #endif // CHROME_BROWSER_SYSTEM_MONITOR_REMOVABLE_STORAGE_NOTIFICATIONS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698