Russian Qt Forum

Qt => Общие вопросы => Тема начата: noosooth от Май 31, 2007, 01:15



Название: QDBus+hal определить подключение устройства
Отправлено: noosooth от Май 31, 2007, 01:15
Народ, кто-нибудь ковырялся с этим делом?

(Qt 4.2.3, 4.3.0)

Код:

...
iface = new QDBusInterface( "org.freedesktop.Hal",  "/org/freedesktop/Hal/Manager",
          "org.freedesktop.Hal.Manager", QDBusConnection::systemBus(), this);
                             
connect(iface, SIGNAL(DeviceAdded(const QString&)), this, SLOT(device_added(const QString&)));


что-то оно мне в консоль сыпет:
Object::connect: "No such signal org::freedesktop::Hal::Manager::DeviceAdded(QString)"

Методы org.freedesktop.Hal.Manager'а вызываются без проблем.
А вот с сигналами :(  
Я тут что-то глобально недопонимаю?

добавлено спустя 4 часа 18 минут:

 Вопрос снят.
Связывать сигналы D-Bus интерфейсов  со своими слотами похоже надо через:
Код:
bool QDBusConnection::connect ( const QString & service, const QString & path, const QString & interface, const QString & name, QObject * receiver, const char * slot )


В моем случае:
Код:
 ...

QDBusConnection::systemBus().connect(
"org.freedesktop.Hal",
"/org/freedesktop/Hal/Manager",
"org.freedesktop.Hal.Manager",
"DeviceAdded",
this,
SLOT(device_added(const QString&))
);