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 3 // found in the LICENSE file. 4 5 #include "chrome/browser/sync/glue/invalidation_helper.h" 6 7 #include "google/cacheinvalidation/types.pb.h" 8 9 namespace syncer { 10 11 bool RealModelTypeToObjectId(ModelType model_type, 12 invalidation::ObjectId* object_id) { 13 std::string notification_type; 14 if (!RealModelTypeToNotificationType(model_type, ¬ification_type)) { 15 return false; 16 } 17 object_id->Init(ipc::invalidation::ObjectSource::CHROME_SYNC, 18 notification_type); 19 return true; 20 } 21 22 ObjectIdSet ModelTypeSetToObjectIdSet(ModelTypeSet model_types) { 23 ObjectIdSet ids; 24 for (ModelTypeSet::Iterator it = model_types.First(); it.Good(); it.Inc()) { 25 invalidation::ObjectId model_type_as_id; 26 if (!RealModelTypeToObjectId(it.Get(), &model_type_as_id)) { 27 DLOG(WARNING) << "Invalid model type " << it.Get(); 28 continue; 29 } 30 ids.insert(model_type_as_id); 31 } 32 return ids; 33 } 34 35 } // namespace syncer 36