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/api/attachments/attachment.h"
6
7#include "base/logging.h"
8
9namespace syncer {
10
11Attachment::~Attachment() {}
12
13// Static.
14Attachment Attachment::Create(
15    const scoped_refptr<base::RefCountedMemory>& data) {
16  return CreateWithId(AttachmentId::Create(), data);
17}
18
19// Static.
20Attachment Attachment::CreateWithId(
21    const AttachmentId& id,
22    const scoped_refptr<base::RefCountedMemory>& data) {
23  return Attachment(id, data);
24}
25
26const AttachmentId& Attachment::GetId() const { return id_; }
27
28const scoped_refptr<base::RefCountedMemory>& Attachment::GetData() const {
29  return data_;
30}
31
32Attachment::Attachment(const AttachmentId& id,
33                       const scoped_refptr<base::RefCountedMemory>& data)
34    : id_(id), data_(data) {
35  DCHECK(data.get());
36}
37
38}  // namespace syncer
39