Народ, кто-нибудь ковырялся с этим делом?
(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&))
);