mojo_backend_file_operations_factory.cc 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. // Copyright 2022 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. #include "services/network/disk_cache/mojo_backend_file_operations_factory.h"
  5. #include "services/network/disk_cache/mojo_backend_file_operations.h"
  6. using disk_cache::BackendFileOperations;
  7. using disk_cache::UnboundBackendFileOperations;
  8. namespace network {
  9. MojoBackendFileOperationsFactory::MojoBackendFileOperationsFactory(
  10. mojo::PendingRemote<mojom::HttpCacheBackendFileOperationsFactory>
  11. pending_remote)
  12. : remote_(std::move(pending_remote)) {}
  13. MojoBackendFileOperationsFactory::~MojoBackendFileOperationsFactory() = default;
  14. std::unique_ptr<BackendFileOperations> MojoBackendFileOperationsFactory::Create(
  15. scoped_refptr<base::SequencedTaskRunner> task_runner) {
  16. mojo::PendingRemote<mojom::HttpCacheBackendFileOperations> pending_remote;
  17. remote_->Create(pending_remote.InitWithNewPipeAndPassReceiver());
  18. return std::make_unique<MojoBackendFileOperations>(std::move(pending_remote),
  19. std::move(task_runner));
  20. }
  21. std::unique_ptr<UnboundBackendFileOperations>
  22. MojoBackendFileOperationsFactory::CreateUnbound() {
  23. mojo::PendingRemote<mojom::HttpCacheBackendFileOperations> pending_remote;
  24. remote_->Create(pending_remote.InitWithNewPipeAndPassReceiver());
  25. return std::make_unique<UnboundMojoBackendFileOperations>(
  26. std::move(pending_remote));
  27. }
  28. } // namespace network