aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.HLE/HOS/Services/Bluetooth/IBluetoothUser.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.HLE/HOS/Services/Bluetooth/IBluetoothUser.cs')
-rw-r--r--src/Ryujinx.HLE/HOS/Services/Bluetooth/IBluetoothUser.cs30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/Ryujinx.HLE/HOS/Services/Bluetooth/IBluetoothUser.cs b/src/Ryujinx.HLE/HOS/Services/Bluetooth/IBluetoothUser.cs
new file mode 100644
index 00000000..1a5e25a4
--- /dev/null
+++ b/src/Ryujinx.HLE/HOS/Services/Bluetooth/IBluetoothUser.cs
@@ -0,0 +1,30 @@
+using Ryujinx.HLE.HOS.Ipc;
+using Ryujinx.HLE.HOS.Services.Bluetooth.BluetoothDriver;
+using Ryujinx.HLE.HOS.Services.Settings;
+
+namespace Ryujinx.HLE.HOS.Services.Bluetooth
+{
+ [Service("bt")]
+ class IBluetoothUser : IpcService
+ {
+ public IBluetoothUser(ServiceCtx context) { }
+
+ [CommandCmif(9)]
+ // RegisterBleEvent(pid) -> handle<copy>
+ public ResultCode RegisterBleEvent(ServiceCtx context)
+ {
+ NxSettings.Settings.TryGetValue("bluetooth_debug!skip_boot", out object debugMode);
+
+ if ((bool)debugMode)
+ {
+ context.Response.HandleDesc = IpcHandleDesc.MakeCopy(BluetoothEventManager.RegisterBleDebugEventHandle);
+ }
+ else
+ {
+ context.Response.HandleDesc = IpcHandleDesc.MakeCopy(BluetoothEventManager.RegisterBleEventHandle);
+ }
+
+ return ResultCode.Success;
+ }
+ }
+} \ No newline at end of file