| Index: chrome/browser/extensions/api/system_info_storage/storage_info_provider.h
|
| diff --git a/chrome/browser/extensions/api/system_info_storage/storage_info_provider.h b/chrome/browser/extensions/api/system_info_storage/storage_info_provider.h
|
| deleted file mode 100644
|
| index a6138ddbebcf83ef14424bbd0d3444078e05db26..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/extensions/api/system_info_storage/storage_info_provider.h
|
| +++ /dev/null
|
| @@ -1,132 +0,0 @@
|
| -// 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.
|
| -#ifndef CHROME_BROWSER_EXTENSIONS_API_SYSTEM_INFO_STORAGE_STORAGE_INFO_PROVIDER_H_
|
| -#define CHROME_BROWSER_EXTENSIONS_API_SYSTEM_INFO_STORAGE_STORAGE_INFO_PROVIDER_H_
|
| -
|
| -#include <set>
|
| -
|
| -#include "base/memory/ref_counted.h"
|
| -#include "base/observer_list_threadsafe.h"
|
| -#include "base/timer/timer.h"
|
| -#include "chrome/browser/extensions/api/system_info/system_info_provider.h"
|
| -#include "chrome/browser/extensions/api/system_info_storage/storage_free_space_observer.h"
|
| -#include "chrome/browser/storage_monitor/removable_storage_observer.h"
|
| -#include "chrome/browser/storage_monitor/storage_info.h"
|
| -#include "chrome/common/extensions/api/experimental_system_info_storage.h"
|
| -#include "content/public/browser/notification_observer.h"
|
| -#include "content/public/browser/notification_registrar.h"
|
| -
|
| -namespace extensions {
|
| -
|
| -namespace systeminfo {
|
| -
|
| -extern const char kStorageTypeUnknown[];
|
| -extern const char kStorageTypeFixed[];
|
| -extern const char kStorageTypeRemovable[];
|
| -
|
| -// Build StorageUnitInfo struct from chrome::StorageInfo instance. The |unit|
|
| -// parameter is the output value.
|
| -void BuildStorageUnitInfo(const chrome::StorageInfo& info,
|
| - api::experimental_system_info_storage::StorageUnitInfo* unit);
|
| -
|
| -} // namespace systeminfo
|
| -
|
| -typedef std::vector<linked_ptr<
|
| - api::experimental_system_info_storage::StorageUnitInfo> >
|
| - StorageUnitInfoList;
|
| -
|
| -class StorageInfoProvider : public SystemInfoProvider<StorageUnitInfoList> {
|
| - public:
|
| - StorageInfoProvider();
|
| -
|
| - // Get the single shared instance of StorageInfoProvider.
|
| - static StorageInfoProvider* Get();
|
| -
|
| - // Add and remove observer, both can be called from any thread.
|
| - void AddObserver(StorageFreeSpaceObserver* obs);
|
| - void RemoveObserver(StorageFreeSpaceObserver* obs);
|
| -
|
| - // Start and stop watching the given storage |transient_id|.
|
| - void StartWatching(const std::string& transient_id);
|
| - void StopWatching(const std::string& transient_id);
|
| -
|
| - // Start and stop watching all available storages.
|
| - void StartWatchingAllStorages();
|
| - void StopWatchingAllStorages();
|
| -
|
| - // Returns all available storages, including fixed and removable.
|
| - virtual std::vector<chrome::StorageInfo> GetAllStorages() const;
|
| -
|
| - // SystemInfoProvider implementations
|
| - virtual void PrepareQueryOnUIThread() OVERRIDE;
|
| - virtual void InitializeProvider(const base::Closure& do_query_info_callback)
|
| - OVERRIDE;
|
| -
|
| - // Get the amount of storage free space from |transient_id|, or -1 on failure.
|
| - virtual int64 GetStorageFreeSpaceFromTransientId(
|
| - const std::string& transient_id);
|
| -
|
| - virtual std::string GetTransientIdForDeviceId(
|
| - const std::string& device_id) const;
|
| - virtual std::string GetDeviceIdForTransientId(
|
| - const std::string& transient_id) const;
|
| -
|
| - const StorageUnitInfoList& storage_unit_info_list() const;
|
| -
|
| - protected:
|
| - virtual ~StorageInfoProvider();
|
| -
|
| - // TODO(Haojian): Put this method in a testing subclass rather than here.
|
| - void SetWatchingIntervalForTesting(size_t ms) { watching_interval_ = ms; }
|
| -
|
| - // Put all available storages' information into |info_|.
|
| - virtual void GetAllStoragesIntoInfoList();
|
| -
|
| - private:
|
| - typedef std::map<std::string, double> StorageTransientIdToSizeMap;
|
| -
|
| - // SystemInfoProvider implementations.
|
| - // Override to query the available capacity of all known storage devices on
|
| - // the blocking pool, including fixed and removable devices.
|
| - virtual bool QueryInfo() OVERRIDE;
|
| - // Query the new attached removable storage info on the blocking pool.
|
| - void QueryAttachedStorageInfoOnBlockingPool(const std::string& transient_id);
|
| -
|
| - // Posts a task to check for free space changes on the blocking pool.
|
| - // Should be called on the UI thread.
|
| - void CheckWatchedStorages();
|
| -
|
| - // Check if the free space changes for the watched storages by iterating over
|
| - // the |storage_transient_id_to_size_map_|. It is called on blocking pool.
|
| - void CheckWatchedStorageOnBlockingPool(const std::string& transient_id);
|
| -
|
| - // Add the storage identified by |transient_id| into watching list.
|
| - void AddWatchedStorageOnBlockingPool(const std::string& transient_id);
|
| - // Remove the storage identified by |transient_id| from watching list.
|
| - void RemoveWatchedStorageOnBlockingPool(const std::string& transient_id);
|
| -
|
| - void StartWatchingTimerOnUIThread();
|
| - // Force to stop the watching timer or there is no any one storage to be
|
| - // watched. It is called on UI thread.
|
| - void StopWatchingTimerOnUIThread();
|
| -
|
| - // Mapping of the storage being watched and the recent free space value. It
|
| - // is maintained on the blocking pool.
|
| - StorageTransientIdToSizeMap storage_transient_id_to_size_map_;
|
| -
|
| - // The timer used for watching the storage free space changes periodically.
|
| - base::RepeatingTimer<StorageInfoProvider> watching_timer_;
|
| -
|
| - // The thread-safe observer list that observe the changes happening on the
|
| - // storages.
|
| - scoped_refptr<ObserverListThreadSafe<StorageFreeSpaceObserver> > observers_;
|
| -
|
| - // The time interval for watching the free space change, in milliseconds.
|
| - // Only changed for testing purposes.
|
| - size_t watching_interval_;
|
| -};
|
| -
|
| -} // namespace extensions
|
| -
|
| -#endif // CHROME_BROWSER_EXTENSIONS_API_SYSTEM_INFO_STORAGE_STORAGE_INFO_PROVIDER_H_
|
|
|