本文整理汇总了C++中QBluetoothAddress类的典型用法代码示例。如果您正苦于以下问题:C++ QBluetoothAddress类的具体用法?C++ QBluetoothAddress怎么用?C++ QBluetoothAddress使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了QBluetoothAddress类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: QFETCH
void tst_QBluetoothHostInfo::tst_construction()
{
QFETCH(QString, btAddress);
QFETCH(QString, name);
QFETCH(bool, validBtAddress);
QBluetoothAddress empty;
QVERIFY(empty.isNull());
QBluetoothHostInfo setter;
QBluetoothAddress addr(btAddress);
setter.setName(name);
setter.setAddress(addr);
QCOMPARE(setter.name(), name);
QCOMPARE(setter.address().toString(), btAddress);
QCOMPARE(setter.address().isNull(), !validBtAddress);
setter.setAddress(empty);
QCOMPARE(setter.name(), name);
QCOMPARE(setter.address().toString(), QString("00:00:00:00:00:00"));
QCOMPARE(setter.address().isNull(), true);
setter.setName(QString());
QCOMPARE(setter.name(), QString());
QCOMPARE(setter.address().toString(), QString("00:00:00:00:00:00"));
QCOMPARE(setter.address().isNull(), true);
setter.setAddress(addr);
QCOMPARE(setter.name(), QString());
QCOMPARE(setter.address().toString(), btAddress);
QCOMPARE(setter.address().isNull(), !validBtAddress);
}
示例2: qDebug
/*!
Initializes the client and connects to \a remoteService.
*/
void BluetoothClient::startClient(const QBluetoothServiceInfo &remoteService)
{
if (mSocket || mRetries) {
qDebug() << "BluetoothClient::startClient(): Already running!";
return;
}
mService = remoteService;
mRetries = NumberOfRetries;
mLastErrorString = "";
Common::resetBuffer();
QBluetoothAddress address = mService.device().address();
qDebug() << "BluetoothClient::startClient(): Bluetooth address: " << address.toString();
mSocket = new QBluetoothSocket(QBluetoothSocket::RfcommSocket);
connect(mSocket, SIGNAL(readyRead()), this, SLOT(onReadyRead()));
connect(mSocket, SIGNAL(connected()), this, SLOT(onConnected()));
connect(mSocket, SIGNAL(disconnected()), this, SLOT(onDisconnected()));
connect(mSocket, SIGNAL(error(QBluetoothSocket::SocketError)),
this, SLOT(onSocketError(QBluetoothSocket::SocketError)));
// mSocket->connectToService() call may block the UI thread. Thus, use the
// the timer to delay the call in case we want to show some note for the
// user.
QTimer::singleShot(RetryInterval, this, SLOT(connectToService()));
}
示例3: QFETCH
void tst_QBluetoothAddress::tst_construction()
{
QFETCH(quint64, addressUInt);
QFETCH(QString, addressS12);
QFETCH(QString, addressS17);
{
QBluetoothAddress address;
QVERIFY(address.isNull());
}
{
/* construct from quint64 */
QBluetoothAddress address(addressUInt);
QVERIFY(!address.isNull());
QVERIFY(address.toUInt64() == addressUInt);
QCOMPARE(address.toString(), addressS17);
}
{
/* construct from string without colons */
QBluetoothAddress address(addressS12);
QVERIFY(!address.isNull());
QVERIFY(address.toUInt64() == addressUInt);
QCOMPARE(address.toString(), addressS17);
}
{
/* construct from string with colons */
QBluetoothAddress address(addressS17);
QVERIFY(!address.isNull());
QVERIFY(address.toUInt64() == addressUInt);
QCOMPARE(address.toString(), addressS17);
}
{
QString empty;
QBluetoothAddress address(empty);
QVERIFY(address.isNull());
}
{
QBluetoothAddress address(addressUInt);
QBluetoothAddress copy(address);
QVERIFY(address.toUInt64() == copy.toUInt64());
}
}
示例4: address
void tst_QBluetoothAddress::tst_assignment()
{
QBluetoothAddress address(Q_UINT64_C(0x112233445566));
{
QBluetoothAddress copy = address;
QCOMPARE(address.toUInt64(), copy.toUInt64());
}
{
QBluetoothAddress copy1;
QBluetoothAddress copy2;
QVERIFY(copy1.isNull());
QVERIFY(copy2.isNull());
copy1 = copy2 = address;
QVERIFY(!copy1.isNull());
QVERIFY(!copy2.isNull());
QVERIFY(address.toUInt64() == copy1.toUInt64());
QVERIFY(address.toUInt64() == copy2.toUInt64());
copy1.clear();
QVERIFY(copy1.isNull());
QVERIFY2(copy1 != address, "Verify that copy1 is a copy of address, the d_ptr are being copied");
}
}
示例5: localAddress
QString QBluetoothSocketPrivate::localName() const
{
const QBluetoothAddress address = localAddress();
if (address.isNull())
return QString();
QBluetoothLocalDevice device(address);
return device.name();
}
示例6: pairingFinished
void RemoteSelector::pairingFinished(const QBluetoothAddress &address, QBluetoothLocalDevice::Pairing status)
{
QBluetoothServiceInfo service;
int row = 0;
ui->pairingBusy->hide();
ui->pairingBusy->movie()->stop();
ui->remoteDevices->blockSignals(true);
for(int i = 0; i < m_discoveredServices.count(); i++){
if(m_discoveredServices.value(i).device().address() == address){
service = m_discoveredServices.value(i);
row = i;
break;
}
}
if(m_pindisplay)
delete m_pindisplay;
QMessageBox msgBox;
if(status == QBluetoothLocalDevice::Paired ||
status == QBluetoothLocalDevice::AuthorizedPaired){
msgBox.setText("Paired successfully with" + address.toString());
}
else {
msgBox.setText("Pairing failed with " + address.toString());
}
if(service.isValid()){
if(status == QBluetoothLocalDevice::AuthorizedPaired){
ui->remoteDevices->item(row, 3)->setCheckState(Qt::Checked);
ui->remoteDevices->item(row, 4)->setCheckState(Qt::Checked);
}
else if(status == QBluetoothLocalDevice::Paired){
ui->remoteDevices->item(row, 3)->setCheckState(Qt::Checked);
ui->remoteDevices->item(row, 4)->setCheckState(Qt::Unchecked);
}
else {
ui->remoteDevices->item(row, 3)->setCheckState(Qt::Unchecked);
ui->remoteDevices->item(row, 4)->setCheckState(Qt::Unchecked);
}
}
msgBox.exec();
ui->remoteDevices->blockSignals(false);
}
示例7: sizeof
/*!
* Process all incoming HCI events. Function cannot process anything else but events.
*/
void HciManager::_q_readNotify()
{
unsigned char buffer[HCI_MAX_EVENT_SIZE];
int size;
size = ::read(hciSocket, buffer, sizeof(buffer));
if (size < 0) {
if (errno != EAGAIN && errno != EINTR)
qCWarning(QT_BT_BLUEZ) << "Failed reading HCI events:" << qt_error_string(errno);
return;
}
const unsigned char *data = buffer;
// Not interested in anything but valid HCI events
if ((size < HCI_EVENT_HDR_SIZE + 1) || buffer[0] != HCI_EVENT_PKT)
return;
hci_event_hdr *header = (hci_event_hdr *)(&buffer[1]);
size = size - HCI_EVENT_HDR_SIZE - 1;
data = data + HCI_EVENT_HDR_SIZE + 1;
if (header->plen != size) {
qCWarning(QT_BT_BLUEZ) << "Invalid HCI event packet size";
return;
}
qCDebug(QT_BT_BLUEZ) << "HCI event triggered, type:" << hex << header->evt;
switch (header->evt) {
case EVT_ENCRYPT_CHANGE:
{
const evt_encrypt_change *event = (evt_encrypt_change *) data;
qCDebug(QT_BT_BLUEZ) << "HCI Encrypt change, status:"
<< (event->status == 0 ? "Success" : "Failed")
<< "handle:" << hex << event->handle
<< "encrypt:" << event->encrypt;
QBluetoothAddress remoteDevice = addressForConnectionHandle(event->handle);
if (!remoteDevice.isNull())
emit encryptionChangedEvent(remoteDevice, event->status == 0);
}
break;
default:
break;
}
}
示例8: requestPairing
void QBluetoothLocalDevicePrivate::requestPairing(const QBluetoothAddress &address,
QBluetoothLocalDevice::Pairing pairing)
{
if (pairing == QBluetoothLocalDevice::Paired
|| pairing == QBluetoothLocalDevice::AuthorizedPaired) {
ppsSendControlMessage("initiate_pairing",
QStringLiteral("{\"addr\":\"%1\"}").arg(address.toString()),
this);
} else {
ppsSendControlMessage("remove_device",
QStringLiteral("{\"addr\":\"%1\"}").arg(address.toString()),
this);
}
}
示例9: pairingStatus
QBluetoothLocalDevice::Pairing QBluetoothLocalDevice::pairingStatus(const QBluetoothAddress &address) const
{
QVariant status = ppsRemoteDeviceStatus(address.toString().toLocal8Bit(), "paired");
if (status.toBool())
return Paired;
return Unpaired;
}
示例10: QObject
HciManager::HciManager(const QBluetoothAddress& deviceAdapter, QObject *parent) :
QObject(parent), hciSocket(-1), hciDev(-1), notifier(0)
{
hciSocket = ::socket(AF_BLUETOOTH, SOCK_RAW | SOCK_CLOEXEC, BTPROTO_HCI);
if (hciSocket < 0) {
qCWarning(QT_BT_BLUEZ) << "Cannot open HCI socket";
return; //TODO error report
}
hciDev = hciForAddress(deviceAdapter);
if (hciDev < 0) {
qCWarning(QT_BT_BLUEZ) << "Cannot find hci dev for" << deviceAdapter.toString();
close(hciSocket);
hciSocket = -1;
return;
}
struct sockaddr_hci addr;
memset(&addr, 0, sizeof(struct sockaddr_hci));
addr.hci_dev = hciDev;
addr.hci_family = AF_BLUETOOTH;
if (::bind(hciSocket, (struct sockaddr *) (&addr), sizeof(addr)) < 0) {
qCWarning(QT_BT_BLUEZ) << "HCI bind failed:" << strerror(errno);
close(hciSocket);
hciSocket = hciDev = -1;
return;
}
notifier = new QSocketNotifier(hciSocket, QSocketNotifier::Read, this);
connect(notifier, SIGNAL(activated(int)), this, SLOT(_q_readNotify()));
}
示例11: connectToService
void QBluetoothSocketPrivate::connectToService(const QBluetoothAddress &address,
const QBluetoothUuid &uuid,
QIODevice::OpenMode openMode)
{
Q_Q(QBluetoothSocket);
Q_UNUSED(openMode);
qCDebug(QT_BT_QNX) << "Connecting socket";
m_peerAddress = address;
#ifdef QT_QNX_BT_BLUETOOTH
QByteArray b_uuid = uuid.toByteArray();
b_uuid = b_uuid.mid(1, b_uuid.length() - 2);
socket = bt_spp_open(address.toString().toUtf8().data(), b_uuid.data(), false);
if (socket == -1) {
qCWarning(QT_BT_QNX) << "Could not connect to" << address.toString() << b_uuid << qt_error_string(errno);
errorString = qt_error_string(errno);
q->setSocketError(QBluetoothSocket::NetworkError);
return;
}
delete readNotifier;
delete connectWriteNotifier;
readNotifier = new QSocketNotifier(socket, QSocketNotifier::Read);
QObject::connect(readNotifier, SIGNAL(activated(int)), this, SLOT(_q_readNotify()));
connectWriteNotifier = new QSocketNotifier(socket, QSocketNotifier::Write, q);
QObject::connect(connectWriteNotifier, SIGNAL(activated(int)), this, SLOT(_q_writeNotify()));
connecting = true;
q->setOpenMode(openMode);
#else
m_uuid = uuid;
if (isServerSocket)
return;
if (state != QBluetoothSocket::UnconnectedState) {
qCDebug(QT_BT_QNX) << "Socket already connected";
return;
}
ppsSendControlMessage("connect_service", 0x1101, uuid, address.toString(), QString(), this, BT_SPP_CLIENT_SUBTYPE);
ppsRegisterForEvent(QStringLiteral("service_connected"),this);
ppsRegisterForEvent(QStringLiteral("get_mount_point_path"),this);
#endif
q->setSocketState(QBluetoothSocket::ConnectingState);
}
示例12: connect
void RfcommClient::connectSocket()
{
QBluetoothAddress addr = QBluetoothRemoteDeviceDialog::getRemoteDevice(this);
if (!addr.isValid()) {
return;
}
connectAction->setVisible(false);
waiter->setText(tr("Connecting..."));
waiter->setCancelEnabled(true);
connect(socket, SIGNAL(error(QBluetoothAbstractSocket::SocketError)),
this, SLOT(connectFailed()));
socket->connect(QBluetoothAddress::any, addr, 14);
waiter->show();
}
示例13: addressToName
QString RemoteSelector::addressToName(const QBluetoothAddress &address) {
QMapIterator<int, QBluetoothServiceInfo> i(discoveredServices_);
while (i.hasNext()){
i.next();
if (i.value().device().address() == address)
return i.value().device().name();
}
return address.toString();
}
示例14: remoteAddress
/*!
Sets the remote device address to \a address. If \a address is default constructed,
services will be discovered on all contactable Bluetooth devices. A new remote
address can only be set while there is no service discovery in progress; otherwise
this function returns false.
On some platforms such as Blackberry the service discovery might lead to pairing requests.
Therefore it is not recommended to do service discoveries on all devices.
\sa remoteAddress()
*/
bool QBluetoothServiceDiscoveryAgent::setRemoteAddress(const QBluetoothAddress &address)
{
if (isActive())
return false;
if (!address.isNull())
d_ptr->singleDevice = true;
d_ptr->deviceAddress = address;
return true;
}
示例15: findAdapterForAddress
/*!
Finds the path for the local adapter with \a wantedAddress or an empty string
if no local adapter with the given address can be found.
If \a wantedAddress is \c null it returns the first/default adapter or an empty
string if none is available.
If \a ok is false the lookup was aborted due to a dbus error and this function
returns an empty string.
*/
QString findAdapterForAddress(const QBluetoothAddress &wantedAddress, bool *ok = 0)
{
OrgFreedesktopDBusObjectManagerInterface manager(QStringLiteral("org.bluez"),
QStringLiteral("/"),
QDBusConnection::systemBus());
QDBusPendingReply<ManagedObjectList> reply = manager.GetManagedObjects();
reply.waitForFinished();
if (reply.isError()) {
if (ok)
*ok = false;
return QString();
}
typedef QPair<QString, QBluetoothAddress> AddressForPathType;
QList<AddressForPathType> localAdapters;
ManagedObjectList managedObjectList = reply.value();
for (ManagedObjectList::const_iterator it = managedObjectList.constBegin(); it != managedObjectList.constEnd(); ++it) {
const QDBusObjectPath &path = it.key();
const InterfaceList &ifaceList = it.value();
for (InterfaceList::const_iterator jt = ifaceList.constBegin(); jt != ifaceList.constEnd(); ++jt) {
const QString &iface = jt.key();
if (iface == QStringLiteral("org.bluez.Adapter1")) {
AddressForPathType pair;
pair.first = path.path();
pair.second = QBluetoothAddress(ifaceList.value(iface).value(
QStringLiteral("Address")).toString());
if (!pair.second.isNull())
localAdapters.append(pair);
break;
}
}
}
if (ok)
*ok = true;
if (localAdapters.isEmpty())
return QString(); // -> no local adapter found
if (wantedAddress.isNull())
return localAdapters.front().first; // -> return first found adapter
foreach (const AddressForPathType &pair, localAdapters) {
if (pair.second == wantedAddress)
return pair.first; // -> found local adapter with wanted address
}
return QString(); // nothing matching found
}