View Single Post
Posts: 61 | Thanked: 36 times | Joined on Feb 2006 @ Harpenden
#17
OK, here is some code I just got running on my N900. It connected a to a bluetooth rs232 adapter, created a device /dev/rfcomm0 and then disconnected it. Hope it is of some help.

Code:
    QString address = "00:12:6F:03:BC:63";
    QString service = "spp";

    QDBusConnection bus = QDBusConnection::systemBus();
    QDBusInterface manager_iface("org.bluez", "/","org.bluez.Manager", bus);

    QDBusReply<QDBusObjectPath > devices = manager_iface.call("DefaultAdapter");

    if (devices.isValid())
    {
        QDBusObjectPath defaultAdapter = devices.value();
        QString defaultAdapterPath = defaultAdapter.path();
        qDebug() << defaultAdapterPath;

        QDBusInterface adapter_iface("org.bluez",defaultAdapterPath,"org.bluez.Adapter",bus);
        QDBusReply<QDBusObjectPath> path = adapter_iface.call("FindDevice",address);

        if(path.isValid())
        {
            QDBusInterface serial_iface("org.bluez",defaultAdapterPath,"org.bluez.Serial",bus);

            QDBusMessage node = serial_iface.call("Connect",service);
            qDebug() << node;
            QVariant dev = node.arguments().at(0);
            qDebug() << dev;
            QDBusMessage result = serial_iface.call("Disconnect",dev);
            qDebug() << result;
        }
        else
        {
            qDebug() << path.error();
        }
    }
    else
    {
        qDebug() << devices.error();
    }
 

The Following 2 Users Say Thank You to scudderfish For This Useful Post: