From 4d39648ee732c203f0545dbcf230fd2c0f438d9f Mon Sep 17 00:00:00 2001 From: tonyhcj Date: Sat, 3 Oct 2026 16:51:29 -0300 Subject: [PATCH] docs: atualiza README --- README.md | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index e2b66f8..a774468 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,11 @@ # pitiupi -Ferramenta p2p para práticas em rede - -Este repositório tem 3 projetos Java que são independentes: +Este repositório tem 4 projetos Java que são independentes: +######## Sistema: - A ferramenta pitiupi (P2P) +######## Plugins: - Um plugin de Chat +- Um plugin de Chat multiprotocolo (TCP/UDP) - Um plugin de ScreenCast Cada um destes projetos deve ser compilado individualmente. Para isso, use a ferramenta ant no diretório do projeto. @@ -21,9 +22,26 @@ Para criar links simbólicos no Linux, use o comando: ``` cd pitiupi/plugins ln -s ../../pitiupi.chat/dist/*.jar . +ln -s ../../pitiupi.mpChat/dist/*.jar . ln -s ../../pitiupi.screenCast/dist/*.jar . ``` Isso deve resolver! -Para criar um novo plugin: +## Como um plugin conversa com o pitiupi +Um plugin nunca recebe acesso direto às classes internas do núcleo (ConnectionManager, GuiManager). Em vez disso, recebe uma facade, a classe Pitiupi, que expõe só o que um plugin precisa: enviar mensagem (multicast, unicast ou tcp), abrir conexão tcp privada, ler nome de usuário e porta, criar menu. + +```java +public abstract void createPlugin(Pitiupi pitiupi); +``` + +## Para criar um novo plugin + +1. Implemente `pitiupi.models.Plugin`, incluindo `createPlugin(Pitiupi pitiupi)` +2. Registre a classe em `src/META-INF/services/pitiupi.models.Plugin`, com o nome completo da classe numa linha +3. Compile com `ant jar` +4. Linke o `.jar` em `pitiupi/plugins` + +Use `pitiupi.chat` como referência — é o exemplo mais simples e completo. + +Plugins que ainda não foram atualizados para a Pitiupi (como uma versão mais antiga do screenCast) não compilam contra o núcleo atual e precisam de migração antes de serem usados.