Skip to content

Commit

Permalink
Change discover handler to async
Browse files Browse the repository at this point in the history
#117 non-breaking
  • Loading branch information
rickjansen-dev authored Oct 20, 2020
1 parent 9bb4714 commit 9a3831e
Show file tree
Hide file tree
Showing 5 changed files with 10 additions and 7 deletions.
3 changes: 3 additions & 0 deletions src/SharpBrick.PoweredUp.Cli/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,9 @@ private static (ulong bluetoothAddress, SystemType systemType) FindAndSelectHub(

idx++;
}

return Task.CompletedTask;

}, cts.Token);

var input = Console.ReadLine();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ namespace SharpBrick.PoweredUp.WinRT
{
public class WinRTPoweredUpBluetoothAdapter : IPoweredUpBluetoothAdapter
{
public void Discover(Action<PoweredUpBluetoothDeviceInfo> discoveryHandler, CancellationToken cancellationToken = default)
public void Discover(Func<PoweredUpBluetoothDeviceInfo, Task> discoveryHandler, CancellationToken cancellationToken = default)
{
BluetoothLEAdvertisementWatcher watcher = new BluetoothLEAdvertisementWatcher();
watcher.ScanningMode = BluetoothLEScanningMode.Active;
Expand All @@ -26,7 +26,7 @@ public void Discover(Action<PoweredUpBluetoothDeviceInfo> discoveryHandler, Canc

watcher.Start();

void ReceivedHandler(BluetoothLEAdvertisementWatcher watcher, BluetoothLEAdvertisementReceivedEventArgs eventArgs)
async void ReceivedHandler(BluetoothLEAdvertisementWatcher watcher, BluetoothLEAdvertisementReceivedEventArgs eventArgs)
{
var info = new PoweredUpBluetoothDeviceInfo();

Expand All @@ -47,7 +47,7 @@ void ReceivedHandler(BluetoothLEAdvertisementWatcher watcher, BluetoothLEAdverti

info.BluetoothAddress = eventArgs.BluetoothAddress;

discoveryHandler(info);
await discoveryHandler(info);
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ namespace SharpBrick.PoweredUp.Bluetooth
{
public interface IPoweredUpBluetoothAdapter
{
void Discover(Action<PoweredUpBluetoothDeviceInfo> discoveryHandler, CancellationToken cancellationToken = default);
void Discover(Func<PoweredUpBluetoothDeviceInfo, Task> discoveryHandler, CancellationToken cancellationToken = default);

Task<IPoweredUpBluetoothDevice> GetDeviceAsync(ulong bluetoothAddress);
}
Expand Down
4 changes: 2 additions & 2 deletions src/SharpBrick.PoweredUp/PoweredUpHost.cs
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ public THub FindByName<THub>(string name) where THub : Hub, IDisposable

public void Discover(Func<Hub, Task> onDiscovery, CancellationToken token = default)
{
_bluetoothAdapter.Discover(deviceInfo =>
_bluetoothAdapter.Discover(async deviceInfo =>
{
try
{
Expand All @@ -55,7 +55,7 @@ public void Discover(Func<Hub, Task> onDiscovery, CancellationToken token = defa

_logger.LogInformation($"Discovered log of type {hub.GetType().Name} with name '{deviceInfo.Name}' on Bluetooth Address '{deviceInfo.BluetoothAddress}'");

onDiscovery(hub).Wait();
await onDiscovery(hub);
}
}
catch (Exception e)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ public PoweredUpBluetoothAdapterMock()
public PoweredUpBluetoothServiceMock MockService { get; }
public PoweredUpBluetoothCharacteristicMock MockCharacteristic { get; }

public void Discover(Action<PoweredUpBluetoothDeviceInfo> discoveryHandler, CancellationToken cancellationToken = default)
public void Discover(Func<PoweredUpBluetoothDeviceInfo, Task> discoveryHandler, CancellationToken cancellationToken = default)
{
throw new NotImplementedException();
}
Expand Down

0 comments on commit 9a3831e

Please sign in to comment.