void QBtDeviceDiscovererPrivate::RegisterFoundDevice(BTDEVHDL dev_hdl) { BTUINT8 szDevName[BTSDK_DEVNAME_LEN] = { 0 }; BTUINT16 usLen = 0; BTUINT32 ulDevClass = 0; BTUINT8 szBdAddr[6] = {0}; QBtDevice devInfo; usLen = BTSDK_DEVNAME_LEN; BTINT32 result = BTSDK_FALSE; if ((result = Btsdk_GetRemoteDeviceName(dev_hdl, szDevName, &usLen)) != BTSDK_OK) { usLen = BTSDK_DEVNAME_LEN; ZeroMemory(szDevName, BTSDK_DEVNAME_LEN); if ((result = Btsdk_UpdateRemoteDeviceName(dev_hdl, szDevName, &usLen)) != BTSDK_OK) { strcpy((char*)szDevName, "Unknown"); } } devInfo.setName(QString::fromUtf8((char*)szDevName)); Btsdk_GetRemoteDeviceAddress(dev_hdl, szBdAddr); QByteArray btAddrr((char*)szBdAddr, 6); devInfo.setAddress(QBtAddress::getAddressFromReversedArray(btAddrr)); Btsdk_GetRemoteDeviceClass(dev_hdl, &ulDevClass); if(ulDevClass & BTSDK_DEVCLS_COMPUTER) devInfo.setType(QBtDevice::Computer); else if(ulDevClass & BTSDK_DEVCLS_PHONE) devInfo.setType(QBtDevice::Phone); else if(ulDevClass & BTSDK_DEVCLS_LAP) devInfo.setType(QBtDevice::LANAccess); else if(ulDevClass & BTSDK_DEVCLS_AUDIO) devInfo.setType(QBtDevice::AudioVideo); else if(ulDevClass & BTSDK_DEVCLS_PERIPHERAL) devInfo.setType(QBtDevice::Peripheral); else if(ulDevClass & BTSDK_DEVCLS_IMAGE) devInfo.setType(QBtDevice::Imaging); else if(ulDevClass & BTSDK_DEVCLS_IMAGE) devInfo.setType(QBtDevice::Imaging); else if(ulDevClass & BTSDK_DEVCLS_WEARABLE) devInfo.setType(QBtDevice::Wearable); else devInfo.setType(QBtDevice::Uncategorized); deviceList.append(devInfo); if(sp_ptr) emit sp_ptr->newDeviceFound(devInfo); }
QBtAddress QBtLocalDevicePrivate::GetLocalDeviceAddress() { BTINT32 result = BTSDK_FALSE; BTUINT8 devAddr[6] = {0}; result = Btsdk_GetLocalDeviceAddress(devAddr); if(result == BTSDK_OK) { QByteArray btAddrr((char*)devAddr, 6); return QBtAddress::getAddressFromReversedArray(btAddrr); } return QBtAddress(); }