author | mickeyl <mickeyl> | 2005-07-11 15:23:48 (UTC) |
---|---|---|
committer | mickeyl <mickeyl> | 2005-07-11 15:23:48 (UTC) |
commit | 27646acf1280d2644b740d0fea03723030aa19cf (patch) (side-by-side diff) | |
tree | ead5c3a90a33d6772083183458adc17bd18c0a22 /libopie2/opiebluez | |
parent | 43ab12c5f803c6dfa779608be71c188f9eb87282 (diff) | |
download | opie-27646acf1280d2644b740d0fea03723030aa19cf.zip opie-27646acf1280d2644b740d0fea03723030aa19cf.tar.gz opie-27646acf1280d2644b740d0fea03723030aa19cf.tar.bz2 |
gather HCI mac address directly
-rw-r--r-- | libopie2/opiebluez/obluetooth.cpp | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/libopie2/opiebluez/obluetooth.cpp b/libopie2/opiebluez/obluetooth.cpp index fbc4f0a..b5df96e 100644 --- a/libopie2/opiebluez/obluetooth.cpp +++ b/libopie2/opiebluez/obluetooth.cpp @@ -113,8 +113,11 @@ void OBluetooth::synchronize() for ( int i = 0; i < dl->dev_num; ++i ) { di.dev_id = ( dr + i )->dev_id; - if ( ioctl( _fd, HCIGETDEVINFO, (void *) &di) < 0 ) + if ( ioctl( _fd, HCIGETDEVINFO, (void *) &di) == -1 ) + { + owarn << "OBluetooth::synchronize() - can't issue HCIGETDEVINFO on device " << i << " (" << strerror( errno ) << ") - skipping that device. " << oendl; continue; + } odebug << "OBluetooth::synchronize() - found device #" << di.dev_id << oendl; _interfaces.insert( di.name, new OBluetoothInterface( this, di.name, (void*) &di ) ); } @@ -135,6 +138,7 @@ class OBluetoothInterface::Private }; OBluetoothInterface::OBluetoothInterface( QObject* parent, const char* name, void* devinfo ) + :QObject( parent, name ) { d = new OBluetoothInterface::Private( (struct hci_dev_info*) devinfo ); } @@ -145,10 +149,13 @@ OBluetoothInterface::~OBluetoothInterface() QString OBluetoothInterface::macAddress() const { - char addr[18]; - //ba2str( &d->devinfo.bdaddr, addr); - //return addr; - return "BLA"; + return QString().sprintf( "%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X", + d->devinfo.bdaddr.b[5], + d->devinfo.bdaddr.b[4], + d->devinfo.bdaddr.b[3], + d->devinfo.bdaddr.b[2], + d->devinfo.bdaddr.b[1], + d->devinfo.bdaddr.b[0] ); } } |