Home | History | Annotate | Download | only in base
      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 "sync/internal_api/public/base/attachment_id_proto.h"
      6 
      7 #include "base/guid.h"
      8 #include "base/logging.h"
      9 #include "base/strings/string_util.h"
     10 
     11 namespace syncer {
     12 
     13 sync_pb::AttachmentIdProto CreateAttachmentIdProto() {
     14   sync_pb::AttachmentIdProto proto;
     15   std::string guid = base::StringToLowerASCII(base::GenerateGUID());
     16   DCHECK(!guid.empty());
     17   // Requirements are that this id must be a unique RFC4122 UUID, formatted in
     18   // lower case.
     19   proto.set_unique_id(guid);
     20   return proto;
     21 }
     22 
     23 sync_pb::AttachmentMetadata CreateAttachmentMetadata(
     24     const google::protobuf::RepeatedPtrField<sync_pb::AttachmentIdProto>& ids) {
     25   sync_pb::AttachmentMetadata result;
     26   for (int i = 0; i < ids.size(); ++i) {
     27     sync_pb::AttachmentMetadataRecord* record = result.add_record();
     28     *record->mutable_id() = ids.Get(i);
     29     record->set_is_on_server(true);
     30   }
     31   return result;
     32 }
     33 
     34 }  // namespace syncer
     35