Arquivos faltando no commit anterior
This commit is contained in:
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) {
|
||||
|
||||
Reference in new issue
Block a user