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:
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,
|
||||
|
||||
@@ -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());
|
||||
|
||||
Reference in new issue
Block a user