summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/am/applet_oe.cpp
diff options
context:
space:
mode:
authorSubv <subv2112@gmail.com>2018-01-22 19:46:36 +0100
committerSubv <subv2112@gmail.com>2018-01-22 19:46:36 +0100
commiteb58f852f8cd961853120e756e5cd91ad8c33bfd (patch)
treee12f715efbd837c8753f79555c551748c45e2ede /src/core/hle/service/am/applet_oe.cpp
parentServices: Vi shouldn't be responsible for creating nvflinger. (diff)
downloadyuzu-eb58f852f8cd961853120e756e5cd91ad8c33bfd.tar
yuzu-eb58f852f8cd961853120e756e5cd91ad8c33bfd.tar.gz
yuzu-eb58f852f8cd961853120e756e5cd91ad8c33bfd.tar.bz2
yuzu-eb58f852f8cd961853120e756e5cd91ad8c33bfd.tar.lz
yuzu-eb58f852f8cd961853120e756e5cd91ad8c33bfd.tar.xz
yuzu-eb58f852f8cd961853120e756e5cd91ad8c33bfd.tar.zst
yuzu-eb58f852f8cd961853120e756e5cd91ad8c33bfd.zip
Diffstat (limited to '')
-rw-r--r--src/core/hle/service/am/applet_oe.cpp18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/core/hle/service/am/applet_oe.cpp b/src/core/hle/service/am/applet_oe.cpp
index b4a6ad232..f593840b3 100644
--- a/src/core/hle/service/am/applet_oe.cpp
+++ b/src/core/hle/service/am/applet_oe.cpp
@@ -7,6 +7,7 @@
#include "core/hle/kernel/event.h"
#include "core/hle/service/am/applet_oe.h"
#include "core/hle/service/apm/apm.h"
+#include "core/hle/service/nvflinger/nvflinger.h"
namespace Service {
namespace AM {
@@ -53,7 +54,8 @@ public:
class ISelfController final : public ServiceFramework<ISelfController> {
public:
- ISelfController() : ServiceFramework("ISelfController") {
+ ISelfController(std::shared_ptr<NVFlinger::NVFlinger> nvflinger)
+ : ServiceFramework("ISelfController"), nvflinger(std::move(nvflinger)) {
static const FunctionInfo functions[] = {
{1, &ISelfController::LockExit, "LockExit"},
{2, &ISelfController::UnlockExit, "UnlockExit"},
@@ -144,6 +146,8 @@ private:
LOG_WARNING(Service, "(STUBBED) called");
}
+
+ std::shared_ptr<NVFlinger::NVFlinger> nvflinger;
};
class ICommonStateGetter final : public ServiceFramework<ICommonStateGetter> {
@@ -367,7 +371,8 @@ public:
class IApplicationProxy final : public ServiceFramework<IApplicationProxy> {
public:
- IApplicationProxy() : ServiceFramework("IApplicationProxy") {
+ IApplicationProxy(std::shared_ptr<NVFlinger::NVFlinger> nvflinger)
+ : ServiceFramework("IApplicationProxy"), nvflinger(std::move(nvflinger)) {
static const FunctionInfo functions[] = {
{0, &IApplicationProxy::GetCommonStateGetter, "GetCommonStateGetter"},
{1, &IApplicationProxy::GetSelfController, "GetSelfController"},
@@ -413,7 +418,7 @@ private:
void GetSelfController(Kernel::HLERequestContext& ctx) {
IPC::RequestBuilder rb{ctx, 2, 0, 0, 1};
rb.Push(RESULT_SUCCESS);
- rb.PushIpcInterface<ISelfController>();
+ rb.PushIpcInterface<ISelfController>(nvflinger);
LOG_DEBUG(Service, "called");
}
@@ -437,16 +442,19 @@ private:
rb.PushIpcInterface<IApplicationFunctions>();
LOG_DEBUG(Service, "called");
}
+
+ std::shared_ptr<NVFlinger::NVFlinger> nvflinger;
};
void AppletOE::OpenApplicationProxy(Kernel::HLERequestContext& ctx) {
IPC::RequestBuilder rb{ctx, 2, 0, 0, 1};
rb.Push(RESULT_SUCCESS);
- rb.PushIpcInterface<IApplicationProxy>();
+ rb.PushIpcInterface<IApplicationProxy>(nvflinger);
LOG_DEBUG(Service, "called");
}
-AppletOE::AppletOE() : ServiceFramework("appletOE") {
+AppletOE::AppletOE(std::shared_ptr<NVFlinger::NVFlinger> nvflinger)
+ : ServiceFramework("appletOE"), nvflinger(std::move(nvflinger)) {
static const FunctionInfo functions[] = {
{0x00000000, &AppletOE::OpenApplicationProxy, "OpenApplicationProxy"},
};