Arquivos faltando no commit anterior

This commit is contained in:
GustavoHMDS committed 2026-10-07 17:13:03 -03:00
1 parent 88b75ad75f
commit 7a699cd280
9 files changed
+395 -60

No files matched your search

@@ -1,24 +1,28 @@
package plugin;
import GUI.ChatMenu;
import control.ChatController;
import GUI.MulticastMpChatMenu;
import GUI.PrivateChatWindow;
import GUI.PublicChatWindow;
import GUI.UnicastMpChatMenu;
import net.MpChatMessage;
import pitiupi.control.ConnectionManager;
import pitiupi.control.GuiManager;
import pitiupi.models.Menus.MenuCategory;
import pitiupi.models.Messages.Message;
import pitiupi.net.tcp.TcpConnection;
import pitiupi.models.Plugin;
import pitiupi.plugin.Pitiupi;
import javax.swing.*;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.net.InetAddress;
import java.util.List;
public class MultiProtocolChat extends Plugin {
ChatController chatController;
ConnectionManager connectionManager;
GuiManager guiManager;
Pitiupi pitiupi;
PublicChatWindow publicChatWindow;
PrivateChatWindow privateChatWindow;
@Override
public String getName() {
@@ -41,30 +45,36 @@ public class MultiProtocolChat extends Plugin {
}
@Override
public void createPlugin(ConnectionManager connectionManager, GuiManager guiManager) {
this.connectionManager = connectionManager;
this.guiManager = guiManager;
public void createPlugin(Pitiupi pitiupi) {
this.pitiupi = pitiupi;
ChatMenu chatMenu = new ChatMenu(this);
chatController = new ChatController(connectionManager, chatMenu);
guiManager.addMulticastMenu(chatMenu);
publicChatWindow = new PublicChatWindow(pitiupi);
privateChatWindow = new PrivateChatWindow(pitiupi);
MulticastMpChatMenu multicastMpChatMenu = new MulticastMpChatMenu(publicChatWindow);
UnicastMpChatMenu unicastMpChatMenu = new UnicastMpChatMenu(this);
pitiupi.createMenu(MenuCategory.Social, multicastMpChatMenu);
pitiupi.createMenu(MenuCategory.Social, unicastMpChatMenu);
}
@Override
public Message getMessage() {
return new MpChatMessage();
public List<Class<? extends Message>> getMessages() {
return List.of(MpChatMessage.class);
}
@Override
public void receiveMessage(byte[] message) {
MpChatMessage mpChatMessage = parseMessage(message);
chatController.receivePublic(mpChatMessage);
public void receiveMessage(Message message) {
if (message instanceof MpChatMessage mpChatMessage) {
publicChatWindow.receiveMessage(mpChatMessage);
}
}
@Override
public boolean receivePrivateConnection(TcpConnection connection) {
SwingUtilities.invokeLater(() -> {
chatController.addChatWindow(connection);
privateChatWindow.addConnection(connection);
});
return true;
}
@@ -72,25 +82,23 @@ public class MultiProtocolChat extends Plugin {
@Override
public boolean receiveBytes(TcpConnection connection, byte[] bytes) {
MpChatMessage mpChatMessage = parseMessage(bytes);
chatController.receivePrivate(connection, mpChatMessage);
privateChatWindow.receiveMessage(connection, mpChatMessage);
return true;
}
@Override
public boolean onSocketClosed(TcpConnection connection) {
chatController.removeChatWindow(connection);
privateChatWindow.removeConnection(connection);
return true;
}
public boolean openConnection(String ip) {
public void openConnection(String ip) {
try {
connectionManager.connectPluginTcp(InetAddress.getByName(ip), getIdentifier(), getIdentifier());
return true;
pitiupi.connectTcp(InetAddress.getByName(ip), getIdentifier(), getIdentifier());
}
catch (Exception e) {
System.out.println("Error opening connection: " + e.getMessage());
}
return false;
}
private MpChatMessage parseMessage(byte[] bytes) {