Home | History | Annotate | Download | only in glue
      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, &notification_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