blob: db4accc67246f49bc492eae8e13ac53c93d880e8 [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.
#include "components/sync/model/attachments/attachment_service.h"
#include <utility>
#include "base/memory/ptr_util.h"
#include "components/sync/engine/attachments/fake_attachment_downloader.h"
#include "components/sync/engine/attachments/fake_attachment_uploader.h"
#include "components/sync/model/attachments/attachment_store.h"
#include "components/sync/model_impl/attachments/attachment_service_impl.h"
namespace syncer {
// static
std::unique_ptr<AttachmentService> AttachmentService::Create(
std::unique_ptr<AttachmentStoreForSync> attachment_store,
std::unique_ptr<AttachmentUploader> attachment_uploader,
std::unique_ptr<AttachmentDownloader> attachment_downloader,
Delegate* delegate,
const base::TimeDelta& initial_backoff_delay,
const base::TimeDelta& max_backoff_delay) {
return base::MakeUnique<AttachmentServiceImpl>(
std::move(attachment_store), std::move(attachment_uploader),
std::move(attachment_downloader), delegate, initial_backoff_delay,
max_backoff_delay);
}
// static
std::unique_ptr<AttachmentService> AttachmentService::CreateForTest() {
std::unique_ptr<AttachmentStore> attachment_store =
AttachmentStore::CreateInMemoryStore();
return base::MakeUnique<AttachmentServiceImpl>(
attachment_store->CreateAttachmentStoreForSync(),
base::MakeUnique<FakeAttachmentUploader>(),
base::MakeUnique<FakeAttachmentDownloader>(), nullptr, base::TimeDelta(),
base::TimeDelta());
}
AttachmentService::~AttachmentService() {}
} // namespace syncer