diff options
author | liamwhite <liamwhite@users.noreply.github.com> | 2024-02-10 22:00:43 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-10 22:00:43 +0100 |
commit | 2337397a1530e2d0cd6cab4bd22517747b80de6c (patch) | |
tree | 8bcabd801561c8e63097fff8861f22a09fe8a9d6 /src/core/hle/service/bcat/bcat_service.h | |
parent | Merge pull request #12949 from liamwhite/multi-wait (diff) | |
parent | service: bcat: Address review issues (diff) | |
download | yuzu-2337397a1530e2d0cd6cab4bd22517747b80de6c.tar yuzu-2337397a1530e2d0cd6cab4bd22517747b80de6c.tar.gz yuzu-2337397a1530e2d0cd6cab4bd22517747b80de6c.tar.bz2 yuzu-2337397a1530e2d0cd6cab4bd22517747b80de6c.tar.lz yuzu-2337397a1530e2d0cd6cab4bd22517747b80de6c.tar.xz yuzu-2337397a1530e2d0cd6cab4bd22517747b80de6c.tar.zst yuzu-2337397a1530e2d0cd6cab4bd22517747b80de6c.zip |
Diffstat (limited to 'src/core/hle/service/bcat/bcat_service.h')
-rw-r--r-- | src/core/hle/service/bcat/bcat_service.h | 45 |
1 files changed, 45 insertions, 0 deletions
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..dda5a2d5f --- /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<IBcatService> { +public: + explicit IBcatService(Core::System& system_, BcatBackend& backend_); + ~IBcatService() override; + +private: + Result RequestSyncDeliveryCache(OutInterface<IDeliveryCacheProgressService> out_interface); + + Result RequestSyncDeliveryCacheWithDirectoryName( + const DirectoryName& name, OutInterface<IDeliveryCacheProgressService> out_interface); + + Result SetPassphrase(u64 application_id, InBuffer<BufferAttr_HipcPointer> passphrase_buffer); + + Result RegisterSystemApplicationDeliveryTasks(); + + Result ClearDeliveryCacheStorage(u64 application_id); + +private: + ProgressServiceBackend& GetProgressBackend(SyncType type); + const ProgressServiceBackend& GetProgressBackend(SyncType type) const; + + BcatBackend& backend; + std::array<ProgressServiceBackend, static_cast<size_t>(SyncType::Count)> progress; +}; + +} // namespace Service::BCAT |