Em 9/12/2009 15:53, Eli Rigobeli escreveu:
Oi hamacker,
atualmente minha aplicação faz algo parecido.
Quando o usuário solicita a interface que necessita do dispositivo
montado, eu verifico se o "node" /dev/sda (só utilizo o sda mesmo) foi
criado com o fopen, se foi criado eu faço o mount.
Eu preciso de outra solução, algo como "signal", quero que o usuário
insira o USB e em seguida apareça a interface listando os arquivos.
Não gostaria de ficar monitorando todo o tempo pela aplicação.
Muito obrigado
--
Eli Rigobeli
Você pode monitorar o arquivo /proc/bus/usb/devices ou o diretório /dev
Ou então utilizar o udev[1] (se não me engano o hal e o dbus também te
dão este controle, porém normalmente estão instalados apenas em
ambientes desktop).
Basta criar uma regra para o dispositivo específico, caso necessário,
para que seja executado um determinado script quando o dispositivo for
identificado[2], neste script você envia uma chamada para sua aplicação,
através de sinais (normalmente se grava o pid da aplicação no diretório
/var/run quando esta é iniciada, quando encerra apaga o arquivo, no
script basta checar se o arquivo existe e pegar o pid), sockets, memória
compartilhada, mensagens entre processos e etc.
[1] http://reactivated.net/writing_udev_rules.html
[2] http://reactivated.net/writing_udev_rules.html#external-run
A[]'s
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]