OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 // The 'sessions' namespace comprises all the pieces of state that are | 5 // The 'sessions' namespace comprises all the pieces of state that are |
6 // combined to form a SyncSession instance. In that way, it can be thought of | 6 // combined to form a SyncSession instance. In that way, it can be thought of |
7 // as an extension of the SyncSession type itself. Session scoping gives | 7 // as an extension of the SyncSession type itself. Session scoping gives |
8 // context to things like "conflict progress", "update progress", etc, and the | 8 // context to things like "conflict progress", "update progress", etc, and the |
9 // separation this file provides allows clients to only include the parts they | 9 // separation this file provides allows clients to only include the parts they |
10 // need rather than the entire session stack. | 10 // need rather than the entire session stack. |
(...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
264 std::vector<VerifiedUpdate> verified_updates_; | 264 std::vector<VerifiedUpdate> verified_updates_; |
265 | 265 |
266 // Stores the result of the various ApplyUpdate attempts we've made. | 266 // Stores the result of the various ApplyUpdate attempts we've made. |
267 // May contain duplicate entries. | 267 // May contain duplicate entries. |
268 std::vector<AppliedUpdate> applied_updates_; | 268 std::vector<AppliedUpdate> applied_updates_; |
269 }; | 269 }; |
270 | 270 |
271 struct SyncCycleControlParameters { | 271 struct SyncCycleControlParameters { |
272 SyncCycleControlParameters() : conflict_sets_built(false), | 272 SyncCycleControlParameters() : conflict_sets_built(false), |
273 conflicts_resolved(false), | 273 conflicts_resolved(false), |
274 items_committed(false), | 274 items_committed(false) {} |
275 debug_info_sent(false) {} | |
276 // Set to true by BuildAndProcessConflictSetsCommand if the RESOLVE_CONFLICTS | 275 // Set to true by BuildAndProcessConflictSetsCommand if the RESOLVE_CONFLICTS |
277 // step is needed. | 276 // step is needed. |
278 bool conflict_sets_built; | 277 bool conflict_sets_built; |
279 | 278 |
280 // Set to true by ResolveConflictsCommand if any forward progress was made. | 279 // Set to true by ResolveConflictsCommand if any forward progress was made. |
281 bool conflicts_resolved; | 280 bool conflicts_resolved; |
282 | 281 |
283 // Set to true by PostCommitMessageCommand if any commits were successful. | 282 // Set to true by PostCommitMessageCommand if any commits were successful. |
284 bool items_committed; | 283 bool items_committed; |
285 | |
286 // True indicates debug info has been sent once this session. | |
287 bool debug_info_sent; | |
288 }; | 284 }; |
289 | 285 |
290 // DirtyOnWrite wraps a value such that any write operation will update a | 286 // DirtyOnWrite wraps a value such that any write operation will update a |
291 // specified dirty bit, which can be used to determine if a notification should | 287 // specified dirty bit, which can be used to determine if a notification should |
292 // be sent due to state change. | 288 // be sent due to state change. |
293 template <typename T> | 289 template <typename T> |
294 class DirtyOnWrite { | 290 class DirtyOnWrite { |
295 public: | 291 public: |
296 explicit DirtyOnWrite(bool* dirty) : dirty_(dirty) {} | 292 explicit DirtyOnWrite(bool* dirty) : dirty_(dirty) {} |
297 DirtyOnWrite(bool* dirty, const T& t) : t_(t), dirty_(dirty) {} | 293 DirtyOnWrite(bool* dirty, const T& t) : t_(t), dirty_(dirty) {} |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
341 ~PerModelSafeGroupState(); | 337 ~PerModelSafeGroupState(); |
342 | 338 |
343 UpdateProgress update_progress; | 339 UpdateProgress update_progress; |
344 ConflictProgress conflict_progress; | 340 ConflictProgress conflict_progress; |
345 }; | 341 }; |
346 | 342 |
347 } // namespace sessions | 343 } // namespace sessions |
348 } // namespace browser_sync | 344 } // namespace browser_sync |
349 | 345 |
350 #endif // CHROME_BROWSER_SYNC_SESSIONS_SESSION_STATE_H_ | 346 #endif // CHROME_BROWSER_SYNC_SESSIONS_SESSION_STATE_H_ |
OLD | NEW |