bcat_interface.h 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. // SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project
  2. // SPDX-License-Identifier: GPL-3.0-or-later
  3. #pragma once
  4. #include "core/hle/service/cmif_types.h"
  5. #include "core/hle/service/service.h"
  6. namespace Core {
  7. class System;
  8. }
  9. namespace Service::FileSystem {
  10. class FileSystemController;
  11. }
  12. namespace Service::BCAT {
  13. class BcatBackend;
  14. class IBcatService;
  15. class IDeliveryCacheStorageService;
  16. class BcatInterface final : public ServiceFramework<BcatInterface> {
  17. public:
  18. explicit BcatInterface(Core::System& system_, const char* name_);
  19. ~BcatInterface() override;
  20. private:
  21. Result CreateBcatService(OutInterface<IBcatService> out_interface);
  22. Result CreateDeliveryCacheStorageService(
  23. OutInterface<IDeliveryCacheStorageService> out_interface);
  24. Result CreateDeliveryCacheStorageServiceWithApplicationId(
  25. u64 title_id, OutInterface<IDeliveryCacheStorageService> out_interface);
  26. std::unique_ptr<BcatBackend> backend;
  27. Service::FileSystem::FileSystemController& fsc;
  28. };
  29. } // namespace Service::BCAT