Consolida documentação e plugins de referência ao núcleo atual.

Alinha mpChat e screenCast a ConnectionManager/GuiManager, adiciona docs em docs/ e README de plugins; remove artefatos de build do índice.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Gabriel Felipe Souza SantosandCursor committed 2026-10-13 21:20:20 -03:00
1 parent d92708a6e9
commit f02acaf131
61 files changed
+1408 -758

No files matched your search

@@ -1,8 +1,8 @@
package GUI;
import net.MpChatMessage;
import pitiupi.control.ConnectionManager;
import pitiupi.net.tcp.TcpConnection;
import pitiupi.plugin.Pitiupi;
import javax.swing.*;
import java.awt.*;
@@ -12,17 +12,17 @@ import java.util.logging.Logger;
public class PrivateChatWindow extends JFrame {
private final Pitiupi pitiupi;
private final ConnectionManager connectionManager;
private final TcpConnection connection;
private final JTextArea receivedMessagesArea;
private final JTextField messageField;
public PrivateChatWindow(
Pitiupi pitiupi,
ConnectionManager connectionManager,
TcpConnection connection
) {
this.pitiupi = pitiupi;
this.connectionManager = connectionManager;
this.connection = connection;
setTitle("Chat privado");
@@ -81,7 +81,7 @@ public class PrivateChatWindow extends JFrame {
private void sendTCP() {
try {
String nome = pitiupi.getUserName();
String nome = connectionManager.getUserName();
MpChatMessage message = new MpChatMessage(
nome,
+7 -8
View File
@@ -2,7 +2,6 @@ package GUI;
import net.MpChatMessage;
import pitiupi.control.ConnectionManager;
import pitiupi.plugin.Pitiupi;
import javax.swing.*;
import javax.swing.text.BadLocationException;
@@ -15,14 +14,14 @@ import java.util.logging.Level;
import java.util.logging.Logger;
public class PublicChatWindow extends JFrame {
private final Pitiupi pitiupi;
private final ConnectionManager connectionManager;
private JTextPane receivedMessagesArea;
private JTextField messageField;
private JTextField ipField;
public PublicChatWindow(Pitiupi pitiupi) {
this.pitiupi = pitiupi;
public PublicChatWindow(ConnectionManager connectionManager) {
this.connectionManager = connectionManager;
initComponents();
}
@@ -120,7 +119,7 @@ public class PublicChatWindow extends JFrame {
private MpChatMessage createMessage(String tipoMensagem) {
try {
String nome = pitiupi.getUserName();
String nome = connectionManager.getUserName();
String ip = InetAddress.getLocalHost().getHostAddress();
String message = messageField.getText();
@@ -177,7 +176,7 @@ public class PublicChatWindow extends JFrame {
InetAddress ip = InetAddress.getByName(ipField.getText());
pitiupi.sendTcp(msg, ip);
connectionManager.sendTcp(msg, ip);
receiveMessage(msg);
} catch (Exception ex) {
@@ -193,7 +192,7 @@ public class PublicChatWindow extends JFrame {
InetAddress ip = InetAddress.getByName(ipField.getText());
pitiupi.sendUdpUnicast(msg, ip);
connectionManager.sendUdpUnicast(msg, ip);
receiveMessage(msg);
} catch (Exception ex) {
@@ -207,7 +206,7 @@ public class PublicChatWindow extends JFrame {
try {
MpChatMessage msg = createMessage("UDP Multicast");
pitiupi.sendUdpMulticast(msg);
connectionManager.sendUdpMulticast(msg);
} catch (Exception ex) {
Logger.getLogger(
@@ -1,73 +0,0 @@
package control;
import GUI.ChatMenu;
import GUI.ChatWindow;
import GUI.PrivateChatWindow;
import GUI.PublicChatWindow;
import net.MpChatMessage;
import pitiupi.control.ConnectionManager;
import pitiupi.control.PeerListener;
import pitiupi.models.User;
import pitiupi.net.tcp.TcpConnection;
import javax.swing.*;
import java.net.InetAddress;
import java.util.HashMap;
import java.util.List;
public class ChatController implements PeerListener {
ConnectionManager connectionManager;
ChatMenu chatMenu;
PublicChatWindow publicChatWindow;
private final HashMap<TcpConnection, ChatWindow> chatWindows;
public ChatController(ConnectionManager connectionManager, ChatMenu chatMenu) {
this.connectionManager = connectionManager;
publicChatWindow = new PublicChatWindow(connectionManager);
chatMenus = new HashMap<>();
chatWindows = new HashMap<>();
this.chatMenu = chatMenu;
this.chatMenu.newMenuItem(new JMenuItem("Show global chat"), publicChatWindow);
}
public void addChatWindow(TcpConnection tcpConnection) {
if (chatWindows.containsKey(tcpConnection)) return;
PrivateChatWindow newChat = new PrivateChatWindow(connectionManager, tcpConnection);
chatWindows.put(tcpConnection, newChat);
JMenuItem newMenuItem = new JMenuItem();
chatMenus.put(tcpConnection, newMenuItem);
newMenuItem.setText(tcpConnection.getAddress().toString());
chatMenu.newMenuItem(newMenuItem, newChat);
}
public void removeChatWindow(TcpConnection tcpConnection) {
ChatWindow removedWindow = chatWindows.remove(tcpConnection);
JMenuItem removedMenu = chatMenus.remove(tcpConnection);
chatMenu.removeMenuItem(removedMenu);
removedWindow.setVisible(false);
removedWindow.dispose();
}
public void receivePublic(MpChatMessage message) {
publicChatWindow.receiveMessage(message);
}
public void receivePrivate(TcpConnection tcpConnection, MpChatMessage message) {
chatWindows.get(tcpConnection).receiveMessage(message);
}
public void openChatWindow(InetAddress address) {
}
@Override
public void onPeersChanged(List<User> list) {
}
}
@@ -2,9 +2,9 @@ package control;
import GUI.PrivateChatWindow;
import net.MpChatMessage;
import pitiupi.control.ConnectionManager;
import pitiupi.models.User;
import pitiupi.net.tcp.TcpConnection;
import pitiupi.plugin.Pitiupi;
import plugin.MultiProtocolChat;
import java.util.HashMap;
@@ -14,7 +14,7 @@ import java.util.Set;
public class PrivateChatController {
private final Pitiupi pitiupi;
private final ConnectionManager connectionManager;
private final MultiProtocolChat multiProtocolChat;
/*
@@ -29,16 +29,20 @@ public class PrivateChatController {
private final Set<String> pendingConnections;
public PrivateChatController(
Pitiupi pitiupi,
ConnectionManager connectionManager,
MultiProtocolChat multiProtocolChat
) {
this.pitiupi = pitiupi;
this.connectionManager = connectionManager;
this.multiProtocolChat = multiProtocolChat;
this.windows = new HashMap<>();
this.pendingConnections = new HashSet<>();
}
private static String addressKey(TcpConnection connection) {
return connection.getAddress().getHostAddress();
}
public void openChat(User user) {
String address = user.getAddress().getHostAddress();
@@ -70,7 +74,7 @@ public class PrivateChatController {
}
public void receiveMessage(TcpConnection connection, MpChatMessage message) {
String address = connection.getAddress().toString();
String address = addressKey(connection);
PrivateChatWindow window = windows.get(address);
@@ -85,12 +89,12 @@ public class PrivateChatController {
* Deve ser chamado quando uma nova conexão privada chegar.
*/
public void connectionReceived(TcpConnection connection) {
String address = connection.getAddress().toString();
String address = addressKey(connection);
pendingConnections.remove(address);
PrivateChatWindow window = new PrivateChatWindow(
pitiupi,
connectionManager,
connection
);
@@ -105,7 +109,7 @@ public class PrivateChatController {
* Fecha a janela e remove o relacionamento.
*/
public void closeChat(TcpConnection connection) {
String address = connection.getAddress().toString();
String address = addressKey(connection);
PrivateChatWindow window = windows.remove(address);
@@ -113,4 +117,4 @@ public class PrivateChatController {
window.dispose();
}
}
}
}
@@ -1,16 +1,16 @@
package plugin;
import GUI.MulticastMpChatMenu;
import GUI.PrivateChatWindow;
import GUI.PublicChatWindow;
import GUI.UnicastMpChatMenu;
import control.PrivateChatController;
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 pitiupi.net.tcp.TcpConnection;
import javax.swing.*;
import java.io.ByteArrayInputStream;
@@ -20,7 +20,7 @@ import java.net.InetAddress;
import java.util.List;
public class MultiProtocolChat extends Plugin {
Pitiupi pitiupi;
private ConnectionManager connectionManager;
PrivateChatController privateChatController;
PublicChatWindow publicChatWindow;
@@ -46,18 +46,18 @@ public class MultiProtocolChat extends Plugin {
}
@Override
public void createPlugin(Pitiupi pitiupi) {
this.pitiupi = pitiupi;
public void createPlugin(ConnectionManager connectionManager, GuiManager guiManager) {
this.connectionManager = connectionManager;
privateChatController = new PrivateChatController(pitiupi, this);
privateChatController = new PrivateChatController(connectionManager, this);
publicChatWindow = new PublicChatWindow(pitiupi);
publicChatWindow = new PublicChatWindow(connectionManager);
MulticastMpChatMenu multicastMpChatMenu = new MulticastMpChatMenu(publicChatWindow);
UnicastMpChatMenu unicastMpChatMenu = new UnicastMpChatMenu(privateChatController);
pitiupi.createMenu(MenuCategory.Social, multicastMpChatMenu);
pitiupi.createMenu(MenuCategory.Social, unicastMpChatMenu);
guiManager.createMenu(MenuCategory.Social, multicastMpChatMenu);
guiManager.createMenu(MenuCategory.Social, unicastMpChatMenu);
}
@Override
@@ -102,7 +102,11 @@ public class MultiProtocolChat extends Plugin {
public void openConnection(String ip) {
try {
pitiupi.connectTcp(InetAddress.getByName(ip), getIdentifier(), getIdentifier());
connectionManager.connectPluginTcp(
InetAddress.getByName(ip),
getIdentifier(),
getIdentifier()
);
}
catch (Exception e) {
System.out.println("Error opening connection: " + e.getMessage());