diff options
Diffstat (limited to 'src/core/hle/service/bcat/service_creator.h')
-rw-r--r-- | src/core/hle/service/bcat/service_creator.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/core/hle/service/bcat/service_creator.h b/src/core/hle/service/bcat/service_creator.h new file mode 100644 index 000000000..50e663324 --- /dev/null +++ b/src/core/hle/service/bcat/service_creator.h @@ -0,0 +1,40 @@ +// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + +#pragma once + +#include "core/hle/service/cmif_types.h" +#include "core/hle/service/service.h" + +namespace Core { +class System; +} + +namespace Service::FileSystem { +class FileSystemController; +} + +namespace Service::BCAT { +class BcatBackend; +class IBcatService; +class IDeliveryCacheStorageService; + +class IServiceCreator final : public ServiceFramework<IServiceCreator> { +public: + explicit IServiceCreator(Core::System& system_, const char* name_); + ~IServiceCreator() override; + +private: + Result CreateBcatService(ClientProcessId process_id, OutInterface<IBcatService> out_interface); + + Result CreateDeliveryCacheStorageService( + ClientProcessId process_id, OutInterface<IDeliveryCacheStorageService> out_interface); + + Result CreateDeliveryCacheStorageServiceWithApplicationId( + u64 application_id, OutInterface<IDeliveryCacheStorageService> out_interface); + + std::unique_ptr<BcatBackend> backend; + Service::FileSystem::FileSystemController& fsc; +}; + +} // namespace Service::BCAT |