summaryrefslogtreecommitdiff
authormickeyl <mickeyl>2005-07-11 15:23:48 (UTC)
committer mickeyl <mickeyl>2005-07-11 15:23:48 (UTC)
commit27646acf1280d2644b740d0fea03723030aa19cf (patch) (unidiff)
treeead5c3a90a33d6772083183458adc17bd18c0a22
parent43ab12c5f803c6dfa779608be71c188f9eb87282 (diff)
downloadopie-27646acf1280d2644b740d0fea03723030aa19cf.zip
opie-27646acf1280d2644b740d0fea03723030aa19cf.tar.gz
opie-27646acf1280d2644b740d0fea03723030aa19cf.tar.bz2
gather HCI mac address directly
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiebluez/obluetooth.cpp17
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
@@ -110,14 +110,17 @@ void OBluetooth::synchronize()
110 return; 110 return;
111 } 111 }
112 112
113 for ( int i = 0; i < dl->dev_num; ++i ) 113 for ( int i = 0; i < dl->dev_num; ++i )
114 { 114 {
115 di.dev_id = ( dr + i )->dev_id; 115 di.dev_id = ( dr + i )->dev_id;
116 if ( ioctl( _fd, HCIGETDEVINFO, (void *) &di) < 0 ) 116 if ( ioctl( _fd, HCIGETDEVINFO, (void *) &di) == -1 )
117 {
118 owarn << "OBluetooth::synchronize() - can't issue HCIGETDEVINFO on device " << i << " (" << strerror( errno ) << ") - skipping that device. " << oendl;
117 continue; 119 continue;
120 }
118 odebug << "OBluetooth::synchronize() - found device #" << di.dev_id << oendl; 121 odebug << "OBluetooth::synchronize() - found device #" << di.dev_id << oendl;
119 _interfaces.insert( di.name, new OBluetoothInterface( this, di.name, (void*) &di ) ); 122 _interfaces.insert( di.name, new OBluetoothInterface( this, di.name, (void*) &di ) );
120 } 123 }
121} 124}
122 125
123/*====================================================================================== 126/*======================================================================================
@@ -132,25 +135,29 @@ class OBluetoothInterface::Private
132 ::memcpy( &devinfo, di, sizeof(struct hci_dev_info) ); 135 ::memcpy( &devinfo, di, sizeof(struct hci_dev_info) );
133 } 136 }
134 struct hci_dev_info devinfo; 137 struct hci_dev_info devinfo;
135}; 138};
136 139
137OBluetoothInterface::OBluetoothInterface( QObject* parent, const char* name, void* devinfo ) 140OBluetoothInterface::OBluetoothInterface( QObject* parent, const char* name, void* devinfo )
141 :QObject( parent, name )
138{ 142{
139 d = new OBluetoothInterface::Private( (struct hci_dev_info*) devinfo ); 143 d = new OBluetoothInterface::Private( (struct hci_dev_info*) devinfo );
140} 144}
141 145
142OBluetoothInterface::~OBluetoothInterface() 146OBluetoothInterface::~OBluetoothInterface()
143{ 147{
144} 148}
145 149
146QString OBluetoothInterface::macAddress() const 150QString OBluetoothInterface::macAddress() const
147{ 151{
148 char addr[18]; 152 return QString().sprintf( "%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X",
149 //ba2str( &d->devinfo.bdaddr, addr); 153 d->devinfo.bdaddr.b[5],
150 //return addr; 154 d->devinfo.bdaddr.b[4],
151 return "BLA"; 155 d->devinfo.bdaddr.b[3],
156 d->devinfo.bdaddr.b[2],
157 d->devinfo.bdaddr.b[1],
158 d->devinfo.bdaddr.b[0] );
152} 159}
153 160
154} 161}
155} 162}
156 163