Merge pull request #24 from eidorb/master

Check Bluetooth power state (Mac)
This commit is contained in:
Ryan Pavlik
2012-12-07 09:47:14 -08:00

6
src/io_mac.m Executable file → Normal file
View File

@@ -45,13 +45,17 @@
foundWiimotes = 0; foundWiimotes = 0;
isDiscovering = NO; isDiscovering = NO;
if (self != nil) { if (self != nil) {
BluetoothHCIPowerState powerState;
IOBluetoothLocalDeviceGetPowerState(&powerState);
/* /*
* Calling IOBluetoothLocalDeviceAvailable has two advantages: * Calling IOBluetoothLocalDeviceAvailable has two advantages:
* 1. it sets up a event source in the run loop (bug for C version of the bluetooth api) * 1. it sets up a event source in the run loop (bug for C version of the bluetooth api)
* 2. it checks for the availability of the BT hardware * 2. it checks for the availability of the BT hardware
*/ */
if (![IOBluetoothHostController defaultController]) if (![IOBluetoothHostController defaultController] ||
powerState == kBluetoothHCIPowerStateOFF)
{ {
WIIUSE_DEBUG("Bluetooth hardware not available.");
[self release]; [self release];
self = nil; self = nil;
} }