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

Side by Side Diff: sync/notifier/sync_notifier_registrar.cc

Issue 10837214: Refactor ModelTypePayloadMap and ObjectIdPayloadMap to StateMaps. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix unit test Created 8 years, 4 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 #include "sync/notifier/sync_notifier_registrar.h" 5 #include "sync/notifier/sync_notifier_registrar.h"
6 6
7 #include <cstddef> 7 #include <cstddef>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
67 DCHECK(thread_checker_.CalledOnValidThread()); 67 DCHECK(thread_checker_.CalledOnValidThread());
68 ObjectIdSet registered_ids; 68 ObjectIdSet registered_ids;
69 for (IdHandlerMap::const_iterator it = id_to_handler_map_.begin(); 69 for (IdHandlerMap::const_iterator it = id_to_handler_map_.begin();
70 it != id_to_handler_map_.end(); ++it) { 70 it != id_to_handler_map_.end(); ++it) {
71 registered_ids.insert(it->first); 71 registered_ids.insert(it->first);
72 } 72 }
73 return registered_ids; 73 return registered_ids;
74 } 74 }
75 75
76 void SyncNotifierRegistrar::DispatchInvalidationsToHandlers( 76 void SyncNotifierRegistrar::DispatchInvalidationsToHandlers(
77 const ObjectIdPayloadMap& id_payloads, 77 const ObjectIdStateMap& id_state_map,
78 IncomingNotificationSource source) { 78 IncomingNotificationSource source) {
79 DCHECK(thread_checker_.CalledOnValidThread()); 79 DCHECK(thread_checker_.CalledOnValidThread());
80 // If we have no handlers, there's nothing to do. 80 // If we have no handlers, there's nothing to do.
81 if (!handlers_.might_have_observers()) { 81 if (!handlers_.might_have_observers()) {
82 return; 82 return;
83 } 83 }
84 84
85 typedef std::map<SyncNotifierObserver*, ObjectIdPayloadMap> DispatchMap; 85 typedef std::map<SyncNotifierObserver*, ObjectIdStateMap> DispatchMap;
86 DispatchMap dispatch_map; 86 DispatchMap dispatch_map;
87 for (ObjectIdPayloadMap::const_iterator it = id_payloads.begin(); 87 for (ObjectIdStateMap::const_iterator it = id_state_map.begin();
88 it != id_payloads.end(); ++it) { 88 it != id_state_map.end(); ++it) {
89 SyncNotifierObserver* const handler = ObjectIdToHandler(it->first); 89 SyncNotifierObserver* const handler = ObjectIdToHandler(it->first);
90 // Filter out invalidations for IDs with no handler. 90 // Filter out invalidations for IDs with no handler.
91 if (handler) 91 if (handler)
92 dispatch_map[handler].insert(*it); 92 dispatch_map[handler].insert(*it);
93 } 93 }
94 94
95 // Emit invalidations only for handlers in |handlers_|. 95 // Emit invalidations only for handlers in |handlers_|.
96 ObserverListBase<SyncNotifierObserver>::Iterator it(handlers_); 96 ObserverListBase<SyncNotifierObserver>::Iterator it(handlers_);
97 SyncNotifierObserver* handler = NULL; 97 SyncNotifierObserver* handler = NULL;
98 while ((handler = it.GetNext()) != NULL) { 98 while ((handler = it.GetNext()) != NULL) {
(...skipping 21 matching lines...) Expand all
120 } 120 }
121 121
122 SyncNotifierObserver* SyncNotifierRegistrar::ObjectIdToHandler( 122 SyncNotifierObserver* SyncNotifierRegistrar::ObjectIdToHandler(
123 const invalidation::ObjectId& id) { 123 const invalidation::ObjectId& id) {
124 DCHECK(thread_checker_.CalledOnValidThread()); 124 DCHECK(thread_checker_.CalledOnValidThread());
125 IdHandlerMap::const_iterator it = id_to_handler_map_.find(id); 125 IdHandlerMap::const_iterator it = id_to_handler_map_.find(id);
126 return (it == id_to_handler_map_.end()) ? NULL : it->second; 126 return (it == id_to_handler_map_.end()) ? NULL : it->second;
127 } 127 }
128 128
129 } // namespace syncer 129 } // namespace syncer
OLDNEW
« no previous file with comments | « sync/notifier/sync_notifier_registrar.h ('k') | sync/notifier/sync_notifier_registrar_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698