Название: QFileSystemWatcher не реагирует на изменения в файле Отправлено: QCasper от Декабря 26, 2008, 10:52 Сабж проявляется на файле /proc/bus/usb/devices. Задача заключается в отслеживании подключения любого usb устройства. Этот файл совершенно точно изменяется при подключении упомянутых устройств. Проблема еще в том, что класс не располагает никакими средствами отладки (вроде lastError), и в консоль тоже никаких сообщений об ошибках не поступает. Поэтому понять в чем дело, достаточно тяжко. Может быть кто-нибудь сталкивался, или есть идеи... Ubuntu 8.10, Qt 4.4.3.
Название: Re: QFileSystemWatcher не реагирует на изменения в файле Отправлено: lit-uriy от Декабря 26, 2008, 11:03 а как пользуешь? код приведи.
Название: Re: QFileSystemWatcher не реагирует на изменения в файле Отправлено: QCasper от Декабря 26, 2008, 12:06 Код: #include <QStringList> Название: Re: QFileSystemWatcher не реагирует на изменения в файле Отправлено: BRE от Декабря 26, 2008, 12:34 Так может лучше с Hal'ом "задружить".
Код
Код
Название: Re: QFileSystemWatcher не реагирует на изменения в файле Отправлено: QCasper от Декабря 26, 2008, 13:37 Так может лучше с Hal'ом "задружить". Я бы сказал, не "может", а совершенно точно лучше и правильнее. Просто я не знал как делать через хал. Спасибо. Я бы еще хотел уточнить, если можно, как расшифровать строку "/org/freedesktop/Hal/devices/usb_device_125f_1017_0db6b7e5fda697", а именно её последнюю часть (usb_device_...). То есть какую инфу оттуда можно получить, типа vendor id, product id и прочего? Название: Re: QFileSystemWatcher не реагирует на изменения в файле Отправлено: BRE от Декабря 26, 2008, 13:39 Я бы сказал, не "может", а совершенно точно лучше и правильнее. Просто я не знал как делать через хал. Спасибо. А это нужно делать через интерфейс Hal к этому устройству. Там ты получишь всю нужную (и не нужную) информацию.Я бы еще хотел уточнить, если можно, как расшифровать строку "/org/freedesktop/Hal/devices/usb_device_125f_1017_0db6b7e5fda697", а именно её последнюю часть (usb_device_...). То есть какую инфу оттуда можно получить, типа vendor id, product id и прочего? Запусти qdbusviewer и все увидишь. ;) Название: Re: QFileSystemWatcher не реагирует на изменения в файле Отправлено: BRE от Декабря 26, 2008, 13:44 Подключение к интерфейсу:
Код
Название: Re: QFileSystemWatcher не реагирует на изменения в файле Отправлено: QCasper от Декабря 26, 2008, 14:04 Подключение к интерфейсу: Код
Вот кстати, да, я там во вьювере смотрю эти методы GetProperty и GetPropertyString, но непонятно откуда узнать про параметры, с которыми их нужно вызывать. Вот например "info.category" откуда стал известен? Название: Re: QFileSystemWatcher не реагирует на изменения в файле Отправлено: BRE от Декабря 26, 2008, 14:09 Вот кстати, да, я там во вьювере смотрю эти методы GetProperty и GetPropertyString, но непонятно откуда узнать про параметры, с которыми их нужно вызывать. Вот например "info.category" откуда стал известен? Из документации к Hal.Запусти hal-device. Название: Re: QFileSystemWatcher не реагирует на изменения в файле Отправлено: BRE от Декабря 26, 2008, 14:17 Последняя спецификация.
http://people.freedesktop.org/~david/hal-spec/hal-spec.html (http://people.freedesktop.org/~david/hal-spec/hal-spec.html) Название: Re: QFileSystemWatcher не реагирует на изменения в файле Отправлено: QCasper от Декабря 26, 2008, 14:50 Блин, странная фигня, на все свойства которые я пробую (вставляю прямо из доки), получаю один и тот же ответ:
Цитировать QDBusMessage(type=Error, service="", error name="org.freedesktop.Hal.NoSuchProperty", error message="No property usb_device.vendor on device with id /org/freedesktop/Hal/devices/usb_device_1d6b_1_0000_00_1d_0_3_if0_0", signature="", contents=((unknown)) ) Ну, вместо "usb_device.vendor" каждый раз соответствующее. Название: Re: QFileSystemWatcher не реагирует на изменения в файле Отправлено: QCasper от Декабря 26, 2008, 15:02 Всё, разобрался. Вроде работает, всё что нужно.
BRE, большое спасибо. |