diff options
author | Morph <39850852+Morph1984@users.noreply.github.com> | 2021-09-29 05:42:50 +0200 |
---|---|---|
committer | Morph <39850852+Morph1984@users.noreply.github.com> | 2021-10-02 05:38:59 +0200 |
commit | fadcee14f8fca1b76b4ea48b1cfd136ccae8d182 (patch) | |
tree | a5787938bc73ff1b0b539e0945d3544d06a7d6d2 /src/core/hle/service/btdrv | |
parent | Merge pull request #7102 from Morph1984/remove-boxcat (diff) | |
download | yuzu-fadcee14f8fca1b76b4ea48b1cfd136ccae8d182.tar yuzu-fadcee14f8fca1b76b4ea48b1cfd136ccae8d182.tar.gz yuzu-fadcee14f8fca1b76b4ea48b1cfd136ccae8d182.tar.bz2 yuzu-fadcee14f8fca1b76b4ea48b1cfd136ccae8d182.tar.lz yuzu-fadcee14f8fca1b76b4ea48b1cfd136ccae8d182.tar.xz yuzu-fadcee14f8fca1b76b4ea48b1cfd136ccae8d182.tar.zst yuzu-fadcee14f8fca1b76b4ea48b1cfd136ccae8d182.zip |
Diffstat (limited to 'src/core/hle/service/btdrv')
-rw-r--r-- | src/core/hle/service/btdrv/btdrv.cpp | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/core/hle/service/btdrv/btdrv.cpp b/src/core/hle/service/btdrv/btdrv.cpp index acf791de2..ecd3bd22a 100644 --- a/src/core/hle/service/btdrv/btdrv.cpp +++ b/src/core/hle/service/btdrv/btdrv.cpp @@ -7,9 +7,9 @@ #include "core/hle/ipc_helpers.h" #include "core/hle/kernel/hle_ipc.h" #include "core/hle/kernel/k_event.h" -#include "core/hle/kernel/k_readable_event.h" #include "core/hle/kernel/kernel.h" #include "core/hle/service/btdrv/btdrv.h" +#include "core/hle/service/kernel_helpers.h" #include "core/hle/service/service.h" #include "core/hle/service/sm/sm.h" @@ -18,7 +18,7 @@ namespace Service::BtDrv { class Bt final : public ServiceFramework<Bt> { public: explicit Bt(Core::System& system_) - : ServiceFramework{system_, "bt"}, register_event{system.Kernel()} { + : ServiceFramework{system_, "bt"}, service_context{system_, "bt"} { // clang-format off static const FunctionInfo functions[] = { {0, nullptr, "LeClientReadCharacteristic"}, @@ -35,8 +35,11 @@ public: // clang-format on RegisterHandlers(functions); - Kernel::KAutoObject::Create(std::addressof(register_event)); - register_event.Initialize("BT:RegisterEvent"); + register_event = service_context.CreateEvent("BT:RegisterEvent"); + } + + ~Bt() override { + service_context.CloseEvent(register_event); } private: @@ -45,10 +48,12 @@ private: IPC::ResponseBuilder rb{ctx, 2, 1}; rb.Push(ResultSuccess); - rb.PushCopyObjects(register_event.GetReadableEvent()); + rb.PushCopyObjects(register_event->GetReadableEvent()); } - Kernel::KEvent register_event; + KernelHelpers::ServiceContext service_context; + + Kernel::KEvent* register_event; }; class BtDrv final : public ServiceFramework<BtDrv> { |