| Index: sync/syncable/syncable_proto_util.cc
|
| diff --git a/sync/syncable/syncable_proto_util.cc b/sync/syncable/syncable_proto_util.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..4f35b1930e57ac1e03bc7d84efe0e063d19e7fe1
|
| --- /dev/null
|
| +++ b/sync/syncable/syncable_proto_util.cc
|
| @@ -0,0 +1,32 @@
|
| +// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#include "sync/syncable/syncable_proto_util.h"
|
| +
|
| +#include "sync/protocol/sync.pb.h"
|
| +
|
| +namespace syncer {
|
| +
|
| +syncable::Id SyncableIdFromProto(const std::string& proto_string) {
|
| + return syncable::Id::CreateFromServerId(proto_string);
|
| +}
|
| +
|
| +std::string SyncableIdToProto(const syncable::Id& syncable_id) {
|
| + return syncable_id.GetServerId();
|
| +}
|
| +
|
| +bool IsFolder(const sync_pb::SyncEntity& entity) {
|
| + // TODO(sync): The checks for has_folder() and has_bookmarkdata() are likely
|
| + // no longer necessary. We should remove them if we can convince ourselves
|
| + // that doing so won't break anything.
|
| + return ((entity.has_folder() && entity.folder()) ||
|
| + (entity.has_bookmarkdata() &&
|
| + entity.bookmarkdata().bookmark_folder()));
|
| +}
|
| +
|
| +bool IsRoot(const sync_pb::SyncEntity& entity) {
|
| + return SyncableIdFromProto(entity.id_string()).IsRoot();
|
| +}
|
| +
|
| +} // namespace syncer
|
|
|