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();
}