[sisyphus] Re: qt (KDe, amaroK) vs automount (subfs?) /media/cd ? [JT]
Alexey Morozov
=?iso-8859-1?q?alex-altlinux_=CE=C1_idisys=2Eiae=2Ensk=2Esu?=
Пт Мар 25 10:54:24 MSK 2005
On Thu, Mar 24, 2005 at 09:22:45PM +0300, Vitaly Lipatov wrote:
> > Вы поверите, что HAL - это ни разу не про автомаунт в том его
> > понимании, которое используется в submount/supermount?
> В данный момент мне всё равно что такое HAL, безразличны его
> понятия и понимания.
Ну, тогда оставайтесь, пожалуйста, на местах до полной остановки
самолета. К выходу вас пригласят.
> Результат нашей работы должен быть прост и очевиден:
> вставил диск/дискету/флэшку/фотоаппарат, перешёл в каталог
> (cd/konqueror/nautilus) и увидел файлы.
Так оно и есть, причем, уже сейчас.
> > теперь - тем что в каждое приложение, даже на винде, нужно
> > будет встроить код, монтирующий каталог перед открытием
> > данного каталога.
> Не совсем так, но похоже - иначе к чему разговоры о встраивании
> поддержки HAL в KDE/GNOME/WindowMaker при обсуждении
> монтирования.
Очень просто. Я, что характерно, уже писал об этом. Повторюсь.
HAL предполагает, очевидным образом, взаимодействие с пользователем,
Взаимодействие это может быть разным, от нотификаций о появившемся
устройстве и точке/точках его монтирования до запуска CD-плеера
для вставленных звуковых дисков.
Взаимодействие это, желательно, должно выглядеть "естественно" для
выбранной пользователем рабочей среды, то есть, во-первых, настраиваться
единообразно с остальной средой, а, во-вторых, использовать библиотеки
и методологии (различного рода треи, механизмы нотификации пользователя
итп), принятые в данной среде.
Основой для реализации возложенных на HAL задач послужил механизм обмена
сообщениями D-BUS. Для библиотеки dbus в данный момент, существует,
во-первых, низкоуровневый API, во-вторых, привязки к различным языкам и
средам программирования: python, mono, gcj (2Pavel Mironchyk: ПЕРЕСОБЕРИТЕ,
пожалуйста, mono!), - и, в-третьих, "высокоуровневый API": интеграция с glib
и qt mainloop'ами. Для других widget set'ов и технологий программирования,
также использующих парадигму циклического диспетчера событий такой
интеграции в данный момент нет, хотя, разумеется, она возможна.
Танцевать можно, по словам Хавока, от привязки к glib.
Итак, схематично новый механизм работает следующим образом:
-- --
| Клиент HAL, осуществляющий нотификацию пользователю, |
| монтирование и другие действия по получении события |
| от демона HAL. Желательно с точки зрения пользователя, |
| чтобы этот клиент вписывался в среду данного пользователя |
-- --
/\
||
| Транспорт (системная шина D-BUS) |
||
\/
-- --
| Демон HAL, формирующий списки устройств и их свойств на |
| данном компьютере и события по изменению этих списков |
---------------------- |
/\ | |
|| | Наблюдение за устройствами (поллинг), |
\/ | не управляющимися через Hotplug |
-- -- | (CD-диски, кард-ридеры, всякие хитрые |
| Hotplug | | PCMCIA-устройства итп) |
-- -- -- --
Соответственно, в данной схеме "привязанным к декстопу" является
только клиент HAL. Причем, привязка эта, во-первых, необязательная
(никто, в принципе, не мешает использовать, тот же kvm из-под
WindowMaker, разве что, неудобно будет). Во-вторых, сам клиент
строго ограничен по функциональности, и выполняется, скорее всего,
в виде апплета, при этом остальная среда о HAL может слыхом не слыхивать.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20050325/5c9ad541/attachment-0003.bin>
Подробная информация о списке рассылки Sisyphus