mirror of https://github.com/yuzu-mirror/yuzu
service: btm: Migrate service to new IPC
parent
c7588c042b
commit
9c0724b270
@ -0,0 +1,33 @@
|
|||||||
|
// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
#include "core/hle/service/btm/btm_debug.h"
|
||||||
|
|
||||||
|
namespace Service::BTM {
|
||||||
|
|
||||||
|
IBtmDebug::IBtmDebug(Core::System& system_) : ServiceFramework{system_, "btm:dbg"} {
|
||||||
|
// clang-format off
|
||||||
|
static const FunctionInfo functions[] = {
|
||||||
|
{0, nullptr, "AcquireDiscoveryEvent"},
|
||||||
|
{1, nullptr, "StartDiscovery"},
|
||||||
|
{2, nullptr, "CancelDiscovery"},
|
||||||
|
{3, nullptr, "GetDeviceProperty"},
|
||||||
|
{4, nullptr, "CreateBond"},
|
||||||
|
{5, nullptr, "CancelBond"},
|
||||||
|
{6, nullptr, "SetTsiMode"},
|
||||||
|
{7, nullptr, "GeneralTest"},
|
||||||
|
{8, nullptr, "HidConnect"},
|
||||||
|
{9, nullptr, "GeneralGet"},
|
||||||
|
{10, nullptr, "GetGattClientDisconnectionReason"},
|
||||||
|
{11, nullptr, "GetBleConnectionParameter"},
|
||||||
|
{12, nullptr, "GetBleConnectionParameterRequest"},
|
||||||
|
{13, nullptr, "Unknown13"},
|
||||||
|
};
|
||||||
|
// clang-format on
|
||||||
|
|
||||||
|
RegisterHandlers(functions);
|
||||||
|
}
|
||||||
|
|
||||||
|
IBtmDebug::~IBtmDebug() = default;
|
||||||
|
|
||||||
|
} // namespace Service::BTM
|
@ -0,0 +1,21 @@
|
|||||||
|
// 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::BTM {
|
||||||
|
|
||||||
|
class IBtmDebug final : public ServiceFramework<IBtmDebug> {
|
||||||
|
public:
|
||||||
|
explicit IBtmDebug(Core::System& system_);
|
||||||
|
~IBtmDebug() override;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace Service::BTM
|
@ -0,0 +1,32 @@
|
|||||||
|
// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
#include "common/logging/log.h"
|
||||||
|
#include "core/hle/service/btm/btm_system.h"
|
||||||
|
#include "core/hle/service/btm/btm_system_core.h"
|
||||||
|
#include "core/hle/service/cmif_serialization.h"
|
||||||
|
#include "core/hle/service/ipc_helpers.h"
|
||||||
|
#include "core/hle/service/service.h"
|
||||||
|
|
||||||
|
namespace Service::BTM {
|
||||||
|
|
||||||
|
IBtmSystem::IBtmSystem(Core::System& system_) : ServiceFramework{system_, "btm:sys"} {
|
||||||
|
// clang-format off
|
||||||
|
static const FunctionInfo functions[] = {
|
||||||
|
{0, C<&IBtmSystem::GetCore>, "GetCore"},
|
||||||
|
};
|
||||||
|
// clang-format on
|
||||||
|
|
||||||
|
RegisterHandlers(functions);
|
||||||
|
}
|
||||||
|
|
||||||
|
IBtmSystem::~IBtmSystem() = default;
|
||||||
|
|
||||||
|
Result IBtmSystem::GetCore(OutInterface<IBtmSystemCore> out_interface) {
|
||||||
|
LOG_WARNING(Service_BTM, "called");
|
||||||
|
|
||||||
|
*out_interface = std::make_shared<IBtmSystemCore>(system);
|
||||||
|
R_SUCCEED();
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace Service::BTM
|
@ -0,0 +1,25 @@
|
|||||||
|
// 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::BTM {
|
||||||
|
class IBtmSystemCore;
|
||||||
|
|
||||||
|
class IBtmSystem final : public ServiceFramework<IBtmSystem> {
|
||||||
|
public:
|
||||||
|
explicit IBtmSystem(Core::System& system_);
|
||||||
|
~IBtmSystem() override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
Result GetCore(OutInterface<IBtmSystemCore> out_interface);
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace Service::BTM
|
@ -0,0 +1,92 @@
|
|||||||
|
// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
#include "common/logging/log.h"
|
||||||
|
#include "core/hle/service/btm/btm_system_core.h"
|
||||||
|
#include "core/hle/service/cmif_serialization.h"
|
||||||
|
#include "core/hle/service/ipc_helpers.h"
|
||||||
|
#include "core/hle/service/server_manager.h"
|
||||||
|
#include "core/hle/service/service.h"
|
||||||
|
|
||||||
|
namespace Service::BTM {
|
||||||
|
|
||||||
|
IBtmSystemCore::IBtmSystemCore(Core::System& system_)
|
||||||
|
: ServiceFramework{system_, "IBtmSystemCore"} {
|
||||||
|
// clang-format off
|
||||||
|
static const FunctionInfo functions[] = {
|
||||||
|
{0, C<&IBtmSystemCore::StartGamepadPairing>, "StartGamepadPairing"},
|
||||||
|
{1, C<&IBtmSystemCore::CancelGamepadPairing>, "CancelGamepadPairing"},
|
||||||
|
{2, nullptr, "ClearGamepadPairingDatabase"},
|
||||||
|
{3, nullptr, "GetPairedGamepadCount"},
|
||||||
|
{4, nullptr, "EnableRadio"},
|
||||||
|
{5, nullptr, "DisableRadio"},
|
||||||
|
{6, C<&IBtmSystemCore::IsRadioEnabled>, "IsRadioEnabled"},
|
||||||
|
{7, nullptr, "AcquireRadioEvent"},
|
||||||
|
{8, nullptr, "AcquireGamepadPairingEvent"},
|
||||||
|
{9, nullptr, "IsGamepadPairingStarted"},
|
||||||
|
{10, nullptr, "StartAudioDeviceDiscovery"},
|
||||||
|
{11, nullptr, "StopAudioDeviceDiscovery"},
|
||||||
|
{12, nullptr, "IsDiscoveryingAudioDevice"},
|
||||||
|
{13, nullptr, "GetDiscoveredAudioDevice"},
|
||||||
|
{14, nullptr, "AcquireAudioDeviceConnectionEvent"},
|
||||||
|
{15, nullptr, "ConnectAudioDevice"},
|
||||||
|
{16, nullptr, "IsConnectingAudioDevice"},
|
||||||
|
{17, C<&IBtmSystemCore::GetConnectedAudioDevices>, "GetConnectedAudioDevices"},
|
||||||
|
{18, nullptr, "DisconnectAudioDevice"},
|
||||||
|
{19, nullptr, "AcquirePairedAudioDeviceInfoChangedEvent"},
|
||||||
|
{20, C<&IBtmSystemCore::GetPairedAudioDevices>, "GetPairedAudioDevices"},
|
||||||
|
{21, nullptr, "RemoveAudioDevicePairing"},
|
||||||
|
{22, C<&IBtmSystemCore::RequestAudioDeviceConnectionRejection>, "RequestAudioDeviceConnectionRejection"},
|
||||||
|
{23, C<&IBtmSystemCore::CancelAudioDeviceConnectionRejection>, "CancelAudioDeviceConnectionRejection"}
|
||||||
|
};
|
||||||
|
// clang-format on
|
||||||
|
|
||||||
|
RegisterHandlers(functions);
|
||||||
|
}
|
||||||
|
|
||||||
|
IBtmSystemCore::~IBtmSystemCore() = default;
|
||||||
|
|
||||||
|
Result IBtmSystemCore::StartGamepadPairing() {
|
||||||
|
LOG_WARNING(Service_BTM, "(STUBBED) called");
|
||||||
|
R_SUCCEED();
|
||||||
|
}
|
||||||
|
|
||||||
|
Result IBtmSystemCore::CancelGamepadPairing() {
|
||||||
|
LOG_WARNING(Service_BTM, "(STUBBED) called");
|
||||||
|
R_SUCCEED();
|
||||||
|
}
|
||||||
|
|
||||||
|
Result IBtmSystemCore::IsRadioEnabled(Out<bool> out_is_enabled) {
|
||||||
|
LOG_DEBUG(Service_BTM, "(STUBBED) called"); // Spams a lot when controller applet is running
|
||||||
|
|
||||||
|
*out_is_enabled = true;
|
||||||
|
R_SUCCEED();
|
||||||
|
}
|
||||||
|
|
||||||
|
Result IBtmSystemCore::GetConnectedAudioDevices(
|
||||||
|
Out<s32> out_count, OutArray<std::array<u8, 0xFF>, BufferAttr_HipcPointer> out_audio_devices) {
|
||||||
|
LOG_WARNING(Service_BTM, "(STUBBED) called");
|
||||||
|
|
||||||
|
*out_count = 0;
|
||||||
|
R_SUCCEED();
|
||||||
|
}
|
||||||
|
|
||||||
|
Result IBtmSystemCore::GetPairedAudioDevices(
|
||||||
|
Out<s32> out_count, OutArray<std::array<u8, 0xFF>, BufferAttr_HipcPointer> out_audio_devices) {
|
||||||
|
LOG_WARNING(Service_BTM, "(STUBBED) called");
|
||||||
|
|
||||||
|
*out_count = 0;
|
||||||
|
R_SUCCEED();
|
||||||
|
}
|
||||||
|
|
||||||
|
Result IBtmSystemCore::RequestAudioDeviceConnectionRejection(ClientAppletResourceUserId aruid) {
|
||||||
|
LOG_WARNING(Service_BTM, "(STUBBED) called, applet_resource_user_id={}", aruid.pid);
|
||||||
|
R_SUCCEED();
|
||||||
|
}
|
||||||
|
|
||||||
|
Result IBtmSystemCore::CancelAudioDeviceConnectionRejection(ClientAppletResourceUserId aruid) {
|
||||||
|
LOG_WARNING(Service_BTM, "(STUBBED) called, applet_resource_user_id={}", aruid.pid);
|
||||||
|
R_SUCCEED();
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace Service::BTM
|
@ -0,0 +1,37 @@
|
|||||||
|
// 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::BTM {
|
||||||
|
|
||||||
|
class IBtmSystemCore final : public ServiceFramework<IBtmSystemCore> {
|
||||||
|
public:
|
||||||
|
explicit IBtmSystemCore(Core::System& system_);
|
||||||
|
~IBtmSystemCore() override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
Result StartGamepadPairing();
|
||||||
|
Result CancelGamepadPairing();
|
||||||
|
Result IsRadioEnabled(Out<bool> out_is_enabled);
|
||||||
|
|
||||||
|
Result GetConnectedAudioDevices(
|
||||||
|
Out<s32> out_count,
|
||||||
|
OutArray<std::array<u8, 0xFF>, BufferAttr_HipcPointer> out_audio_devices);
|
||||||
|
|
||||||
|
Result GetPairedAudioDevices(
|
||||||
|
Out<s32> out_count,
|
||||||
|
OutArray<std::array<u8, 0xFF>, BufferAttr_HipcPointer> out_audio_devices);
|
||||||
|
|
||||||
|
Result RequestAudioDeviceConnectionRejection(ClientAppletResourceUserId aruid);
|
||||||
|
Result CancelAudioDeviceConnectionRejection(ClientAppletResourceUserId aruid);
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace Service::BTM
|
@ -0,0 +1,32 @@
|
|||||||
|
// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
#include "common/logging/log.h"
|
||||||
|
#include "core/hle/service/btm/btm_user.h"
|
||||||
|
#include "core/hle/service/btm/btm_user_core.h"
|
||||||
|
#include "core/hle/service/cmif_serialization.h"
|
||||||
|
#include "core/hle/service/ipc_helpers.h"
|
||||||
|
#include "core/hle/service/service.h"
|
||||||
|
|
||||||
|
namespace Service::BTM {
|
||||||
|
|
||||||
|
IBtmUser::IBtmUser(Core::System& system_) : ServiceFramework{system_, "btm:u"} {
|
||||||
|
// clang-format off
|
||||||
|
static const FunctionInfo functions[] = {
|
||||||
|
{0, C<&IBtmUser::GetCore>, "GetCore"},
|
||||||
|
};
|
||||||
|
// clang-format on
|
||||||
|
|
||||||
|
RegisterHandlers(functions);
|
||||||
|
}
|
||||||
|
|
||||||
|
IBtmUser::~IBtmUser() = default;
|
||||||
|
|
||||||
|
Result IBtmUser::GetCore(OutInterface<IBtmUserCore> out_interface) {
|
||||||
|
LOG_WARNING(Service_BTM, "called");
|
||||||
|
|
||||||
|
*out_interface = std::make_shared<IBtmUserCore>(system);
|
||||||
|
R_SUCCEED();
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace Service::BTM
|
@ -0,0 +1,25 @@
|
|||||||
|
// 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::BTM {
|
||||||
|
class IBtmUserCore;
|
||||||
|
|
||||||
|
class IBtmUser final : public ServiceFramework<IBtmUser> {
|
||||||
|
public:
|
||||||
|
explicit IBtmUser(Core::System& system_);
|
||||||
|
~IBtmUser() override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
Result GetCore(OutInterface<IBtmUserCore> out_interface);
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace Service::BTM
|
@ -0,0 +1,106 @@
|
|||||||
|
// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
#include <memory>
|
||||||
|
|
||||||
|
#include "common/logging/log.h"
|
||||||
|
#include "core/core.h"
|
||||||
|
#include "core/hle/kernel/k_event.h"
|
||||||
|
#include "core/hle/service/btm/btm_user_core.h"
|
||||||
|
#include "core/hle/service/cmif_serialization.h"
|
||||||
|
#include "core/hle/service/ipc_helpers.h"
|
||||||
|
#include "core/hle/service/server_manager.h"
|
||||||
|
#include "core/hle/service/service.h"
|
||||||
|
|
||||||
|
namespace Service::BTM {
|
||||||
|
|
||||||
|
IBtmUserCore::IBtmUserCore(Core::System& system_)
|
||||||
|
: ServiceFramework{system_, "IBtmUserCore"}, service_context{system_, "IBtmUserCore"} {
|
||||||
|
// clang-format off
|
||||||
|
static const FunctionInfo functions[] = {
|
||||||
|
{0, C<&IBtmUserCore::AcquireBleScanEvent>, "AcquireBleScanEvent"},
|
||||||
|
{1, nullptr, "GetBleScanFilterParameter"},
|
||||||
|
{2, nullptr, "GetBleScanFilterParameter2"},
|
||||||
|
{3, nullptr, "StartBleScanForGeneral"},
|
||||||
|
{4, nullptr, "StopBleScanForGeneral"},
|
||||||
|
{5, nullptr, "GetBleScanResultsForGeneral"},
|
||||||
|
{6, nullptr, "StartBleScanForPaired"},
|
||||||
|
{7, nullptr, "StopBleScanForPaired"},
|
||||||
|
{8, nullptr, "StartBleScanForSmartDevice"},
|
||||||
|
{9, nullptr, "StopBleScanForSmartDevice"},
|
||||||
|
{10, nullptr, "GetBleScanResultsForSmartDevice"},
|
||||||
|
{17, C<&IBtmUserCore::AcquireBleConnectionEvent>, "AcquireBleConnectionEvent"},
|
||||||
|
{18, nullptr, "BleConnect"},
|
||||||
|
{19, nullptr, "BleDisconnect"},
|
||||||
|
{20, nullptr, "BleGetConnectionState"},
|
||||||
|
{21, nullptr, "AcquireBlePairingEvent"},
|
||||||
|
{22, nullptr, "BlePairDevice"},
|
||||||
|
{23, nullptr, "BleUnPairDevice"},
|
||||||
|
{24, nullptr, "BleUnPairDevice2"},
|
||||||
|
{25, nullptr, "BleGetPairedDevices"},
|
||||||
|
{26, C<&IBtmUserCore::AcquireBleServiceDiscoveryEvent>, "AcquireBleServiceDiscoveryEvent"},
|
||||||
|
{27, nullptr, "GetGattServices"},
|
||||||
|
{28, nullptr, "GetGattService"},
|
||||||
|
{29, nullptr, "GetGattIncludedServices"},
|
||||||
|
{30, nullptr, "GetBelongingGattService"},
|
||||||
|
{31, nullptr, "GetGattCharacteristics"},
|
||||||
|
{32, nullptr, "GetGattDescriptors"},
|
||||||
|
{33, C<&IBtmUserCore::AcquireBleMtuConfigEvent>, "AcquireBleMtuConfigEvent"},
|
||||||
|
{34, nullptr, "ConfigureBleMtu"},
|
||||||
|
{35, nullptr, "GetBleMtu"},
|
||||||
|
{36, nullptr, "RegisterBleGattDataPath"},
|
||||||
|
{37, nullptr, "UnregisterBleGattDataPath"},
|
||||||
|
};
|
||||||
|
// clang-format on
|
||||||
|
RegisterHandlers(functions);
|
||||||
|
|
||||||
|
scan_event = service_context.CreateEvent("IBtmUserCore:ScanEvent");
|
||||||
|
connection_event = service_context.CreateEvent("IBtmUserCore:ConnectionEvent");
|
||||||
|
service_discovery_event = service_context.CreateEvent("IBtmUserCore:DiscoveryEvent");
|
||||||
|
config_event = service_context.CreateEvent("IBtmUserCore:ConfigEvent");
|
||||||
|
}
|
||||||
|
|
||||||
|
IBtmUserCore::~IBtmUserCore() {
|
||||||
|
service_context.CloseEvent(scan_event);
|
||||||
|
service_context.CloseEvent(connection_event);
|
||||||
|
service_context.CloseEvent(service_discovery_event);
|
||||||
|
service_context.CloseEvent(config_event);
|
||||||
|
}
|
||||||
|
|
||||||
|
Result IBtmUserCore::AcquireBleScanEvent(Out<bool> out_is_valid,
|
||||||
|
OutCopyHandle<Kernel::KReadableEvent> out_event) {
|
||||||
|
LOG_WARNING(Service_BTM, "(STUBBED) called");
|
||||||
|
|
||||||
|
*out_is_valid = true;
|
||||||
|
*out_event = &scan_event->GetReadableEvent();
|
||||||
|
R_SUCCEED();
|
||||||
|
}
|
||||||
|
|
||||||
|
Result IBtmUserCore::AcquireBleConnectionEvent(Out<bool> out_is_valid,
|
||||||
|
OutCopyHandle<Kernel::KReadableEvent> out_event) {
|
||||||
|
LOG_WARNING(Service_BTM, "(STUBBED) called");
|
||||||
|
|
||||||
|
*out_is_valid = true;
|
||||||
|
*out_event = &connection_event->GetReadableEvent();
|
||||||
|
R_SUCCEED();
|
||||||
|
}
|
||||||
|
|
||||||
|
Result IBtmUserCore::AcquireBleServiceDiscoveryEvent(
|
||||||
|
Out<bool> out_is_valid, OutCopyHandle<Kernel::KReadableEvent> out_event) {
|
||||||
|
LOG_WARNING(Service_BTM, "(STUBBED) called");
|
||||||
|
|
||||||
|
*out_is_valid = true;
|
||||||
|
*out_event = &service_discovery_event->GetReadableEvent();
|
||||||
|
R_SUCCEED();
|
||||||
|
}
|
||||||
|
|
||||||
|
Result IBtmUserCore::AcquireBleMtuConfigEvent(Out<bool> out_is_valid,
|
||||||
|
OutCopyHandle<Kernel::KReadableEvent> out_event) {
|
||||||
|
LOG_WARNING(Service_BTM, "(STUBBED) called");
|
||||||
|
|
||||||
|
*out_is_valid = true;
|
||||||
|
*out_event = &config_event->GetReadableEvent();
|
||||||
|
R_SUCCEED();
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace Service::BTM
|
@ -0,0 +1,47 @@
|
|||||||
|
// 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/kernel_helpers.h"
|
||||||
|
#include "core/hle/service/service.h"
|
||||||
|
|
||||||
|
namespace Kernel {
|
||||||
|
class KEvent;
|
||||||
|
class KReadableEvent;
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace Core {
|
||||||
|
class System;
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace Service::BTM {
|
||||||
|
|
||||||
|
class IBtmUserCore final : public ServiceFramework<IBtmUserCore> {
|
||||||
|
public:
|
||||||
|
explicit IBtmUserCore(Core::System& system_);
|
||||||
|
~IBtmUserCore() override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
Result AcquireBleScanEvent(Out<bool> out_is_valid,
|
||||||
|
OutCopyHandle<Kernel::KReadableEvent> out_event);
|
||||||
|
|
||||||
|
Result AcquireBleConnectionEvent(Out<bool> out_is_valid,
|
||||||
|
OutCopyHandle<Kernel::KReadableEvent> out_event);
|
||||||
|
|
||||||
|
Result AcquireBleServiceDiscoveryEvent(Out<bool> out_is_valid,
|
||||||
|
OutCopyHandle<Kernel::KReadableEvent> out_event);
|
||||||
|
|
||||||
|
Result AcquireBleMtuConfigEvent(Out<bool> out_is_valid,
|
||||||
|
OutCopyHandle<Kernel::KReadableEvent> out_event);
|
||||||
|
|
||||||
|
KernelHelpers::ServiceContext service_context;
|
||||||
|
|
||||||
|
Kernel::KEvent* scan_event;
|
||||||
|
Kernel::KEvent* connection_event;
|
||||||
|
Kernel::KEvent* service_discovery_event;
|
||||||
|
Kernel::KEvent* config_event;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace Service::BTM
|
Loading…
Reference in New Issue