From 7c2e9a6596c8b6c5d366c3eaaf926ad7db406486 Mon Sep 17 00:00:00 2001 From: Narr the Reg Date: Thu, 8 Feb 2024 16:58:44 -0600 Subject: service: bcat: Migrate and refractor service to new IPC --- src/core/hle/service/bcat/bcat_service.h | 45 ++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 src/core/hle/service/bcat/bcat_service.h (limited to 'src/core/hle/service/bcat/bcat_service.h') diff --git a/src/core/hle/service/bcat/bcat_service.h b/src/core/hle/service/bcat/bcat_service.h new file mode 100644 index 000000000..3e1ed98c3 --- /dev/null +++ b/src/core/hle/service/bcat/bcat_service.h @@ -0,0 +1,45 @@ +// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + +#pragma once + +#include "core/hle/service/bcat/backend/backend.h" +#include "core/hle/service/bcat/bcat_types.h" +#include "core/hle/service/cmif_types.h" +#include "core/hle/service/service.h" + +namespace Core { +class System; +} + +namespace Service::BCAT { +class BcatBackend; +class IDeliveryCacheStorageService; +class IDeliveryCacheProgressService; + +class IBcatService final : public ServiceFramework { +public: + explicit IBcatService(Core::System& system_, BcatBackend& backend_); + ~IBcatService() override; + +private: + Result RequestSyncDeliveryCache(OutInterface out_interface); + + Result RequestSyncDeliveryCacheWithDirectoryName( + DirectoryName name, OutInterface out_interface); + + Result SetPassphrase(u64 title_id, InBuffer passphrase_buffer); + + Result RegisterSystemApplicationDeliveryTasks(); + + Result ClearDeliveryCacheStorage(u64 title_id); + +private: + ProgressServiceBackend& GetProgressBackend(SyncType type); + const ProgressServiceBackend& GetProgressBackend(SyncType type) const; + + BcatBackend& backend; + std::array(SyncType::Count)> progress; +}; + +} // namespace Service::BCAT -- cgit v1.2.3