[devel] Как eject'ить CD с помощью dbus
Андрей Черепанов
cas на altlinux.ru
Пт Окт 29 17:20:24 UTC 2010
Возникла задача - грамотно извлечь CD по кнопке на клавиатуре. Можно было
повешать eject, но при этом не будет сообщения в KDE4 о невозможности
извлечения (к примеру). Хочется сделать через dbus-send, но qdbus(viewer) не
показывает ничего про Solid, хотя у Solid в коде прописывается интерфейс
Q_DECLARE_INTERFACE(Solid::Ifaces::OpticalDrive,
"org.kde.Solid.Ifaces.OpticalDrive/0.1")
и вызов:
bool Solid::OpticalDrive::eject()
{
Q_D(OpticalDrive);
return_SOLID_CALL(Ifaces::OpticalDrive *, d->backendObject(), false,
eject());
}
а dbus-monitor при извлечении по кнопке в нотификаторе выдаёт:
method call sender=:1.121 -> dest=org.freedesktop.DBus serial=153
path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch
string
"type='signal',path='/org/kde/solid/HalDevice_/org/freedesktop/Hal/devices/storage_model_DVD_RAM_UJ_861H',interface='org.kde.solid.HalDevice',member='ejectRequested'"
P.S. Мопед не мой, я только объяву разместил. :)
--
Андрей Черепанов
ALT Linux
cas на altlinux.ru
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : отсутствует
Тип : application/pgp-signature
Размер : 198 байтов
Описание: This is a digitally signed message part.
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20101029/e3fa17bb/attachment-0001.bin>
Подробная информация о списке рассылки Devel