Вот кстати, ссылка на текущую версию : http://necromant.ath.cx/wp/?page_id=70
Ну и так как в новостях не так давно заговорили о том, что hal выкидывают на свалку истории задумался: чего теперь надо вместо него использовать для этой цели. Пока покурил немного документации по девайскиту, но нужного там не нашел.
До этого реализация была примерно такая (питон)
Подрубаемся к сигналам устройство добавлено/удалено
Код: Выделить всё
self.__hm = self.__bus.get_object('org.freedesktop.Hal','/org/freedesktop/Hal/Manager')
self.__hm.connect_to_signal('DeviceAdded', self.deviceAdded)
self.__hm.connect_to_signal('DeviceRemoved', self.deviceRemoved)Далее по сигнал получаем устройство.
Код: Выделить всё
def deviceAdded(self, devID):
device = dbus.Interface(self.__bus.get_object("org.freedesktop.Hal", devID),
"org.freedesktop.Hal.Device")Ну а дальше, находим вольюм, разузнаем о нем все, монтируем и т.п.
Код: Выделить всё
if device.PropertyExists('info.capabilities'):
isCD = device.QueryCapability('volume.disc')
#if "volume"
if device.QueryCapability('volume') and not isCD:
...Как оно теперь должно выглядеть, куда по дбасу стучаться, и где копать доки по теме?. Хотелось бы по подробнее почитать как теперь будет реализовано монтирование сменных носителей без hal'a.