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

Side by Side Diff: chrome/browser/sync_file_system/drive_metadata_store.h

Issue 12744008: SyncFS: store disabled origins in DriveMetadataStore (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years, 9 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_SYNC_FILE_SYSTEM_DRIVE_METADATA_STORE_H_ 5 #ifndef CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_METADATA_STORE_H_
6 #define CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_METADATA_STORE_H_ 6 #define CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_METADATA_STORE_H_
7 7
8 #include <map> 8 #include <map>
9 #include <string> 9 #include <string>
10 #include <utility> 10 #include <utility>
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
75 75
76 // Returns true if |origin| is a batch sync origin, i.e. the origin's entire 76 // Returns true if |origin| is a batch sync origin, i.e. the origin's entire
77 // file list hasn't been fully fetched and processed yet. 77 // file list hasn't been fully fetched and processed yet.
78 bool IsBatchSyncOrigin(const GURL& origin) const; 78 bool IsBatchSyncOrigin(const GURL& origin) const;
79 79
80 // Returns true if |origin| is an incremental sync origin, i.e. the origin's 80 // Returns true if |origin| is an incremental sync origin, i.e. the origin's
81 // entire file list has been cached and is ready to apply changes 81 // entire file list has been cached and is ready to apply changes
82 // incrementally. 82 // incrementally.
83 bool IsIncrementalSyncOrigin(const GURL& origin) const; 83 bool IsIncrementalSyncOrigin(const GURL& origin) const;
84 84
85 // Returns true if |origin| is a disabled origin.
86 bool IsOriginDisabled(const GURL& origin) const;
87
85 // Marks |origin| as a batch sync origin and associates it with the directory 88 // Marks |origin| as a batch sync origin and associates it with the directory
86 // identified by |resource_id|. 89 // identified by |resource_id|.
87 // |origin| must not be a batch sync origin nor an incremental sync origin. 90 // |origin| must not be a batch sync origin nor an incremental sync origin.
88 void AddBatchSyncOrigin(const GURL& origin, const std::string& resource_id); 91 void AddBatchSyncOrigin(const GURL& origin, const std::string& resource_id);
89 92
90 // Marks |origin| as an incremental sync origin. 93 // Marks |origin| as an incremental sync origin.
91 // |origin| must be a batch sync origin. 94 // |origin| must be a batch sync origin.
92 void MoveBatchSyncOriginToIncremental(const GURL& origin); 95 void MoveBatchSyncOriginToIncremental(const GURL& origin);
93 96
97 void EnableOrigin(const GURL& origin,
98 const SyncStatusCallback& callback);
99
100 void DisableOrigin(const GURL& origin,
101 const SyncStatusCallback& callback);
102
94 void RemoveOrigin(const GURL& origin, 103 void RemoveOrigin(const GURL& origin,
95 const SyncStatusCallback& callback); 104 const SyncStatusCallback& callback);
96 105
97 // Sets the directory identified by |resource_id| as the sync data directory. 106 // Sets the directory identified by |resource_id| as the sync data directory.
98 // All data for the Sync FileSystem should be store into the directory. 107 // All data for the Sync FileSystem should be store into the directory.
99 // It is invalid to overwrite the directory. 108 // It is invalid to overwrite the directory.
100 void SetSyncRootDirectory(const std::string& resource_id); 109 void SetSyncRootDirectory(const std::string& resource_id);
101 110
102 // Returns a set of URLs for files in conflict. 111 // Returns a set of URLs for files in conflict.
103 SyncStatusCode GetConflictURLs( 112 SyncStatusCode GetConflictURLs(
(...skipping 17 matching lines...) Expand all
121 const ResourceIdByOrigin& batch_sync_origins() const { 130 const ResourceIdByOrigin& batch_sync_origins() const {
122 DCHECK(CalledOnValidThread()); 131 DCHECK(CalledOnValidThread());
123 return batch_sync_origins_; 132 return batch_sync_origins_;
124 } 133 }
125 134
126 const ResourceIdByOrigin& incremental_sync_origins() const { 135 const ResourceIdByOrigin& incremental_sync_origins() const {
127 DCHECK(CalledOnValidThread()); 136 DCHECK(CalledOnValidThread());
128 return incremental_sync_origins_; 137 return incremental_sync_origins_;
129 } 138 }
130 139
131 // Returns all origins that are tracked. i.e. Union of batch_sync_origins_ and 140 const ResourceIdByOrigin& disabled_origins() const {
141 DCHECK(CalledOnValidThread());
142 return disabled_origins_;
143 }
144
145 // Returns tracked and enabled origins. i.e. Union of batch_sync_origins_ and
132 // incremental_sync_origins_. 146 // incremental_sync_origins_.
133 void GetAllOrigins(std::vector<GURL>* origins); 147 void GetEnabledOrigins(std::vector<GURL>* origins);
148
149 // Returns tracked but disabled origins. i.e. disabled_origins_.
150 void GetDisabledOrigins(std::vector<GURL>* origins);
134 151
135 // Maps |resource_id| to corresponding |origin|. 152 // Maps |resource_id| to corresponding |origin|.
136 // Returns true if the directory indicated by |resource_id| is not an origin 153 // Returns true if the directory indicated by |resource_id| is not an origin
137 // root directory. 154 // root directory.
138 bool GetOriginByOriginRootDirectoryId(const std::string& resource_id, 155 bool GetOriginByOriginRootDirectoryId(const std::string& resource_id,
139 GURL* origin); 156 GURL* origin);
140 157
141 private: 158 private:
142 friend class DriveMetadataStoreTest; 159 friend class DriveMetadataStoreTest;
143 160
144 void UpdateDBStatus(SyncStatusCode status); 161 void UpdateDBStatus(SyncStatusCode status);
145 void UpdateDBStatusAndInvokeCallback(const SyncStatusCallback& callback, 162 void UpdateDBStatusAndInvokeCallback(const SyncStatusCallback& callback,
146 SyncStatusCode status); 163 SyncStatusCode status);
147 void DidInitialize(const InitializationCallback& callback, 164 void DidInitialize(const InitializationCallback& callback,
148 DriveMetadataDBContents* contents, 165 DriveMetadataDBContents* contents,
149 SyncStatusCode error); 166 SyncStatusCode error);
150 void DidRemoveOrigin(const SyncStatusCallback& callback, 167 void DidUpdateOrigin(const SyncStatusCallback& callback,
151 SyncStatusCode status); 168 SyncStatusCode status);
152 169
153 // These are only for testing. 170 // These are only for testing.
154 void RestoreSyncRootDirectory(const SyncStatusCallback& callback); 171 void RestoreSyncRootDirectory(const SyncStatusCallback& callback);
155 void DidRestoreSyncRootDirectory(const SyncStatusCallback& callback, 172 void DidRestoreSyncRootDirectory(const SyncStatusCallback& callback,
156 std::string* sync_root_directory_resource_id, 173 std::string* sync_root_directory_resource_id,
157 SyncStatusCode status); 174 SyncStatusCode status);
158 void RestoreSyncOrigins(const SyncStatusCallback& callback); 175 void RestoreOrigins(const SyncStatusCallback& callback);
159 void DidRestoreSyncOrigins(const SyncStatusCallback& callback, 176 void DidRestoreOrigins(const SyncStatusCallback& callback,
160 ResourceIdByOrigin* batch_sync_origins, 177 ResourceIdByOrigin* batch_sync_origins,
161 ResourceIdByOrigin* incremental_sync_origins, 178 ResourceIdByOrigin* incremental_sync_origins,
162 SyncStatusCode status); 179 ResourceIdByOrigin* disabled_origins,
180 SyncStatusCode status);
163 181
164 scoped_refptr<base::SequencedTaskRunner> file_task_runner_; 182 scoped_refptr<base::SequencedTaskRunner> file_task_runner_;
165 scoped_ptr<DriveMetadataDB> db_; 183 scoped_ptr<DriveMetadataDB> db_;
166 SyncStatusCode db_status_; 184 SyncStatusCode db_status_;
167 185
168 int64 largest_changestamp_; 186 int64 largest_changestamp_;
169 MetadataMap metadata_map_; 187 MetadataMap metadata_map_;
170 188
171 std::string sync_root_directory_resource_id_; 189 std::string sync_root_directory_resource_id_;
172 ResourceIdByOrigin batch_sync_origins_; 190 ResourceIdByOrigin batch_sync_origins_;
173 ResourceIdByOrigin incremental_sync_origins_; 191 ResourceIdByOrigin incremental_sync_origins_;
192 ResourceIdByOrigin disabled_origins_;
174 193
175 OriginByResourceId origin_by_resource_id_; 194 OriginByResourceId origin_by_resource_id_;
176 195
177 DISALLOW_COPY_AND_ASSIGN(DriveMetadataStore); 196 DISALLOW_COPY_AND_ASSIGN(DriveMetadataStore);
178 }; 197 };
179 198
180 } // namespace sync_file_system 199 } // namespace sync_file_system
181 200
182 #endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_METADATA_STORE_H_ 201 #endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_METADATA_STORE_H_
OLDNEW
« no previous file with comments | « chrome/browser/sync_file_system/drive_file_sync_service.cc ('k') | chrome/browser/sync_file_system/drive_metadata_store.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698