Index: sync/sessions/model_type_registry.cc |
diff --git a/sync/sessions/model_type_registry.cc b/sync/sessions/model_type_registry.cc |
index f93cba3e32ed3bc0d7e1712be536d5884ea22841..4bf374ed272c96be3cd6bf5d97f3aa6a1cdba79a 100644 |
--- a/sync/sessions/model_type_registry.cc |
+++ b/sync/sessions/model_type_registry.cc |
@@ -7,6 +7,7 @@ |
#include "base/bind.h" |
#include "base/message_loop/message_loop_proxy.h" |
#include "sync/engine/directory_commit_contributor.h" |
+#include "sync/engine/directory_type_debug_info_emitter.h" |
#include "sync/engine/directory_update_handler.h" |
#include "sync/engine/non_blocking_type_processor_core.h" |
#include "sync/internal_api/public/non_blocking_type_processor.h" |
@@ -34,14 +35,17 @@ void ModelTypeRegistry::SetEnabledDirectoryTypes( |
it.Good(); it.Inc()) { |
size_t result1 = update_handler_map_.erase(it.Get()); |
size_t result2 = commit_contributor_map_.erase(it.Get()); |
+ size_t result3 = directory_type_debug_info_emitter_map_.erase(it.Get()); |
DCHECK_EQ(1U, result1); |
DCHECK_EQ(1U, result2); |
+ DCHECK_EQ(1U, result3); |
} |
// Clear the old instances of directory update handlers and commit |
// contributors, deleting their contents in the processs. |
directory_update_handlers_.clear(); |
directory_commit_contributors_.clear(); |
+ directory_type_debug_info_emitters_.clear(); |
// Create new ones and add them to the appropriate containers. |
for (ModelSafeRoutingInfo::const_iterator routing_iter = routing_info.begin(); |
@@ -57,10 +61,13 @@ void ModelTypeRegistry::SetEnabledDirectoryTypes( |
new DirectoryCommitContributor(directory_, type); |
DirectoryUpdateHandler* updater = |
new DirectoryUpdateHandler(directory_, type, worker); |
+ DirectoryTypeDebugInfoEmitter* emitter = |
+ new DirectoryTypeDebugInfoEmitter(directory_, type); |
// These containers take ownership of their contents. |
directory_commit_contributors_.push_back(committer); |
directory_update_handlers_.push_back(updater); |
+ directory_type_debug_info_emitters_.push_back(emitter); |
bool inserted1 = |
update_handler_map_.insert(std::make_pair(type, updater)).second; |
@@ -69,6 +76,11 @@ void ModelTypeRegistry::SetEnabledDirectoryTypes( |
bool inserted2 = |
commit_contributor_map_.insert(std::make_pair(type, committer)).second; |
DCHECK(inserted2) << "Attempt to override existing type handler in map"; |
+ |
+ bool inserted3 = |
+ directory_type_debug_info_emitter_map_.insert( |
+ std::make_pair(type, emitter)).second; |
+ DCHECK(inserted3) << "Attempt to override existing type handler in map"; |
} |
enabled_directory_types_ = GetRoutingInfoTypes(routing_info); |
@@ -142,6 +154,11 @@ CommitContributorMap* ModelTypeRegistry::commit_contributor_map() { |
return &commit_contributor_map_; |
} |
+DirectoryTypeDebugInfoEmitterMap* |
+ModelTypeRegistry::directory_type_debug_info_emitter_map() { |
+ return &directory_type_debug_info_emitter_map_; |
+} |
+ |
ModelTypeSet ModelTypeRegistry::GetEnabledDirectoryTypes() const { |
return enabled_directory_types_; |
} |