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

Side by Side Diff: chrome/browser/chromeos/drive/resource_metadata_storage.h

Issue 55713002: drive: Use base_name recovered from trashed DB when DB corruption happens (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Use title Created 7 years, 1 month 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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_CHROMEOS_DRIVE_RESOURCE_METADATA_STORAGE_H_ 5 #ifndef CHROME_BROWSER_CHROMEOS_DRIVE_RESOURCE_METADATA_STORAGE_H_
6 #define CHROME_BROWSER_CHROMEOS_DRIVE_RESOURCE_METADATA_STORAGE_H_ 6 #define CHROME_BROWSER_CHROMEOS_DRIVE_RESOURCE_METADATA_STORAGE_H_
7 7
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 // Used to implement Advance(). 98 // Used to implement Advance().
99 void AdvanceInternal(); 99 void AdvanceInternal();
100 100
101 scoped_ptr<leveldb::Iterator> it_; 101 scoped_ptr<leveldb::Iterator> it_;
102 std::string id_; 102 std::string id_;
103 FileCacheEntry entry_; 103 FileCacheEntry entry_;
104 104
105 DISALLOW_COPY_AND_ASSIGN(CacheEntryIterator); 105 DISALLOW_COPY_AND_ASSIGN(CacheEntryIterator);
106 }; 106 };
107 107
108 // Cache information recovered from trashed DB.
109 struct RecoveredCacheInfo {
110 RecoveredCacheInfo();
111 ~RecoveredCacheInfo();
112
113 bool is_dirty;
114 std::string md5;
115 std::string title;
116 };
117 typedef std::map<std::string, RecoveredCacheInfo> RecoveredCacheInfoMap;
118
108 // Returns true if the DB was successfully upgraded to the newest version. 119 // Returns true if the DB was successfully upgraded to the newest version.
109 static bool UpgradeOldDB(const base::FilePath& directory_path, 120 static bool UpgradeOldDB(const base::FilePath& directory_path,
110 const ResourceIdCanonicalizer& id_canonicalizer); 121 const ResourceIdCanonicalizer& id_canonicalizer);
111 122
112 ResourceMetadataStorage(const base::FilePath& directory_path, 123 ResourceMetadataStorage(const base::FilePath& directory_path,
113 base::SequencedTaskRunner* blocking_task_runner); 124 base::SequencedTaskRunner* blocking_task_runner);
114 125
115 const base::FilePath& directory_path() const { return directory_path_; } 126 const base::FilePath& directory_path() const { return directory_path_; }
116 127
117 // Returns true when cache entries were not loaded to the DB during 128 // Returns true when cache entries were not loaded to the DB during
118 // initialization. 129 // initialization.
119 bool cache_file_scan_is_needed() const { return cache_file_scan_is_needed_; } 130 bool cache_file_scan_is_needed() const { return cache_file_scan_is_needed_; }
120 131
121 // Destroys this object. 132 // Destroys this object.
122 void Destroy(); 133 void Destroy();
123 134
124 // Initializes this object. 135 // Initializes this object.
125 bool Initialize(); 136 bool Initialize();
126 137
127 // Collects FileCacheEntry from trashed resource map DB. 138 // Collects cache info from trashed resource map DB.
128 void RecoverCacheEntriesFromTrashedResourceMap( 139 void RecoverCacheInfoFromTrashedResourceMap(RecoveredCacheInfoMap* out_info);
129 std::map<std::string, FileCacheEntry>* out_entries);
130 140
131 // Sets the largest changestamp. 141 // Sets the largest changestamp.
132 bool SetLargestChangestamp(int64 largest_changestamp); 142 bool SetLargestChangestamp(int64 largest_changestamp);
133 143
134 // Gets the largest changestamp. 144 // Gets the largest changestamp.
135 int64 GetLargestChangestamp(); 145 int64 GetLargestChangestamp();
136 146
137 // Puts the entry to this storage. 147 // Puts the entry to this storage.
138 bool PutEntry(const ResourceEntry& entry); 148 bool PutEntry(const ResourceEntry& entry);
139 149
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
201 211
202 scoped_refptr<base::SequencedTaskRunner> blocking_task_runner_; 212 scoped_refptr<base::SequencedTaskRunner> blocking_task_runner_;
203 213
204 DISALLOW_COPY_AND_ASSIGN(ResourceMetadataStorage); 214 DISALLOW_COPY_AND_ASSIGN(ResourceMetadataStorage);
205 }; 215 };
206 216
207 } // namespace internal 217 } // namespace internal
208 } // namespace drive 218 } // namespace drive
209 219
210 #endif // CHROME_BROWSER_CHROMEOS_DRIVE_RESOURCE_METADATA_STORAGE_H_ 220 #endif // CHROME_BROWSER_CHROMEOS_DRIVE_RESOURCE_METADATA_STORAGE_H_
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/drive/file_cache_unittest.cc ('k') | chrome/browser/chromeos/drive/resource_metadata_storage.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698