[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Aplicação reconhecer pendrive



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


Reply to: