Home | History | Annotate | Download | only in syncable
      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
      3 // found in the LICENSE file.
      4 
      5 #include "sync/syncable/syncable_proto_util.h"
      6 
      7 #include "sync/protocol/sync.pb.h"
      8 
      9 namespace syncer {
     10 
     11 syncable::Id SyncableIdFromProto(const std::string& proto_string) {
     12   return syncable::Id::CreateFromServerId(proto_string);
     13 }
     14 
     15 std::string SyncableIdToProto(const syncable::Id& syncable_id) {
     16   return syncable_id.GetServerId();
     17 }
     18 
     19 bool IsFolder(const sync_pb::SyncEntity& entity) {
     20   // TODO(sync): The checks for has_folder() and has_bookmarkdata() are likely
     21   // no longer necessary.  We should remove them if we can convince ourselves
     22   // that doing so won't break anything.
     23   return ((entity.has_folder() && entity.folder()) ||
     24           (entity.has_bookmarkdata() &&
     25            entity.bookmarkdata().bookmark_folder()));
     26 }
     27 
     28 bool IsRoot(const sync_pb::SyncEntity& entity) {
     29   return SyncableIdFromProto(entity.id_string()).IsRoot();
     30 }
     31 
     32 }  // namespace syncer
     33