Home | History | Annotate | Download | only in attachments
      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/attachments/fake_attachment_downloader.h"
      6 
      7 #include "base/bind.h"
      8 #include "base/message_loop/message_loop.h"
      9 
     10 namespace syncer {
     11 
     12 FakeAttachmentDownloader::FakeAttachmentDownloader() {
     13 }
     14 
     15 FakeAttachmentDownloader::~FakeAttachmentDownloader() {
     16   DCHECK(CalledOnValidThread());
     17 }
     18 
     19 void FakeAttachmentDownloader::DownloadAttachment(
     20     const AttachmentId& attachment_id,
     21     const DownloadCallback& callback) {
     22   DCHECK(CalledOnValidThread());
     23   // This is happy fake downloader, it always successfully downloads empty
     24   // attachment.
     25   scoped_refptr<base::RefCountedMemory> data(new base::RefCountedBytes());
     26   scoped_ptr<Attachment> attachment;
     27   attachment.reset(
     28       new Attachment(Attachment::CreateWithId(attachment_id, data)));
     29   base::MessageLoop::current()->PostTask(
     30       FROM_HERE,
     31       base::Bind(callback, DOWNLOAD_SUCCESS, base::Passed(&attachment)));
     32 }
     33 
     34 }  // namespace syncer
     35