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 #ifndef CHROME_BROWSER_SYNC_GLUE_BOOKMARK_MODEL_ASSOCIATOR_H_ | 5 #ifndef CHROME_BROWSER_SYNC_GLUE_BOOKMARK_MODEL_ASSOCIATOR_H_ |
6 #define CHROME_BROWSER_SYNC_GLUE_BOOKMARK_MODEL_ASSOCIATOR_H_ | 6 #define CHROME_BROWSER_SYNC_GLUE_BOOKMARK_MODEL_ASSOCIATOR_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include <map> | 9 #include <map> |
10 #include <set> | 10 #include <set> |
11 #include <string> | 11 #include <string> |
12 | 12 |
13 #include "base/basictypes.h" | 13 #include "base/basictypes.h" |
14 #include "base/task.h" | 14 #include "base/task.h" |
15 #include "chrome/browser/sync/unrecoverable_error_handler.h" | 15 #include "chrome/browser/sync/unrecoverable_error_handler.h" |
16 #include "chrome/browser/sync/glue/model_associator.h" | 16 #include "chrome/browser/sync/glue/model_associator.h" |
17 | 17 |
18 class BookmarkModel; | 18 class BookmarkModel; |
19 class BookmarkNode; | 19 class BookmarkNode; |
20 | 20 |
21 namespace sync_api { | 21 namespace sync_api { |
22 class BaseNode; | 22 class BaseNode; |
23 class BaseTransaction; | |
24 class ReadNode; | |
25 struct UserShare; | 23 struct UserShare; |
26 } | 24 } |
27 | 25 |
28 namespace browser_sync { | 26 namespace browser_sync { |
29 | 27 |
30 class BookmarkChangeProcessor; | |
31 | |
32 // Contains all model association related logic: | 28 // Contains all model association related logic: |
33 // * Algorithm to associate bookmark model and sync model. | 29 // * Algorithm to associate bookmark model and sync model. |
34 // * Methods to get a bookmark node for a given sync node and vice versa. | 30 // * Methods to get a bookmark node for a given sync node and vice versa. |
35 // * Persisting model associations and loading them back. | 31 // * Persisting model associations and loading them back. |
36 class BookmarkModelAssociator | 32 class BookmarkModelAssociator |
37 : public PerDataTypeAssociatorInterface<BookmarkNode, int64> { | 33 : public PerDataTypeAssociatorInterface<BookmarkNode, int64> { |
38 public: | 34 public: |
39 static syncable::ModelType model_type() { return syncable::BOOKMARKS; } | 35 static syncable::ModelType model_type() { return syncable::BOOKMARKS; } |
40 BookmarkModelAssociator( | 36 BookmarkModelAssociator( |
41 BookmarkModel* bookmark_model, | 37 BookmarkModel* bookmark_model, |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
139 ScopedRunnableMethodFactory<BookmarkModelAssociator> persist_associations_; | 135 ScopedRunnableMethodFactory<BookmarkModelAssociator> persist_associations_; |
140 | 136 |
141 int number_of_new_sync_nodes_created_at_association_; | 137 int number_of_new_sync_nodes_created_at_association_; |
142 | 138 |
143 DISALLOW_COPY_AND_ASSIGN(BookmarkModelAssociator); | 139 DISALLOW_COPY_AND_ASSIGN(BookmarkModelAssociator); |
144 }; | 140 }; |
145 | 141 |
146 } // namespace browser_sync | 142 } // namespace browser_sync |
147 | 143 |
148 #endif // CHROME_BROWSER_SYNC_GLUE_BOOKMARK_MODEL_ASSOCIATOR_H_ | 144 #endif // CHROME_BROWSER_SYNC_GLUE_BOOKMARK_MODEL_ASSOCIATOR_H_ |
OLD | NEW |