| Index: chrome/browser/chromeos/drive/resource_metadata_storage.h
|
| diff --git a/chrome/browser/chromeos/drive/resource_metadata_storage.h b/chrome/browser/chromeos/drive/resource_metadata_storage.h
|
| index c4d12f1679384a6ae2673c91edeefaed928e1127..d5ae085b95ef73027f31fe34605d0da9f6811cd1 100644
|
| --- a/chrome/browser/chromeos/drive/resource_metadata_storage.h
|
| +++ b/chrome/browser/chromeos/drive/resource_metadata_storage.h
|
| @@ -10,9 +10,14 @@
|
|
|
| #include "base/basictypes.h"
|
| #include "base/files/file_path.h"
|
| +#include "base/memory/ref_counted.h"
|
| #include "base/memory/scoped_ptr.h"
|
| #include "chrome/browser/chromeos/drive/drive.pb.h"
|
|
|
| +namespace base {
|
| +class SequencedTaskRunner;
|
| +}
|
| +
|
| namespace leveldb {
|
| class DB;
|
| class Iterator;
|
| @@ -23,6 +28,8 @@ namespace drive {
|
| class ResourceEntry;
|
| class ResourceMetadataHeader;
|
|
|
| +namespace internal {
|
| +
|
| // Storage for ResourceMetadata which is responsible to manage resource
|
| // entries and child-parent relationships between entries.
|
| class ResourceMetadataStorage {
|
| @@ -91,8 +98,13 @@ class ResourceMetadataStorage {
|
| DISALLOW_COPY_AND_ASSIGN(CacheEntryIterator);
|
| };
|
|
|
| - explicit ResourceMetadataStorage(const base::FilePath& directory_path);
|
| - virtual ~ResourceMetadataStorage();
|
| + ResourceMetadataStorage(const base::FilePath& directory_path,
|
| + base::SequencedTaskRunner* blocking_task_runner);
|
| +
|
| + const base::FilePath& directory_path() const { return directory_path_; }
|
| +
|
| + // Destroys this object.
|
| + void Destroy();
|
|
|
| // Initializes this object.
|
| bool Initialize();
|
| @@ -139,6 +151,12 @@ class ResourceMetadataStorage {
|
| private:
|
| friend class ResourceMetadataStorageTest;
|
|
|
| + // To destruct this object, use Destroy().
|
| + ~ResourceMetadataStorage();
|
| +
|
| + // Used to implement Destroy().
|
| + void DestroyOnBlockingPool();
|
| +
|
| // Returns a string to be used as a key for child entry.
|
| static std::string GetChildEntryKey(const std::string& parent_resource_id,
|
| const std::string& child_name);
|
| @@ -158,9 +176,12 @@ class ResourceMetadataStorage {
|
| // Entries stored in this storage.
|
| scoped_ptr<leveldb::DB> resource_map_;
|
|
|
| + scoped_refptr<base::SequencedTaskRunner> blocking_task_runner_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(ResourceMetadataStorage);
|
| };
|
|
|
| +} // namespace internal
|
| } // namespace drive
|
|
|
| #endif // CHROME_BROWSER_CHROMEOS_DRIVE_RESOURCE_METADATA_STORAGE_H_
|
|
|