Может ли linux сигнализировать мою программу Qt при подключении определенного USB-устройства? - PullRequest
1 голос
/ 22 декабря 2011

Я хочу, чтобы linux информировал мою программу Qt сигналом, когда подключено определенное USB-устройство.Запоминающие устройства, такие как флэш-диск или жесткий диск.Как я могу это сделать?Каковы ваши предложения?

ОБНОВЛЕНИЕ:

Я обнаружил, что QtDbus может предоставить необходимую мне функциональность, но я не знаю, как именно.Кто-нибудь может дать информацию о получении уведомления устройства USB с помощью QtDbus?

Я читал этот урок:
http://dbus.freedesktop.org/doc/dbus-tutorial.html

В этом уроке говорится:
D-Бус рассчитан на два конкретных случая:

  • Связь между настольными приложениями в одном сеансе рабочего стола;разрешить интеграцию сеанса рабочего стола в целом и решить проблемы жизненного цикла процесса (когда компоненты рабочего стола запускаются и останавливаются).
  • Связь между сеансом рабочего стола и операционной системой, где находится операционная системаобычно включает ядро ​​и любые системные демоны или процессы.

Я планирую использовать эту возможность, которую я прошу о помощи, в неграфической системе Linux.Точнее, на Beagleboard-XM с образом консоли Angstrom Linux с QWS.

В этих условиях QtDbus является правильным выбором?

Ответы [ 2 ]

1 голос
/ 04 января 2012

Возможно, вы захотите взглянуть с помощью qdbusviewer из qt4-dev-tools, какой интерфейс dbus есть в вашей системе для уведомления устройства (будь то HAL или udev). Чем относительно просто сгенерировать реализацию c ++ с qdbusxml2cpp . Вам просто нужно будет подключиться к любому сигналу dbus, подаваемому вашей системой для уведомления устройства. Вот краткое руководство для qt и dbus Руководство по QtDbus .

1 голос
/ 22 декабря 2011

Не пробовал реализацию DBUS в Qt, но общие сведения о том, как получить уведомление USB, содержатся в этом руководстве

Имена функций QtDBus, вероятно, довольно легко отображаются на них

...