blob: 9af3a9866b4ded7f2cd249df713749a8c5591191 [file] [log] [blame]
// Copyright 2014 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.
#ifndef SYNC_INTERNAL_API_PUBLIC_BASE_ATTACHMENT_ID_PROTO_H_
#define SYNC_INTERNAL_API_PUBLIC_BASE_ATTACHMENT_ID_PROTO_H_
#include "base/basictypes.h"
#include "sync/base/sync_export.h"
#include "sync/protocol/sync.pb.h"
namespace syncer {
// Helper functions that are logically part of sync_pb::AttachmentIdProto.
// Creates a unique AttachmentIdProto.
//
// |size| is the size in bytes of the attachment identified by this proto.
//
// |crc32c| is the crc32c of the attachment identified by this proto.
SYNC_EXPORT_PRIVATE sync_pb::AttachmentIdProto CreateAttachmentIdProto(
size_t size,
uint32_t crc32c);
// Creates an AttachmentMetadata object from a repeated field of
// AttachmentIdProto objects.
//
// Note: each record in the AttachmentMetadata will be marked as "on the
// server".
SYNC_EXPORT_PRIVATE sync_pb::AttachmentMetadata CreateAttachmentMetadata(
const google::protobuf::RepeatedPtrField<sync_pb::AttachmentIdProto>& ids);
} // namespace syncer
#endif // SYNC_INTERNAL_API_PUBLIC_BASE_ATTACHMENT_ID_PROTO_H_