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.
5 #include "sync/api/attachments/attachment.h"
7 #include "base/logging.h"
8 #include "sync/internal_api/public/attachments/attachment_util.h"
12 Attachment::~Attachment() {}
15 Attachment
Attachment::Create(
16 const scoped_refptr
<base::RefCountedMemory
>& data
) {
17 uint32_t crc32c
= ComputeCrc32c(data
);
18 return CreateFromParts(AttachmentId::Create(), data
, crc32c
);
22 Attachment
Attachment::CreateFromParts(
23 const AttachmentId
& id
,
24 const scoped_refptr
<base::RefCountedMemory
>& data
,
26 return Attachment(id
, data
, crc32c
);
29 const AttachmentId
& Attachment::GetId() const { return id_
; }
31 const scoped_refptr
<base::RefCountedMemory
>& Attachment::GetData() const {
35 uint32_t Attachment::GetCrc32c() const { return crc32c_
; }
37 Attachment::Attachment(const AttachmentId
& id
,
38 const scoped_refptr
<base::RefCountedMemory
>& data
,
40 : id_(id
), data_(data
), crc32c_(crc32c
) {