blob: 8dc6494496143f199ea540538dd6a45a6d2f4946 [file] [log] [blame]
sanjeetnd54f6f9f42023-08-23 17:33:341// Copyright 2023 The Chromium Authors
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
Jeffrey Young593d5912023-10-17 15:18:275#include "components/manta/manta_service.h"
sanjeetnd54f6f9f42023-08-23 17:33:346
7#include <memory>
8
Jeffrey Youngf6ef8902023-10-11 19:39:319#include "base/memory/scoped_refptr.h"
Jeffrey Young4613fef302023-10-10 17:27:3210#include "components/manta/orca_provider.h"
11#include "components/manta/snapper_provider.h"
sanjeetnd54f6f9f42023-08-23 17:33:3412#include "components/signin/public/identity_manager/identity_manager.h"
Jeffrey Youngf6ef8902023-10-11 19:39:3113#include "services/network/public/cpp/shared_url_loader_factory.h"
sanjeetnd54f6f9f42023-08-23 17:33:3414
15namespace manta {
16
Jeffrey Youngf6ef8902023-10-11 19:39:3117MantaService::MantaService(
18 scoped_refptr<network::SharedURLLoaderFactory> shared_url_loader_factory,
19 signin::IdentityManager* identity_manager)
20 : shared_url_loader_factory_(shared_url_loader_factory),
21 identity_manager_(identity_manager) {}
22
23MantaService::~MantaService() = default;
sanjeetnd54f6f9f42023-08-23 17:33:3424
Xinglong Luanacb2f9b2023-09-05 23:47:1325std::unique_ptr<OrcaProvider> MantaService::CreateOrcaProvider() {
Jeffrey Youngf6ef8902023-10-11 19:39:3126 if (!identity_manager_) {
27 return nullptr;
28 }
29 return std::make_unique<OrcaProvider>(shared_url_loader_factory_,
30 identity_manager_);
Xinglong Luanacb2f9b2023-09-05 23:47:1331}
32
sanjeetnd54f6f9f42023-08-23 17:33:3433std::unique_ptr<SnapperProvider> MantaService::CreateSnapperProvider() {
Jeffrey Youngf6ef8902023-10-11 19:39:3134 if (!identity_manager_) {
35 return nullptr;
36 }
37 return std::make_unique<SnapperProvider>(shared_url_loader_factory_,
38 identity_manager_);
39}
sanjeetnd54f6f9f42023-08-23 17:33:3440
Jeffrey Youngf6ef8902023-10-11 19:39:3141void MantaService::Shutdown() {
42 identity_manager_ = nullptr;
sanjeetnd54f6f9f42023-08-23 17:33:3443}
44
45} // namespace manta