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#ifndef SYNC_INTERNAL_API_PUBLIC_BASE_ATTACHMENT_ID_PROTO_H_
6#define SYNC_INTERNAL_API_PUBLIC_BASE_ATTACHMENT_ID_PROTO_H_
7
8#include "sync/base/sync_export.h"
9#include "sync/protocol/sync.pb.h"
10
11namespace syncer {
12
13// Helper functions that are logically part of sync_pb::AttachmentIdProto.
14
15// Creates a unique AttachmentIdProto.
16SYNC_EXPORT_PRIVATE sync_pb::AttachmentIdProto CreateAttachmentIdProto();
17
18// Creates an AttachmentMetadata object from a repeated field of
19// AttachmentIdProto objects.
20//
21// Note: each record in the AttachmentMetadata will be marked as "on the
22// server".
23SYNC_EXPORT_PRIVATE sync_pb::AttachmentMetadata CreateAttachmentMetadata(
24    const google::protobuf::RepeatedPtrField<sync_pb::AttachmentIdProto>& ids);
25
26}  // namespace syncer
27
28#endif  // SYNC_INTERNAL_API_PUBLIC_BASE_ATTACHMENT_ID_PROTO_H_
29