-
-
Notifications
You must be signed in to change notification settings - Fork 29
/
ButtplugConnector.cs
31 lines (24 loc) 路 983 Bytes
/
ButtplugConnector.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
锘縰sing Buttplug;
using RonSijm.ButtFish.Models;
namespace RonSijm.ButtFish.Connectors;
public class ButtplugConnector
{
private readonly ButtplugClient _client = new("ButtPlugClient");
public async Task<List<IDeviceAbstraction>> GetDiscoveredDevices(string discoverAddress = null)
{
Console.WriteLine("Starting to scan for ButtPlug Devices...");
Console.WriteLine("Will return results after 5 seconds.");
if (discoverAddress == null)
{
await _client.ConnectAsync(new ButtplugEmbeddedConnectorOptions());
}
else
{
await _client.ConnectAsync(new ButtplugWebsocketConnectorOptions(new Uri(discoverAddress)));
}
await _client.StartScanningAsync();
// Wait 5 seconds on ButtplugClient to find results
await Task.Delay(5000);
return _client.Devices.Select(locatedDevice => new ButtDevice(locatedDevice)).Cast<IDeviceAbstraction>().ToList();
}
}