summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/vi/system_root_service.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hle/service/vi/system_root_service.cpp')
-rw-r--r--src/core/hle/service/vi/system_root_service.cpp21
1 files changed, 12 insertions, 9 deletions
diff --git a/src/core/hle/service/vi/system_root_service.cpp b/src/core/hle/service/vi/system_root_service.cpp
index c3228d73b..8789b4cfb 100644
--- a/src/core/hle/service/vi/system_root_service.cpp
+++ b/src/core/hle/service/vi/system_root_service.cpp
@@ -1,18 +1,21 @@
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
+#include "core/hle/service/cmif_serialization.h"
+#include "core/hle/service/vi/application_display_service.h"
+#include "core/hle/service/vi/service_creator.h"
#include "core/hle/service/vi/system_root_service.h"
#include "core/hle/service/vi/vi.h"
#include "core/hle/service/vi/vi_types.h"
namespace Service::VI {
-ISystemRootService::ISystemRootService(Core::System& system_, Nvnflinger::Nvnflinger& nv_flinger_,
- Nvnflinger::HosBinderDriverServer& hos_binder_driver_server_)
- : ServiceFramework{system_, "vi:s"}, nv_flinger{nv_flinger_},
- hos_binder_driver_server{hos_binder_driver_server_} {
+ISystemRootService::ISystemRootService(Core::System& system_, Nvnflinger::Nvnflinger& nvnflinger,
+ Nvnflinger::HosBinderDriverServer& hos_binder_driver_server)
+ : ServiceFramework{system_, "vi:s"}, m_nvnflinger{nvnflinger}, m_hos_binder_driver_server{
+ hos_binder_driver_server} {
static const FunctionInfo functions[] = {
- {1, &ISystemRootService::GetDisplayService, "GetDisplayService"},
+ {1, C<&ISystemRootService::GetDisplayService>, "GetDisplayService"},
{3, nullptr, "GetDisplayServiceWithProxyNameExchange"},
};
RegisterHandlers(functions);
@@ -20,11 +23,11 @@ ISystemRootService::ISystemRootService(Core::System& system_, Nvnflinger::Nvnfli
ISystemRootService::~ISystemRootService() = default;
-void ISystemRootService::GetDisplayService(HLERequestContext& ctx) {
+Result ISystemRootService::GetDisplayService(
+ Out<SharedPointer<IApplicationDisplayService>> out_application_display_service, Policy policy) {
LOG_DEBUG(Service_VI, "called");
-
- detail::GetDisplayServiceImpl(ctx, system, nv_flinger, hos_binder_driver_server,
- Permission::System);
+ R_RETURN(GetApplicationDisplayService(out_application_display_service, system, m_nvnflinger,
+ m_hos_binder_driver_server, Permission::System, policy));
}
} // namespace Service::VI