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

Unified Diff: sync/internal_api/public/base/model_type_payload_map.cc

Issue 10702074: Refactor sync-specific parts out of SyncNotifier/SyncNotifierObserver (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Minor cleanup Created 8 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: sync/internal_api/public/base/model_type_payload_map.cc
diff --git a/sync/internal_api/public/base/model_type_payload_map.cc b/sync/internal_api/public/base/model_type_payload_map.cc
index 04222ee30266282f4e42d36824c32793ac85501d..af9c503e4088dfc831a1cccb4b343c05dbc36429 100644
--- a/sync/internal_api/public/base/model_type_payload_map.cc
+++ b/sync/internal_api/public/base/model_type_payload_map.cc
@@ -10,9 +10,42 @@
#include "base/json/json_writer.h"
#include "base/memory/scoped_ptr.h"
#include "base/values.h"
+#include "google/cacheinvalidation/include/types.h"
+#include "sync/notifier/invalidation_util.h"
namespace syncer {
+ModelTypePayloadMap ObjectIdPayloadMapToModelTypePayloadMap(
+ const ObjectIdPayloadMap& id_payloads) {
+ ModelTypePayloadMap types_with_payloads;
+ for (ObjectIdPayloadMap::const_iterator it = id_payloads.begin();
+ it != id_payloads.end(); ++it) {
+ ModelType model_type;
+ if (!syncer::ObjectIdToRealModelType(it->first, &model_type)) {
+ DLOG(WARNING) << "Invalid object ID: "
+ << syncer::ObjectIdToString(it->first);
+ continue;
+ }
+ types_with_payloads[model_type] = it->second;
+ }
+ return types_with_payloads;
+}
+
+syncer::ObjectIdPayloadMap ModelTypePayloadMapToObjectIdPayloadMap(
+ const ModelTypePayloadMap& type_payloads) {
+ ObjectIdPayloadMap id_payloads;
+ for (ModelTypePayloadMap::const_iterator it = type_payloads.begin();
+ it != type_payloads.end(); ++it) {
+ invalidation::ObjectId id;
+ if (!RealModelTypeToObjectId(it->first, &id)) {
+ DLOG(WARNING) << "Invalid model type " << it->first;
+ continue;
+ }
+ id_payloads[id] = it->second;
+ }
+ return id_payloads;
+}
+
ModelTypePayloadMap ModelTypePayloadMapFromEnumSet(
syncer::ModelTypeSet types,
const std::string& payload) {

Powered by Google App Engine
This is Rietveld 408576698