O WinRest tem alguma API com documentação pública para criar plug-ins?
Implementei um simples plug-in (um pouco às cegas) para gerir o registo de utilização de 2 PCs numa cafetaria, será que isto tem interesse para alguém?
Usei o cliente em FOX do Café Con Leche com algumas modificações e alguns scripts em bash para gerir o resto.
Ou seja, o POS usa Linux, e monto o share samba da root do POS no servidor. No servidor tenho também a correr a aplicação servidor do CCL.
Cada máquina (a correr Linux) para utilização corre o cliente do CCL com possibilidade de começar a sessão na máquina. Modifiquei o cliente do CCL para mostrar os segundos e tirei o mostrador dos gastos em produtos.
Controlo o ambiente com algumas chaves mandatory do gconf para impedir correr comandos, mexer nos paineis, etc. De qualquer forma o tar quando é reposto substitui quaisquer alterações no gconf da sessão terminada.
Quando o utilizador encerra a sessão, o X reinicia, limpo a $HOME (tenho um tar só com o básico) para documentos, cache, etc que o utilizador tenha deixado desaparecerem para o próximo utilizador.
A aplicação que corre no servidor regista cada sessão terminada para um ficheiro, que é tratado por um script bash quando existem registos por tratar (usando o inotifywait). Este script cria no POS um ficheiro por utilização (para simplificar o tratamento no script do WinRest) contendo o nome da máquina, o tempo usado, o custo e a hora a que a sessão terminou.
No POS criei um plug-in que lê estes ficheiros e mostra esta informação, o utilizador do POS escolhe o registo a pagamento (não sei se é possível transportar coisas de um plug-in para pagamento na caixa…), o ficheiro é actualizado com a informação de que esse acesso está pago e surgirá como pago na lista, sendo necessário aceder aos pedidos do WinRest para então processar o pagamento na caixa.
Ao fim do dia ambas as máquinas desligam-se com uma tarefa no cron, o servidor faz backups dos POS e limpa os registos de acessos às máquinas nesse dia.
Com tempo talvez substitua o CCL por algo mais simples. A ideia é mesmo ter um sistema sem muita manutenção integrado o melhor possível com o POS, para eliminar a necessidade de uma máquina dedicada para gerir os acessos e os pagamentos.
Talvez publique os scripts se interessar a alguém.