- add sources.
[platform/framework/web/crosswalk.git] / src / sync / syncable / syncable_proto_util.cc
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