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

Side by Side Diff: chrome/browser/extensions/api/system_storage/storage_info_provider.h

Issue 18578008: [SystemInfo API] Move Storage API out of experimental namespace and rename to the "system" namespace (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix PermissionTest unittest. Created 7 years, 4 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 #ifndef CHROME_BROWSER_EXTENSIONS_API_SYSTEM_INFO_STORAGE_STORAGE_INFO_PROVIDER_ H_ 4 #ifndef CHROME_BROWSER_EXTENSIONS_API_SYSTEM_STORAGE_STORAGE_INFO_PROVIDER_H_
5 #define CHROME_BROWSER_EXTENSIONS_API_SYSTEM_INFO_STORAGE_STORAGE_INFO_PROVIDER_ H_ 5 #define CHROME_BROWSER_EXTENSIONS_API_SYSTEM_STORAGE_STORAGE_INFO_PROVIDER_H_
6 6
7 #include <set> 7 #include <set>
8 8
9 #include "base/memory/ref_counted.h" 9 #include "base/memory/ref_counted.h"
10 #include "base/observer_list_threadsafe.h" 10 #include "base/observer_list_threadsafe.h"
11 #include "base/timer/timer.h" 11 #include "base/timer/timer.h"
12 #include "chrome/browser/extensions/api/system_info/system_info_provider.h" 12 #include "chrome/browser/extensions/api/system_info/system_info_provider.h"
13 #include "chrome/browser/extensions/api/system_info_storage/storage_free_space_o bserver.h" 13 #include "chrome/browser/extensions/api/system_storage/storage_free_space_observ er.h"
14 #include "chrome/browser/storage_monitor/removable_storage_observer.h" 14 #include "chrome/browser/storage_monitor/removable_storage_observer.h"
15 #include "chrome/browser/storage_monitor/storage_info.h" 15 #include "chrome/browser/storage_monitor/storage_info.h"
16 #include "chrome/common/extensions/api/experimental_system_info_storage.h" 16 #include "chrome/common/extensions/api/system_storage.h"
17 #include "content/public/browser/notification_observer.h" 17 #include "content/public/browser/notification_observer.h"
18 #include "content/public/browser/notification_registrar.h" 18 #include "content/public/browser/notification_registrar.h"
19 19
20 namespace extensions { 20 namespace extensions {
21 21
22 namespace systeminfo { 22 namespace systeminfo {
23 23
24 extern const char kStorageTypeUnknown[]; 24 extern const char kStorageTypeUnknown[];
25 extern const char kStorageTypeFixed[]; 25 extern const char kStorageTypeFixed[];
26 extern const char kStorageTypeRemovable[]; 26 extern const char kStorageTypeRemovable[];
27 27
28 // Build StorageUnitInfo struct from chrome::StorageInfo instance. The |unit| 28 // Build StorageUnitInfo struct from chrome::StorageInfo instance. The |unit|
29 // parameter is the output value. 29 // parameter is the output value.
30 void BuildStorageUnitInfo(const chrome::StorageInfo& info, 30 void BuildStorageUnitInfo(const chrome::StorageInfo& info,
31 api::experimental_system_info_storage::StorageUnitInfo* unit); 31 api::system_storage::StorageUnitInfo* unit);
32 32
33 } // namespace systeminfo 33 } // namespace systeminfo
34 34
35 typedef std::vector<linked_ptr< 35 typedef std::vector<linked_ptr<
36 api::experimental_system_info_storage::StorageUnitInfo> > 36 api::system_storage::StorageUnitInfo> >
37 StorageUnitInfoList; 37 StorageUnitInfoList;
38 38
39 class StorageInfoProvider : public SystemInfoProvider<StorageUnitInfoList> { 39 class StorageInfoProvider : public SystemInfoProvider<StorageUnitInfoList> {
40 public: 40 public:
41 StorageInfoProvider(); 41 StorageInfoProvider();
42 42
43 // Get the single shared instance of StorageInfoProvider. 43 // Get the single shared instance of StorageInfoProvider.
44 static StorageInfoProvider* Get(); 44 static StorageInfoProvider* Get();
45 45
46 // Add and remove observer, both can be called from any thread. 46 // Add and remove observer, both can be called from any thread.
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 // Put all available storages' information into |info_|. 83 // Put all available storages' information into |info_|.
84 virtual void GetAllStoragesIntoInfoList(); 84 virtual void GetAllStoragesIntoInfoList();
85 85
86 private: 86 private:
87 typedef std::map<std::string, double> StorageTransientIdToSizeMap; 87 typedef std::map<std::string, double> StorageTransientIdToSizeMap;
88 88
89 // SystemInfoProvider implementations. 89 // SystemInfoProvider implementations.
90 // Override to query the available capacity of all known storage devices on 90 // Override to query the available capacity of all known storage devices on
91 // the blocking pool, including fixed and removable devices. 91 // the blocking pool, including fixed and removable devices.
92 virtual bool QueryInfo() OVERRIDE; 92 virtual bool QueryInfo() OVERRIDE;
93
93 // Query the new attached removable storage info on the blocking pool. 94 // Query the new attached removable storage info on the blocking pool.
94 void QueryAttachedStorageInfoOnBlockingPool(const std::string& transient_id); 95 void QueryAttachedStorageInfoOnBlockingPool(const std::string& transient_id);
95 96
96 // Posts a task to check for free space changes on the blocking pool. 97 // Posts a task to check for free space changes on the blocking pool.
97 // Should be called on the UI thread. 98 // Should be called on the UI thread.
98 void CheckWatchedStorages(); 99 void CheckWatchedStorages();
99 100
100 // Check if the free space changes for the watched storages by iterating over 101 // Check if the free space changes for the watched storages by iterating over
101 // the |storage_transient_id_to_size_map_|. It is called on blocking pool. 102 // the |storage_transient_id_to_size_map_|. It is called on blocking pool.
102 void CheckWatchedStorageOnBlockingPool(const std::string& transient_id); 103 void CheckWatchedStorageOnBlockingPool(const std::string& transient_id);
(...skipping 19 matching lines...) Expand all
122 // storages. 123 // storages.
123 scoped_refptr<ObserverListThreadSafe<StorageFreeSpaceObserver> > observers_; 124 scoped_refptr<ObserverListThreadSafe<StorageFreeSpaceObserver> > observers_;
124 125
125 // The time interval for watching the free space change, in milliseconds. 126 // The time interval for watching the free space change, in milliseconds.
126 // Only changed for testing purposes. 127 // Only changed for testing purposes.
127 size_t watching_interval_; 128 size_t watching_interval_;
128 }; 129 };
129 130
130 } // namespace extensions 131 } // namespace extensions
131 132
132 #endif // CHROME_BROWSER_EXTENSIONS_API_SYSTEM_INFO_STORAGE_STORAGE_INFO_PROVID ER_H_ 133 #endif // CHROME_BROWSER_EXTENSIONS_API_SYSTEM_STORAGE_STORAGE_INFO_PROVIDER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698