OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 #include "sync/sessions/model_type_registry.h" | 5 #include "sync/sessions/model_type_registry.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/message_loop/message_loop_proxy.h" | 8 #include "base/message_loop/message_loop_proxy.h" |
9 #include "sync/engine/directory_commit_contributor.h" | 9 #include "sync/engine/directory_commit_contributor.h" |
10 #include "sync/engine/directory_type_debug_info_emitter.h" | |
11 #include "sync/engine/directory_update_handler.h" | 10 #include "sync/engine/directory_update_handler.h" |
12 #include "sync/engine/non_blocking_type_processor_core.h" | 11 #include "sync/engine/non_blocking_type_processor_core.h" |
13 #include "sync/internal_api/public/non_blocking_type_processor.h" | 12 #include "sync/internal_api/public/non_blocking_type_processor.h" |
| 13 #include "sync/sessions/directory_type_debug_info_emitter.h" |
14 | 14 |
15 namespace syncer { | 15 namespace syncer { |
16 | 16 |
17 ModelTypeRegistry::ModelTypeRegistry() : directory_(NULL) {} | 17 ModelTypeRegistry::ModelTypeRegistry() : directory_(NULL) {} |
18 | 18 |
19 ModelTypeRegistry::ModelTypeRegistry( | 19 ModelTypeRegistry::ModelTypeRegistry( |
20 const std::vector<scoped_refptr<ModelSafeWorker> >& workers, | 20 const std::vector<scoped_refptr<ModelSafeWorker> >& workers, |
21 syncable::Directory* directory) | 21 syncable::Directory* directory) |
22 : directory_(directory) { | 22 : directory_(directory) { |
23 for (size_t i = 0u; i < workers.size(); ++i) { | 23 for (size_t i = 0u; i < workers.size(); ++i) { |
(...skipping 26 matching lines...) Expand all Loading... |
50 // Create new ones and add them to the appropriate containers. | 50 // Create new ones and add them to the appropriate containers. |
51 for (ModelSafeRoutingInfo::const_iterator routing_iter = routing_info.begin(); | 51 for (ModelSafeRoutingInfo::const_iterator routing_iter = routing_info.begin(); |
52 routing_iter != routing_info.end(); ++routing_iter) { | 52 routing_iter != routing_info.end(); ++routing_iter) { |
53 ModelType type = routing_iter->first; | 53 ModelType type = routing_iter->first; |
54 ModelSafeGroup group = routing_iter->second; | 54 ModelSafeGroup group = routing_iter->second; |
55 std::map<ModelSafeGroup, scoped_refptr<ModelSafeWorker> >::iterator | 55 std::map<ModelSafeGroup, scoped_refptr<ModelSafeWorker> >::iterator |
56 worker_it = workers_map_.find(group); | 56 worker_it = workers_map_.find(group); |
57 DCHECK(worker_it != workers_map_.end()); | 57 DCHECK(worker_it != workers_map_.end()); |
58 scoped_refptr<ModelSafeWorker> worker = worker_it->second; | 58 scoped_refptr<ModelSafeWorker> worker = worker_it->second; |
59 | 59 |
| 60 DirectoryTypeDebugInfoEmitter* emitter = |
| 61 new DirectoryTypeDebugInfoEmitter(directory_, type, |
| 62 &type_debug_info_observers_); |
60 DirectoryCommitContributor* committer = | 63 DirectoryCommitContributor* committer = |
61 new DirectoryCommitContributor(directory_, type); | 64 new DirectoryCommitContributor(directory_, type); |
62 DirectoryUpdateHandler* updater = | 65 DirectoryUpdateHandler* updater = |
63 new DirectoryUpdateHandler(directory_, type, worker); | 66 new DirectoryUpdateHandler(directory_, type, worker); |
64 DirectoryTypeDebugInfoEmitter* emitter = | |
65 new DirectoryTypeDebugInfoEmitter(directory_, type); | |
66 | 67 |
67 // These containers take ownership of their contents. | 68 // These containers take ownership of their contents. |
68 directory_commit_contributors_.push_back(committer); | 69 directory_commit_contributors_.push_back(committer); |
69 directory_update_handlers_.push_back(updater); | 70 directory_update_handlers_.push_back(updater); |
70 directory_type_debug_info_emitters_.push_back(emitter); | 71 directory_type_debug_info_emitters_.push_back(emitter); |
71 | 72 |
72 bool inserted1 = | 73 bool inserted1 = |
73 update_handler_map_.insert(std::make_pair(type, updater)).second; | 74 update_handler_map_.insert(std::make_pair(type, updater)).second; |
74 DCHECK(inserted1) << "Attempt to override existing type handler in map"; | 75 DCHECK(inserted1) << "Attempt to override existing type handler in map"; |
75 | 76 |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
167 ModelTypeSet enabled_off_thread_types; | 168 ModelTypeSet enabled_off_thread_types; |
168 for (ScopedVector<NonBlockingTypeProcessorCore>::const_iterator it = | 169 for (ScopedVector<NonBlockingTypeProcessorCore>::const_iterator it = |
169 non_blocking_type_processor_cores_.begin(); | 170 non_blocking_type_processor_cores_.begin(); |
170 it != non_blocking_type_processor_cores_.end(); ++it) { | 171 it != non_blocking_type_processor_cores_.end(); ++it) { |
171 enabled_off_thread_types.Put((*it)->GetModelType()); | 172 enabled_off_thread_types.Put((*it)->GetModelType()); |
172 } | 173 } |
173 return enabled_off_thread_types; | 174 return enabled_off_thread_types; |
174 } | 175 } |
175 | 176 |
176 } // namespace syncer | 177 } // namespace syncer |
OLD | NEW |