diff options
author | bunnei <bunneidev@gmail.com> | 2021-12-08 08:31:44 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-12-08 08:31:44 +0100 |
commit | 5f7e73c74a4a15b7de907900e658b73ce37e743d (patch) | |
tree | 0d2eacb2472f9cd6638df461dc21be269a782bc7 /src/core/hle | |
parent | Merge pull request #7521 from german77/dual_single_joycons (diff) | |
parent | service/notif: Add notif:a and stub ListAlarmSettings,Initialize (diff) | |
download | yuzu-5f7e73c74a4a15b7de907900e658b73ce37e743d.tar yuzu-5f7e73c74a4a15b7de907900e658b73ce37e743d.tar.gz yuzu-5f7e73c74a4a15b7de907900e658b73ce37e743d.tar.bz2 yuzu-5f7e73c74a4a15b7de907900e658b73ce37e743d.tar.lz yuzu-5f7e73c74a4a15b7de907900e658b73ce37e743d.tar.xz yuzu-5f7e73c74a4a15b7de907900e658b73ce37e743d.tar.zst yuzu-5f7e73c74a4a15b7de907900e658b73ce37e743d.zip |
Diffstat (limited to '')
-rw-r--r-- | src/core/hle/service/glue/glue.cpp | 4 | ||||
-rw-r--r-- | src/core/hle/service/glue/notif.cpp | 44 | ||||
-rw-r--r-- | src/core/hle/service/glue/notif.h | 25 |
3 files changed, 73 insertions, 0 deletions
diff --git a/src/core/hle/service/glue/glue.cpp b/src/core/hle/service/glue/glue.cpp index a08dc9758..b24d469cf 100644 --- a/src/core/hle/service/glue/glue.cpp +++ b/src/core/hle/service/glue/glue.cpp @@ -8,6 +8,7 @@ #include "core/hle/service/glue/bgtc.h" #include "core/hle/service/glue/ectx.h" #include "core/hle/service/glue/glue.h" +#include "core/hle/service/glue/notif.h" namespace Service::Glue { @@ -24,6 +25,9 @@ void InstallInterfaces(Core::System& system) { // Error Context std::make_shared<ECTX_AW>(system)->InstallAsService(system.ServiceManager()); + + // Notification Services for application + std::make_shared<NOTIF_A>(system)->InstallAsService(system.ServiceManager()); } } // namespace Service::Glue diff --git a/src/core/hle/service/glue/notif.cpp b/src/core/hle/service/glue/notif.cpp new file mode 100644 index 000000000..c559ec9df --- /dev/null +++ b/src/core/hle/service/glue/notif.cpp @@ -0,0 +1,44 @@ +// Copyright 2021 yuzu Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#include "core/hle/ipc_helpers.h" +#include "core/hle/service/glue/notif.h" + +namespace Service::Glue { + +NOTIF_A::NOTIF_A(Core::System& system_) : ServiceFramework{system_, "notif:a"} { + // clang-format off + static const FunctionInfo functions[] = { + {500, nullptr, "RegisterAlarmSetting"}, + {510, nullptr, "UpdateAlarmSetting"}, + {520, &NOTIF_A::ListAlarmSettings, "ListAlarmSettings"}, + {530, nullptr, "LoadApplicationParameter"}, + {540, nullptr, "DeleteAlarmSetting"}, + {1000, &NOTIF_A::Initialize, "Initialize"}, + }; + // clang-format on + + RegisterHandlers(functions); +} + +NOTIF_A::~NOTIF_A() = default; + +void NOTIF_A::ListAlarmSettings(Kernel::HLERequestContext& ctx) { + // Returns an array of AlarmSetting + constexpr s32 alarm_count = 0; + + LOG_WARNING(Service_NOTIF, "(STUBBED) called"); + + IPC::ResponseBuilder rb{ctx, 3}; + rb.Push(ResultSuccess); + rb.Push(alarm_count); +} + +void NOTIF_A::Initialize(Kernel::HLERequestContext& ctx) { + LOG_WARNING(Service_NOTIF, "(STUBBED) called"); + IPC::ResponseBuilder rb{ctx, 2}; + rb.Push(ResultSuccess); +} + +} // namespace Service::Glue diff --git a/src/core/hle/service/glue/notif.h b/src/core/hle/service/glue/notif.h new file mode 100644 index 000000000..6ecf2015c --- /dev/null +++ b/src/core/hle/service/glue/notif.h @@ -0,0 +1,25 @@ +// Copyright 2021 yuzu Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#pragma once + +#include "core/hle/service/service.h" + +namespace Core { +class System; +} + +namespace Service::Glue { + +class NOTIF_A final : public ServiceFramework<NOTIF_A> { +public: + explicit NOTIF_A(Core::System& system_); + ~NOTIF_A() override; + +private: + void ListAlarmSettings(Kernel::HLERequestContext& ctx); + void Initialize(Kernel::HLERequestContext& ctx); +}; + +} // namespace Service::Glue |