From fa696194aadf5ebccb115c6132b0d460c344f270 Mon Sep 17 00:00:00 2001 From: GustavoHMDS Date: Wed, 30 Sep 2026 13:58:35 -0300 Subject: [PATCH] =?UTF-8?q?Plugins=20adaptados=20para=20a=20nova=20vers?= =?UTF-8?q?=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pitiupi.chat/build/built-jar.properties | 6 +- .../pitiupi/chat/GUI/ChatWindow$1.class | Bin 944 -> 944 bytes .../classes/pitiupi/chat/GUI/ChatWindow.class | Bin 5751 -> 5266 bytes .../pitiupi/chat/plugin/ChatPlugin.class | Bin 2195 -> 2363 bytes pitiupi.chat/src/pitiupi.chat.iml | 20 ++++ .../src/pitiupi/chat/GUI/ChatWindow.java | 15 +-- .../src/pitiupi/chat/plugin/ChatPlugin.java | 19 ++-- pitiupi.mpChat/Makefile | 15 +++ .../out/GUI/ChatMenu.class | Bin 4149 -> 4185 bytes .../out/GUI/ChatWindow.class | Bin 3790 -> 3782 bytes .../out/GUI/PrivateChatWindow.class | Bin 2291 -> 2287 bytes .../out/GUI/PublicChatWindow.class | Bin 3601 -> 3600 bytes .../out/GUI/SocketTestMenu.class | Bin .../out/GUI/SocketTestWindow.class | Bin .../META-INF/services/pitiupi.plugin.Plugin | 1 + .../out/control/ChatController.class | Bin 2287 -> 2283 bytes pitiupi.mpChat/out/net/MpChatMessage.class | Bin 0 -> 743 bytes .../out/net/TestChatMessage.class | Bin .../out/net/TestMessage.class | Bin .../out/plugin/MultiProtocolChat.class | Bin 0 -> 4008 bytes .../out/plugin/SocketTest.class | Bin .../out/plugin/TestChat.class | Bin pitiupi.mpChat/pitiupi.mpChat.iml | 20 ++++ .../src/GUI/ChatMenu.java | 13 +-- .../src/GUI/ChatWindow.java | 9 +- .../src/GUI/PrivateChatWindow.java | 5 +- .../src/GUI/PublicChatWindow.java | 9 +- .../META-INF/services/pitiupi.plugin.Plugin | 1 + .../src/control/ChatController.java | 7 +- .../src/net/MpChatMessage.java | 6 +- .../src/plugin/MultiProtocolChat.java | 107 ++++++++++++++++++ pitiupi.screenCast/.idea/workspace.xml | 54 ++++----- pitiupi.screenCast/build/built-jar.properties | 6 +- .../screenCast/GUI/ScreenCastWindow.class | Bin 6026 -> 5897 bytes .../screenCast/plugin/ScreenCastPlugin.class | Bin 2325 -> 2459 bytes pitiupi.screenCast/src/pitiupi.screenCast.iml | 20 ++++ .../screenCast/GUI/ScreenCastWindow.java | 24 ++-- .../screenCast/plugin/ScreenCastPlugin.java | 19 ++-- pitiupi.testSocket/Makefile | 0 .../META-INF/services/pitiupi.plugin.Plugin | 1 - .../META-INF/services/pitiupi.plugin.Plugin | 1 - pitiupi/src/pitiupi/GUI/MainWindow.java | 2 +- 42 files changed, 274 insertions(+), 106 deletions(-) create mode 100644 pitiupi.chat/src/pitiupi.chat.iml create mode 100644 pitiupi.mpChat/Makefile rename {pitiupi.testSocket => pitiupi.mpChat}/out/GUI/ChatMenu.class (68%) rename {pitiupi.testSocket => pitiupi.mpChat}/out/GUI/ChatWindow.class (76%) rename {pitiupi.testSocket => pitiupi.mpChat}/out/GUI/PrivateChatWindow.class (79%) rename {pitiupi.testSocket => pitiupi.mpChat}/out/GUI/PublicChatWindow.class (75%) rename {pitiupi.testSocket => pitiupi.mpChat}/out/GUI/SocketTestMenu.class (100%) rename {pitiupi.testSocket => pitiupi.mpChat}/out/GUI/SocketTestWindow.class (100%) create mode 100644 pitiupi.mpChat/out/META-INF/services/pitiupi.plugin.Plugin rename {pitiupi.testSocket => pitiupi.mpChat}/out/control/ChatController.class (81%) create mode 100644 pitiupi.mpChat/out/net/MpChatMessage.class rename {pitiupi.testSocket => pitiupi.mpChat}/out/net/TestChatMessage.class (100%) rename {pitiupi.testSocket => pitiupi.mpChat}/out/net/TestMessage.class (100%) create mode 100644 pitiupi.mpChat/out/plugin/MultiProtocolChat.class rename {pitiupi.testSocket => pitiupi.mpChat}/out/plugin/SocketTest.class (100%) rename {pitiupi.testSocket => pitiupi.mpChat}/out/plugin/TestChat.class (100%) create mode 100644 pitiupi.mpChat/pitiupi.mpChat.iml rename {pitiupi.testSocket => pitiupi.mpChat}/src/GUI/ChatMenu.java (88%) rename {pitiupi.testSocket => pitiupi.mpChat}/src/GUI/ChatWindow.java (91%) rename {pitiupi.testSocket => pitiupi.mpChat}/src/GUI/PrivateChatWindow.java (89%) rename {pitiupi.testSocket => pitiupi.mpChat}/src/GUI/PublicChatWindow.java (90%) create mode 100644 pitiupi.mpChat/src/META-INF/services/pitiupi.plugin.Plugin rename {pitiupi.testSocket => pitiupi.mpChat}/src/control/ChatController.java (90%) rename pitiupi.testSocket/src/net/TestChatMessage.java => pitiupi.mpChat/src/net/MpChatMessage.java (76%) create mode 100644 pitiupi.mpChat/src/plugin/MultiProtocolChat.java create mode 100644 pitiupi.screenCast/src/pitiupi.screenCast.iml delete mode 100644 pitiupi.testSocket/Makefile delete mode 100644 pitiupi.testSocket/out/META-INF/services/pitiupi.plugin.Plugin delete mode 100644 pitiupi.testSocket/src/META-INF/services/pitiupi.plugin.Plugin diff --git a/pitiupi.chat/build/built-jar.properties b/pitiupi.chat/build/built-jar.properties index ab84885..5d16962 100644 --- a/pitiupi.chat/build/built-jar.properties +++ b/pitiupi.chat/build/built-jar.properties @@ -1,6 +1,6 @@ -#Mon, 17 Aug 2026 14:26:26 -0300 +#Tue, 29 Sep 2026 11:11:06 -0300 -C\:\\Users\\extre\\OneDrive\\Documentos\\Faculdade\\2026_02\\Monitoria\\Pitiupi\\pitiupi.chat= +C\:\\Users\\Gustavo\\OneDrive\\Documentos\\Faculdade\\2026_2\\Monitoria\\pitiupi\\pitiupi.chat= -C\:\\Users\\extre\\OneDrive\\Documentos\\Faculdade\\2026_02\\Monitoria\\Pitiupi\\pitiupi= +C\:\\Users\\Gustavo\\OneDrive\\Documentos\\Faculdade\\2026_2\\Monitoria\\pitiupi\\pitiupi= diff --git a/pitiupi.chat/build/classes/pitiupi/chat/GUI/ChatWindow$1.class b/pitiupi.chat/build/classes/pitiupi/chat/GUI/ChatWindow$1.class index 254570a23ac208393b71cf8cb134d27e000c826d..62a7d32341525c173c411ee7e23ea869886229af 100644 GIT binary patch delta 27 jcmdnMzJYzi4<<&J$v>H5Io%mJ89W#S7`!IOGY0|ye7gsV delta 27 jcmdnMzJYzi4<<(E$v>H5Io%jI8Qd8J7(6G(GY0|ye2oW& diff --git a/pitiupi.chat/build/classes/pitiupi/chat/GUI/ChatWindow.class b/pitiupi.chat/build/classes/pitiupi/chat/GUI/ChatWindow.class index 15ff534cd0f02910b8ea77d1478223f8ab952f94..23f514a7e9eb915dbf667a9189c0dc40f3492be6 100644 GIT binary patch delta 1274 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 literal 2195 zcmZ`(TUQ!q6x|<}3{Z@UiP4x?FNp$1$C#S7l3JB|OT|k`NUgmMFx4?I!-B!+Pw8Wy z^4fGIx>jAQt6hETf9hp_GeCgQm-#Mp&e`Yeea`pSKfnG4U=?Nv9(Wb_!tmpYK+myu zqNxSVJXCkG$9m2dxbny_4SP|*8;xax2q35+6vlf93k;VG+o+ZdHFu=hYN=2?G)y(g z{jReW2o*KMd}f$=>xIC;R^5F4>86@${7ERdDlk<4>BN#2GLY*VLKk{uioLXp{$Ch3 zy}mH6;X0vZoI3RFhEIp+#J?dh*bzUao7E8dF(}b*3XHr(?-VJP3E>uQD;N&reT)e7 z*Q2(UETCxlybMm0=$2&tRIR))$ope?n}}r;j0xOw^e`-S<;>QX%Vq6s(=1i(v|ZM< zVhE$SBlEf|;Ex`xNS{d-QulEcY;l-COgh9VhKs5)c9R8hLzuw5Fs3m>4hfU5H^Q}O z%t^GlJxJXwv#b~CP-5z~BV9_bRJ21~YBv|g1AHJ5DeF1iIMI`oruJK4w2jg>e}{^P z0)6$eHg{G}b9%`(EHj9Y@Ueo0FcNsw(!J@kimeyfv{scpeBDi)weFS;vqoPcgn2B6 z@hO%B0=7j`$-h8ro$f7dSCCZjS(rn!)|5H*lYUUe7g|Lpr06rJ+NuB~o3G}WN{`~30utw6kBSSl}Oe26D0WlkbD(CkL zLe@p7jbVKReMu{?3v_Q8roLS*X7%zDEnDDCWXsBFg^X4<){3Mr$lY?)KC;T36Yev5xx$uo z4-FP>aA@kn$l_~17(A4=s^y%%W=Ji%rP3~yGqOK8*#W-H0(<;=b>4)gQlrc;%Qq;a5KFz)kotgs0qvT_a@hj3Hw+f=}WP`p$9xB}Nu}zu-f8 z_~abRFVWLDZ}R+#;6coilX+)Na+JJ~bj&af@MQ}kh6v)A#1!rB({h@&Gg#t2$yr+E z?Jnk=QZ~r+Bt5>u0gH{W$glAYN3q$3hRwL{+Wx%sY9v`JZzHG+mQ6A xgX>niYoep8(ZO}Q-F2y>>oK0!5}sp@GP}Sf)cp(Ww)?L(`3D+V7o6IP{{bDh>~{bF diff --git a/pitiupi.chat/src/pitiupi.chat.iml b/pitiupi.chat/src/pitiupi.chat.iml new file mode 100644 index 0000000..937cc1c --- /dev/null +++ b/pitiupi.chat/src/pitiupi.chat.iml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/pitiupi.chat/src/pitiupi/chat/GUI/ChatWindow.java b/pitiupi.chat/src/pitiupi/chat/GUI/ChatWindow.java index c963334..b0cf6d8 100644 --- a/pitiupi.chat/src/pitiupi/chat/GUI/ChatWindow.java +++ b/pitiupi.chat/src/pitiupi/chat/GUI/ChatWindow.java @@ -12,6 +12,7 @@ import java.util.logging.Level; import java.util.logging.Logger; import pitiupi.chat.net.ChatMessage; import pitiupi.GUI.MainWindow; +import pitiupi.control.ConnectionManager; import pitiupi.net.Message; /** @@ -29,10 +30,10 @@ public class ChatWindow extends javax.swing.JDialog { private javax.swing.JSplitPane jSplitPane1; private javax.swing.JTextArea jTextArea1; - private final MainWindow mainWindow; + private final ConnectionManager connectionManager; - public ChatWindow(MainWindow mainWindow) { - this.mainWindow = mainWindow; + public ChatWindow(ConnectionManager connectionManager) { + this.connectionManager = connectionManager; initComponents(); } @@ -94,17 +95,13 @@ public class ChatWindow extends javax.swing.JDialog { if (jTextArea1.getText().trim().isEmpty()) { return; } - ChatMessage message = new ChatMessage(mainWindow.getUserName(), jTextArea1.getText()); + ChatMessage message = new ChatMessage(connectionManager.getUserName(), jTextArea1.getText()); this.sendChatMessage(message); jTextArea1.setText(""); } public void sendChatMessage(Message message) { - try { - mainWindow.getSocketUDP().sendMulticast(message.toByteArray()); - } catch (IOException ex) { - Logger.getLogger(MainWindow.class.getName()).log(Level.SEVERE, null, ex); - } + connectionManager.sendUdpMulticast(message); } public void receiveChatMessage(ChatMessage message) { diff --git a/pitiupi.chat/src/pitiupi/chat/plugin/ChatPlugin.java b/pitiupi.chat/src/pitiupi/chat/plugin/ChatPlugin.java index 44f3911..7658b31 100644 --- a/pitiupi.chat/src/pitiupi/chat/plugin/ChatPlugin.java +++ b/pitiupi.chat/src/pitiupi/chat/plugin/ChatPlugin.java @@ -11,6 +11,8 @@ import pitiupi.GUI.MainWindow; import pitiupi.chat.GUI.ChatMenu; import pitiupi.chat.GUI.ChatWindow; import pitiupi.chat.net.ChatMessage; +import pitiupi.control.ConnectionManager; +import pitiupi.control.GuiManager; import pitiupi.net.Message; import pitiupi.plugin.Plugin; @@ -21,16 +23,14 @@ import pitiupi.plugin.Plugin; public class ChatPlugin implements Plugin { private ChatWindow chatWindow; - private MainWindow mainWindow; public ChatPlugin() { } @Override - public void createPlugin(MainWindow mainWindow) { - this.mainWindow = mainWindow; - this.chatWindow = new ChatWindow(mainWindow); - this.mainWindow.addMenu(new ChatMenu(chatWindow)); + public void createPlugin(ConnectionManager connectionManager, GuiManager guiManager) { + this.chatWindow = new ChatWindow(connectionManager); + guiManager.addMenu(new ChatMenu(chatWindow)); } @Override @@ -42,9 +42,7 @@ public class ChatPlugin implements Plugin { if (ois.readObject() instanceof ChatMessage msg) { this.chatWindow.receiveChatMessage(msg); } - } catch (IOException ex) { - System.out.println(ex.toString()); - } catch (ClassNotFoundException ex) { + } catch (IOException | ClassNotFoundException ex) { System.out.println(ex.toString()); } } @@ -64,6 +62,11 @@ public class ChatPlugin implements Plugin { return "0"; } + @Override + public String getIdentifier() { + return "Pitiupi.Chat.Example"; + } + @Override public Message getMessage() { return new ChatMessage(); diff --git a/pitiupi.mpChat/Makefile b/pitiupi.mpChat/Makefile new file mode 100644 index 0000000..e2be90f --- /dev/null +++ b/pitiupi.mpChat/Makefile @@ -0,0 +1,15 @@ +JAR = ../pitiupi/dist/pitiupi.jar +OUT_DIR = /out +META-INF_DIR = src/META-INF +DIST = dist/mpChat.jar + +SOURCES = $(shell find -name "*.java") + +all: + mkdir -p $(OUT_DIR) + javac -cp "$(JAR)" -d "$(OUT_DIR)" $(SOURCES) + cp -r "$(META-INF_DIR)" "$(OUT_DIR)" + jar cf "$(DIST)" -C "$(OUT_DIR)" . + +clean: + rm -rf "$(OUT_DIR)"/* \ No newline at end of file diff --git a/pitiupi.testSocket/out/GUI/ChatMenu.class b/pitiupi.mpChat/out/GUI/ChatMenu.class similarity index 68% rename from pitiupi.testSocket/out/GUI/ChatMenu.class rename to pitiupi.mpChat/out/GUI/ChatMenu.class index 65067fef2ec7f61d0bed894adccec041b1c32400..e8b98515eeda20867f2007c0cf6e94b5d09de1b9 100644 GIT binary patch delta 313 zcmZvVy-Px26vlrqsA+k5HMppKUWm%Bkwwrq7G@NoDHn&8e8E7m>9&q* zjcnX7+mBHvH`)zr4HQD-zYi{o|dzgF;QB`o(3W z-D(MRuW=SjkbHOG3MB5q z(!L7|mUiyINsyDA&HJ49Ja5jc^Za47cGjv5fB#N@8Sm+wSKKb|`s+7WjpN%|rT&mF z{-!UVW*BK1)5)kZ|M<}ItzPdxf3$*#-9?mcEPAj}x*5B7Q<$XbAcLY`w!<`o1Y}ub zh%H7a;Oct3>UhK$m+J}PCK(pamsw(#Rp#_}{8TLnvB&^9Jo1t+GtY{?v@2?ZHa1C0 vUy2=E_86t0n|5Fv(9VUL<~&cV$r)!XB;=O6;>kO`V&4`-r%( vQq)P)_+#R$ky+KwnB+=LCkHD{@oI@ln>ji{>54;>JU#hzAvTxlIa&M#!RR=a diff --git a/pitiupi.testSocket/out/GUI/PrivateChatWindow.class b/pitiupi.mpChat/out/GUI/PrivateChatWindow.class similarity index 79% rename from pitiupi.testSocket/out/GUI/PrivateChatWindow.class rename to pitiupi.mpChat/out/GUI/PrivateChatWindow.class index 1c2ed39c8e3e83b9c59d0d9fd5d4f3ae4a79cc1d..147cc53184d6320fb9718216667762e37873b88e 100644 GIT binary patch delta 105 zcmew?_+D_sUM5EM$@`cjnS2W--)53#7tBj7(f2Lb{GVw93#T9hD}yit7lX*;9qf^! z5`gGw3iVG8i)`O;+Lv5mjSgXHaJlV$fy~Wzb|0W6%Ps(3#xLVa_N$ I`7nnL0Q^4|yZ`_I diff --git a/pitiupi.testSocket/out/GUI/PublicChatWindow.class b/pitiupi.mpChat/out/GUI/PublicChatWindow.class similarity index 75% rename from pitiupi.testSocket/out/GUI/PublicChatWindow.class rename to pitiupi.mpChat/out/GUI/PublicChatWindow.class index 5d2a67b624e30bc5bb1d3e1d458f15ce185f357f..605cc2fc6a365e3b03f09dd68a09f3d339e1b4f0 100644 GIT binary patch delta 299 zcmWlTyGjEA5Jk^!b`5T_kcW?K5~2iyx@O~|qJ{Xj2(lW3h%t(Gv9K_Wm4%g!h$w@d zi1-VUwElt?{*NOA!yV3@%Y80B72hpmQVh#8ce}lk6^j||UO8Tg*=cMt5;@`Eh^kQ> za&qTfdj%2{De25I&MIZwuXImo<3CNlllfc+3lpgLnTI~D$p54> z)8|p{lZ7xvmagJgHRKu4eW+naq&QJ>tR>r8{FFB(am)jW+?r978`rmkl*xzOy2JA2 Krj4rnxa)rlaW6su delta 293 zcmWO0y-LGy6vp9Sn$%#@P)r4z5VfK$BqeP`MF%Ox571VrEmDG?Q+04qP#0HM5#^7Y zh>KTH>1BxE4SANsf#-b>=OuUzJ`F8Yn&BCTgWJ1dVCcHmAC}Cro^{DmP%SGNpOUSJ zg{K~^doRFdni*!PGe?7Yb|}-Kq9*LOIFww(BvtX4kQz&pYp_UHwv=VgS>cjZu31xm z_L;YiDelrFU`tvXl-ML;TeWgm-mYj{bYHY9+7Uev?Wv!fUmReN0Tv?nX+*jgeREMA z@vJn*Px4Z`5q_6|&zQ`<981Y_B6385V|o6R4-u10Pqm$zR#y*Bq}9}y%vk+8&3}U4 BEy4f* diff --git a/pitiupi.testSocket/out/GUI/SocketTestMenu.class b/pitiupi.mpChat/out/GUI/SocketTestMenu.class similarity index 100% rename from pitiupi.testSocket/out/GUI/SocketTestMenu.class rename to pitiupi.mpChat/out/GUI/SocketTestMenu.class diff --git a/pitiupi.testSocket/out/GUI/SocketTestWindow.class b/pitiupi.mpChat/out/GUI/SocketTestWindow.class similarity index 100% rename from pitiupi.testSocket/out/GUI/SocketTestWindow.class rename to pitiupi.mpChat/out/GUI/SocketTestWindow.class diff --git a/pitiupi.mpChat/out/META-INF/services/pitiupi.plugin.Plugin b/pitiupi.mpChat/out/META-INF/services/pitiupi.plugin.Plugin new file mode 100644 index 0000000..3240a6f --- /dev/null +++ b/pitiupi.mpChat/out/META-INF/services/pitiupi.plugin.Plugin @@ -0,0 +1 @@ +plugin.MultiProtocolChat diff --git a/pitiupi.testSocket/out/control/ChatController.class b/pitiupi.mpChat/out/control/ChatController.class similarity index 81% rename from pitiupi.testSocket/out/control/ChatController.class rename to pitiupi.mpChat/out/control/ChatController.class index 958f81470588acfe08b08b19a04c99932bc0a4c6..bbfa82bb71e3a87ad770a4b93f34b2dc89d52997 100644 GIT binary patch delta 160 zcmaDa_*!toeilwK4WGQ!5`Eu-&8JxU85vC{e`Hl)hYC$@X1gyd&cMPT!NAEN$so!g z&7i;_!=TL|$6x?txiBbBu4m7eRbk*^Py@=VGbl4?0A)29Oc}Ho9DpoO2A#>=91)`W yKotf+Q;dMRj2ToJOh9TTS8(XDS}<@hSWaHeVajjKz|UaAz{pU-z`(%7PznIyYaA&6 delta 164 zcmaDY_+D_seim*C4WGQ!68(_W;*!lLSo#?m%_qNSRp5jRPOfLWFDt>o!XU}O$solb z${@p_z#z+@%^=TUz@W(B!k{#{nmu1um4Syr9jHcwL771lD67R_3M3sEbQnAtbSJZO zM2H#yRTwfzFc<^%n=q&XC5m; zAXcfi5?DdPgk@tDwm>E#gZhITPI=w$_gI#_dUT)MTG#bEwVQAt{mzLhPT5#fm6{Ax zn6Z&np&iPg-}HRdvZoSx8wHgxdp~nrRu&cicT#N$==J_Rr(C;|zIQ$9wY|Zu+wStj z?0DgIbc1}Qx~MN;5V#0fN`E^uwSdKw=^Ct?{%COLHKY>FHfMKqtTuyv-csW`=(JoW z|1`Cl$a5!==L+cKU{|cuZZK+)Gw4gs8-#N(hUpxRk#vs6NIOM+jNA*e0-K6qEvT+j zCxIkV{BrD4L^{$`%1X0LFX#=W`CG2i-~$O3lxY8=uP~pPo^+a^1x8y-(d0Z@B)Yv6 WP0yohy7E#qH;?WU-QiFgcE15j5q?hq literal 0 HcmV?d00001 diff --git a/pitiupi.testSocket/out/net/TestChatMessage.class b/pitiupi.mpChat/out/net/TestChatMessage.class similarity index 100% rename from pitiupi.testSocket/out/net/TestChatMessage.class rename to pitiupi.mpChat/out/net/TestChatMessage.class diff --git a/pitiupi.testSocket/out/net/TestMessage.class b/pitiupi.mpChat/out/net/TestMessage.class similarity index 100% rename from pitiupi.testSocket/out/net/TestMessage.class rename to pitiupi.mpChat/out/net/TestMessage.class diff --git a/pitiupi.mpChat/out/plugin/MultiProtocolChat.class b/pitiupi.mpChat/out/plugin/MultiProtocolChat.class new file mode 100644 index 0000000000000000000000000000000000000000..bbae4547574d40d629b42a3e583efc3c8ab63174 GIT binary patch literal 4008 zcmcInX?GLX8Gf!8Miv8B959&05n#ZQvE?*L)7pdxNSO?F7{w)Mj4F^ z?!F~mk}gTNr2C#OX-m=|bMQGm?bn|Er7q9aj5Jyd^h-ZzW_0IWpZ9&Ad*>hjzWY}I zGq@8*2Rb!$>FCA|fyi}Z-ALpOYb9}U`MS)y0y|Edmg$}m=p2qMgb)(wOPBMmIq%r6 zowf7P?5g305T^3Ea>+H;?dW-FIp&LH8G6+!D*@Flk z($J^lVeApuU(A&l1Pl+V@QPHH$Hpr5;vOepVZX_dnmz#)azVS&TLse1)F8C%fsh(Lcm zBI+|L6rO$CQ3Iic_NG&|1TNmEB6XCNDK}e8T+SAWn%_*5v1*cD=U*yYma&|d4C*PI(eNQ1AI4b% z)`&w!p>f4E^DLe$3G6hjb$d;w3|IB!J`c1Od$9$T=CqEdF~h>u(sayqY6(0Mw8Hj5 zZiAa=@|=$INOA%lS+Lios>fB+%Goyrjy}k!vhWO28qzxEa8Y1Sl><}+NnXz8at@0p z(6b`lsf{_Kz)0hb>1AApP}C4?(IbWtJgegpGAt}jBy-Yo&1db{y+MQXp$@k1m-_!ZAKGmc|BQ583tFiMd9 zZDk@VdUxPAVZ4RkYWSUw-{TLYMwO(T)2223BuH6!cV&Ib3BLgT-GHV&e%8cNyrTDdsc&SniOO^TN{in3Ase}Cz@yuWTEvHO;%jeI_1x^j|`{4tC_;m;aw zDPntvz0wAWH*jnNa@}kVlsEqWF!)5d)Bu}LDECW=&7Wk^ohp~el7{yLj<@BsUBxt1 z1P1Rf%0swUUL0ZLb#O!YGCFzs;rWkOs8e(G&f_ibyZN4nd0xNDe}{P&ym!YpA>QGG zz}I+HuK~5Uyn+m`O7tM_YPGXZyTx0h-~j)kH4lrRjkunuop)*@nU)l?&7IUtj{sijfw7o z?!RO7P3#)z{u@Rox(2##y@kj`7b6+ys^IgCLfoRo9>iGiPy6@J`q3O^hQJG4U1s}d zagxQ4W0jKEkRTaNz^q302s;0TxCUE;`ycA^BRQhsO)fw%Vm;EK=-&^y71uAd;`%hb n&M>bZ(RT-ajGyq{$0wERPw_MU6mGx7yIc?R=`XmAO$_`ObSo{V literal 0 HcmV?d00001 diff --git a/pitiupi.testSocket/out/plugin/SocketTest.class b/pitiupi.mpChat/out/plugin/SocketTest.class similarity index 100% rename from pitiupi.testSocket/out/plugin/SocketTest.class rename to pitiupi.mpChat/out/plugin/SocketTest.class diff --git a/pitiupi.testSocket/out/plugin/TestChat.class b/pitiupi.mpChat/out/plugin/TestChat.class similarity index 100% rename from pitiupi.testSocket/out/plugin/TestChat.class rename to pitiupi.mpChat/out/plugin/TestChat.class diff --git a/pitiupi.mpChat/pitiupi.mpChat.iml b/pitiupi.mpChat/pitiupi.mpChat.iml new file mode 100644 index 0000000..4e2cbb3 --- /dev/null +++ b/pitiupi.mpChat/pitiupi.mpChat.iml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/pitiupi.testSocket/src/GUI/ChatMenu.java b/pitiupi.mpChat/src/GUI/ChatMenu.java similarity index 88% rename from pitiupi.testSocket/src/GUI/ChatMenu.java rename to pitiupi.mpChat/src/GUI/ChatMenu.java index 9b7e0e2..f336426 100644 --- a/pitiupi.testSocket/src/GUI/ChatMenu.java +++ b/pitiupi.mpChat/src/GUI/ChatMenu.java @@ -1,18 +1,15 @@ package GUI; -import plugin.TestChat; +import plugin.MultiProtocolChat; import javax.swing.*; import java.awt.*; -import java.awt.event.ActionEvent; -import java.util.ArrayList; -import java.util.List; public class ChatMenu extends JMenu { - private final TestChat testChat; + private final MultiProtocolChat multiProtocolChat; - public ChatMenu(TestChat testChat) { - this.testChat = testChat; + public ChatMenu(MultiProtocolChat multiProtocolChat) { + this.multiProtocolChat = multiProtocolChat; this.setText("MP-Chat"); JMenuItem startPrivateChat = new JMenuItem("start Private Chat"); @@ -71,7 +68,7 @@ public class ChatMenu extends JMenu { startButton.addActionListener(e -> { String ip = ipField.getText(); - if (testChat.openConnection(ip)) dialog.dispose(); + if (multiProtocolChat.openConnection(ip)) dialog.dispose(); else errorLabel.setVisible(true); }); diff --git a/pitiupi.testSocket/src/GUI/ChatWindow.java b/pitiupi.mpChat/src/GUI/ChatWindow.java similarity index 91% rename from pitiupi.testSocket/src/GUI/ChatWindow.java rename to pitiupi.mpChat/src/GUI/ChatWindow.java index 3e87109..bca8e1c 100644 --- a/pitiupi.testSocket/src/GUI/ChatWindow.java +++ b/pitiupi.mpChat/src/GUI/ChatWindow.java @@ -1,7 +1,6 @@ package GUI; -import net.TestChatMessage; -import pitiupi.GUI.MainWindow; +import net.MpChatMessage; import pitiupi.control.ConnectionManager; import javax.swing.*; @@ -64,20 +63,20 @@ public abstract class ChatWindow extends JFrame { protected abstract void initButtons(JPanel bottomPanel); - protected TestChatMessage createMessage(String tipoMensagem) { + protected MpChatMessage createMessage(String tipoMensagem) { try { String nome = connectionManager.getUserName(); String ip = InetAddress.getLocalHost().getHostAddress(); String message = messageField.getText(); - return new TestChatMessage(nome, ip, tipoMensagem, message); + return new MpChatMessage(nome, ip, tipoMensagem, message); } catch (UnknownHostException e) { throw new RuntimeException(e); } } - public void receiveMessage(TestChatMessage msg) { + public void receiveMessage(MpChatMessage msg) { SwingUtilities.invokeLater(() -> { String mensagem = String.format( "[%s] %s (%s): %s%n", diff --git a/pitiupi.testSocket/src/GUI/PrivateChatWindow.java b/pitiupi.mpChat/src/GUI/PrivateChatWindow.java similarity index 89% rename from pitiupi.testSocket/src/GUI/PrivateChatWindow.java rename to pitiupi.mpChat/src/GUI/PrivateChatWindow.java index ab99fbd..56f111b 100644 --- a/pitiupi.testSocket/src/GUI/PrivateChatWindow.java +++ b/pitiupi.mpChat/src/GUI/PrivateChatWindow.java @@ -1,7 +1,6 @@ package GUI; -import net.TestChatMessage; -import pitiupi.GUI.MainWindow; +import net.MpChatMessage; import pitiupi.control.ConnectionManager; import pitiupi.net.tcp.TcpConnection; @@ -35,7 +34,7 @@ public class PrivateChatWindow extends ChatWindow { private void sendTCP() { try { - TestChatMessage msg = createMessage("TCP Private"); + MpChatMessage msg = createMessage("TCP Private"); connection.send(msg.toByteArray()); } catch (Exception ex) { diff --git a/pitiupi.testSocket/src/GUI/PublicChatWindow.java b/pitiupi.mpChat/src/GUI/PublicChatWindow.java similarity index 90% rename from pitiupi.testSocket/src/GUI/PublicChatWindow.java rename to pitiupi.mpChat/src/GUI/PublicChatWindow.java index 5639c2e..ff6967e 100644 --- a/pitiupi.testSocket/src/GUI/PublicChatWindow.java +++ b/pitiupi.mpChat/src/GUI/PublicChatWindow.java @@ -1,7 +1,6 @@ package GUI; -import net.TestChatMessage; -import pitiupi.GUI.MainWindow; +import net.MpChatMessage; import pitiupi.control.ConnectionManager; import javax.swing.*; @@ -57,7 +56,7 @@ public class PublicChatWindow extends ChatWindow { private void sendTCP() { try { - TestChatMessage msg = createMessage("TCP Unicast"); + MpChatMessage msg = createMessage("TCP Unicast"); InetAddress ip = InetAddress.getByName(ipField.getText()); @@ -70,7 +69,7 @@ public class PublicChatWindow extends ChatWindow { private void sendUDP() { try { - TestChatMessage msg = createMessage("UDP Unicast"); + MpChatMessage msg = createMessage("UDP Unicast"); InetAddress ip = InetAddress.getByName(ipField.getText()); @@ -83,7 +82,7 @@ public class PublicChatWindow extends ChatWindow { private void sendMulticast() { try { - TestChatMessage msg = createMessage("UDP Multicast"); + MpChatMessage msg = createMessage("UDP Multicast"); connectionManager.sendUdpMulticast(msg); diff --git a/pitiupi.mpChat/src/META-INF/services/pitiupi.plugin.Plugin b/pitiupi.mpChat/src/META-INF/services/pitiupi.plugin.Plugin new file mode 100644 index 0000000..3240a6f --- /dev/null +++ b/pitiupi.mpChat/src/META-INF/services/pitiupi.plugin.Plugin @@ -0,0 +1 @@ +plugin.MultiProtocolChat diff --git a/pitiupi.testSocket/src/control/ChatController.java b/pitiupi.mpChat/src/control/ChatController.java similarity index 90% rename from pitiupi.testSocket/src/control/ChatController.java rename to pitiupi.mpChat/src/control/ChatController.java index 00af149..e437a4b 100644 --- a/pitiupi.testSocket/src/control/ChatController.java +++ b/pitiupi.mpChat/src/control/ChatController.java @@ -4,8 +4,7 @@ import GUI.ChatMenu; import GUI.ChatWindow; import GUI.PrivateChatWindow; import GUI.PublicChatWindow; -import net.TestChatMessage; -import pitiupi.GUI.MainWindow; +import net.MpChatMessage; import pitiupi.control.ConnectionManager; import pitiupi.net.tcp.TcpConnection; @@ -53,10 +52,10 @@ public class ChatController { removedWindow.dispose(); } - public void receivePublic(TestChatMessage message) { + public void receivePublic(MpChatMessage message) { publicChatWindow.receiveMessage(message); } - public void receivePrivate(TcpConnection tcpConnection, TestChatMessage message) { + public void receivePrivate(TcpConnection tcpConnection, MpChatMessage message) { chatWindows.get(tcpConnection).receiveMessage(message); } } diff --git a/pitiupi.testSocket/src/net/TestChatMessage.java b/pitiupi.mpChat/src/net/MpChatMessage.java similarity index 76% rename from pitiupi.testSocket/src/net/TestChatMessage.java rename to pitiupi.mpChat/src/net/MpChatMessage.java index 3b9a499..731367b 100644 --- a/pitiupi.testSocket/src/net/TestChatMessage.java +++ b/pitiupi.mpChat/src/net/MpChatMessage.java @@ -2,20 +2,20 @@ package net; import pitiupi.net.Message; -public class TestChatMessage extends Message { +public class MpChatMessage extends Message { private String nome; private String ip; private String tipoMensagem; private String message; - public TestChatMessage(String nome, String ip, String tipoMensagem, String message) { + public MpChatMessage(String nome, String ip, String tipoMensagem, String message) { this.nome = nome; this.ip = ip; this.tipoMensagem = tipoMensagem; this.message = message; } - public TestChatMessage(){} + public MpChatMessage(){} public String getNome() { return nome; diff --git a/pitiupi.mpChat/src/plugin/MultiProtocolChat.java b/pitiupi.mpChat/src/plugin/MultiProtocolChat.java new file mode 100644 index 0000000..089c582 --- /dev/null +++ b/pitiupi.mpChat/src/plugin/MultiProtocolChat.java @@ -0,0 +1,107 @@ +package plugin; + +import GUI.ChatMenu; +import control.ChatController; +import net.MpChatMessage; +import pitiupi.control.ConnectionManager; +import pitiupi.control.GuiManager; +import pitiupi.net.Message; +import pitiupi.net.tcp.TcpConnection; +import pitiupi.plugin.PrivateConnectionPlugin; + +import javax.swing.*; +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.ObjectInputStream; +import java.net.InetAddress; + +public class MultiProtocolChat implements PrivateConnectionPlugin{ + ChatController chatController; + ConnectionManager connectionManager; + GuiManager guiManager; + + @Override + public String getName() { + return "MultiProtocol chat"; + } + + @Override + public String getAuthor() { + return "Gustavo Henrique"; + } + + @Override + public String getVersion() { + return "0"; + } + + @Override + public String getIdentifier() { + return "Multi.Protocol.Chat.Pitiupi"; + } + + @Override + public void createPlugin(ConnectionManager connectionManager, GuiManager guiManager) { + this.connectionManager = connectionManager; + this.guiManager = guiManager; + + ChatMenu chatMenu = new ChatMenu(this); + chatController = new ChatController(connectionManager, chatMenu); + guiManager.addMenu(chatMenu); + } + + @Override + public Message getMessage() { + return new MpChatMessage(); + } + + @Override + public void receiveMessage(byte[] message) { + MpChatMessage mpChatMessage = parseMessage(message); + chatController.receivePublic(mpChatMessage); + } + + + @Override + public void receivePrivateConnection(TcpConnection tcpConnection) { + SwingUtilities.invokeLater(() -> { + chatController.addChatWindow(tcpConnection); + }); + } + + @Override + public void receiveBytes(TcpConnection connection, byte[] bytes) { + MpChatMessage mpChatMessage = parseMessage(bytes); + chatController.receivePrivate(connection, mpChatMessage); + } + + @Override + public void onSocketClosed(TcpConnection tcpConnection) { + chatController.removeChatWindow(tcpConnection); + } + + public boolean openConnection(String ip) { + try { + connectionManager.connectPluginTcp(InetAddress.getByName(ip), getIdentifier(), getIdentifier()); + return true; + } + catch (Exception e) { + System.out.println("Error opening connection: " + e.getMessage()); + } + return false; + } + + private MpChatMessage parseMessage(byte[] bytes) { + ByteArrayInputStream bis = new ByteArrayInputStream(bytes); + ObjectInputStream ois; + try { + ois = new ObjectInputStream(bis); + if (ois.readObject() instanceof MpChatMessage msg) { + return msg; + } + } catch (IOException | ClassNotFoundException ex) { + System.out.println(ex.toString()); + } + return null; + } +} diff --git a/pitiupi.screenCast/.idea/workspace.xml b/pitiupi.screenCast/.idea/workspace.xml index 61262cc..0438088 100644 --- a/pitiupi.screenCast/.idea/workspace.xml +++ b/pitiupi.screenCast/.idea/workspace.xml @@ -5,24 +5,10 @@ - - - - - - - - - + - - - - - - - - + + - - - - - - - - + + + + + + + + - @@ -120,4 +109,7 @@ + + \ No newline at end of file diff --git a/pitiupi.screenCast/build/built-jar.properties b/pitiupi.screenCast/build/built-jar.properties index c3e64e2..1f21a31 100644 --- a/pitiupi.screenCast/build/built-jar.properties +++ b/pitiupi.screenCast/build/built-jar.properties @@ -1,6 +1,6 @@ -#Mon, 17 Aug 2026 14:35:40 -0300 +#Tue, 29 Sep 2026 11:04:58 -0300 -C\:\\Users\\extre\\OneDrive\\Documentos\\Faculdade\\2026_02\\Monitoria\\Pitiupi\\pitiupi.screenCast= +C\:\\Users\\Gustavo\\OneDrive\\Documentos\\Faculdade\\2026_2\\Monitoria\\pitiupi\\pitiupi.screenCast= -C\:\\Users\\extre\\OneDrive\\Documentos\\Faculdade\\2026_02\\Monitoria\\Pitiupi\\pitiupi= +C\:\\Users\\Gustavo\\OneDrive\\Documentos\\Faculdade\\2026_2\\Monitoria\\pitiupi\\pitiupi= diff --git a/pitiupi.screenCast/build/classes/pitiupi/screenCast/GUI/ScreenCastWindow.class b/pitiupi.screenCast/build/classes/pitiupi/screenCast/GUI/ScreenCastWindow.class index 285c323c65c0931b137171149a0cffeef9596e04..f8d140d69d4a47a3865ffebc2cbf4ae89cf256a0 100644 GIT binary patch delta 3022 zcmZ`*33yaj75>jG?>%O2wh0MINE0XxB$H(*AyAXDWdRa0P?`XpP%6XZkxWQt(#!;c zwoF@aY1LM|)wHOn)rweKO=(^t(MsKIX>p;7*4BO3YOPDfT6*rxBt-rC<$Lemckh4i zIp_b+Ig`75ch`O z4@LWZP5%pOm;(cu0$Io=xO#@eGlz@+@9>71-3G@Rwycik3d}_wVPi%pIxsk7#$wk8 z*#`oxck%W-fdXiR%y1+eZ(>9=Vn*UI14RUPEHq@Akp-b(EUvJ{0#~5q=*wjd3kZ3A z!TrGzU+h3Q(&KAu>NP|A8lxiyt|S;8y}=<~UgJV3t`cyfM0v7UUYbzwEu=vXVT4vq2=TProoS8T-@O|UED8w56@RW7tw(jgT{DIc=etl3V`nwSZ5NJV~wKtQqN7z~E?>DWogQsMiC6V3B=BbJmIaQIWqSyoBrJF!?rUaLB*x;q5Ja~k#bnpZTU#r(D+@gWy$H)*$70$i z?{RpIJ`5;OL_XoD)dmG_#*n<|Xf(R8U*G^nWV5p_(S^4Nyj6Log@Tcg+3!LdZWTC$ z1R=ZUGPSLdZgYfSFRy4-klO|Bz+pZ$WDZ34vm=i3v>$I1c)QX?#8^Yqf3Tz1G+F$2 z;!YiR3A_vMCX`Jltvu$)m2R!UeK+pW@m_(Wc%R&=C5*dqufY590eL~IrTe7Nt9{4t zK^-3w_%MzW7Ea&rhG{Q%=}X+B_^9IGV}yB9wsfvgh_xU;Bxzrjex*V&{o_$)!r_!10Q<|*X(b+N*G6z*n>i9GvHz`** z>TBIHv*E&L@UV_Y1ni&1aj6+4?lC;72 zm*n$CyQbp_La}@|5i(cv66hosBM>!8cUI-&CoQiuOr7 zrQ@u?(|AS>xdQZUdDc~AoWpk&?tAh@S3%da={%dM#`fSIl?vza0|mOkA(yw$F4tD3 zy+Kjgh93z$r;^3Z?sNwCG)0FaEO#587kB|bk-ObXvPbc-3qQv%bo^4_SNOFYb+0hm z@LPf3;rH@ccMX61QQ%K_QM$!SuGhZ^yoA5XHc_{>@vA&(x#9BM12;r+$UwV<@v*sPHCu;ysOOz{1sD3w3J8(_mp0 zDa=Q zZ%vxaXHvn=O_N@S|KK$?dWlyZuvIhN%(AA6OX=Oo@T4LsmTozY95qXSS-9=8<;JWd)DS5S!q8l&4)R`_5T+Y13qpZTbq* z*mIR?0cxMbJN#8Cr6%#7&DHFvXA-jBF@@0pf9MwOFLX@cBlS-8Rp_+vz%gWc1B~;0 zaxW+G3C#6-`Z$vxn#AWGg+)~szA(nV*wDAKnv)dh=ei$cGHzxXVpxn})FrT= z3+Di5@CY9~$j646Je}vwe3Q~qc$u&=3xA%S?dfDc%pLGZGNk;* r6nMrjK?`UhUuCB&`4Sr~qN~(ptat^lmC<5;mhy^=SFWa7szc%HZEKas delta 3074 zcmZuzdwi2u8Ghd6OTP5$Y10Nuo3?ZX){>@|aBCSYP#U1ntp!G*EHD_Me3Z~Osc8yy zDA^dh;nd-omu{0?L_2jlE^At;PSiP-F?0^^a}zJPsZ-~4>ZZf@B&C$!Z+|4`ocFxf z=e?Zo-l{`BUWtdt(Mm9X+p0)3 zw$nf@>U1m=ScJv$ZA%j^kxQ(F8TGI#>q`ZeVYv)hE43AbT=}9k*J+?Jb$PwO4QQ69 zt>un-tP)s_HS#TMRsC9meJRIoMpdlq1lB8Dw4Pvlr;ZH-XVR&@Sg6alF4V2K+ENNP z3T(p7a;sKETV!0z&EJfz3Wy+k>uG8#Yg78#1-8SK$Fx$dgHR$Lwin2-%`gn?KuB@# zl4-WN_AY^Lgr(o+ceEiY(2JP7&sJT~hTQ^tltcFRV7T4vQsMLq+=_kjWm`c*BR(Xs zA922qn%$AzCVTD~Gkv?j0eA?ams4f7^tbLbP0r^*+^OR(fxB_fWrterb?JxjVIB7g zd;}kr1NOM%5bhT^jE~D=eXjNZaUNSTJf#LciBIYHw7>u!Bush#f|JMenGT7EReYb3 zuj++cBpwlX6pwLn#UlRxnAs4G2K$w>Wt;puK07h@4I9=i-`j5X#6pptuL*n|&oDk6W~?>R-f70xFIz)!d&zU)Gj}=kQ$}-xK&g&Tzi6l0kI^!yUfX{@$3`O|WvY zv)bm%;jZBZi?zn0X0V%WAH`XL7ZmD_ScIwEdMJJ?~W%osS2U#QGIYv5)4O2;b#uj1G8-L!!A z8+K35&dix%-~xW9n10V@Jt>b>-zK%xm9^>kgS_9!bzH>jitCT^DI>qQ5q}nV1N*oL z*xu7d?0 zK&D6YF-mflUMSCG9x0yfw9x`?W~vo5i)K6Rw9ueMv{B z*Qt?E#M>hIT9zyBfJIFup1>A0fRZcE$mGgBpImv4@aiTT*+HZ$8Ywv**1UHi9fDT} zxR@x7ISfAC#P=3nCwqrM-tr;nURTBtGQA17jx*gt>HI$>&hUeWuZ9YK0xID|6(+$) zO5v200?MFFKC!B#Az~`O4P$0rVR_=agI-ro0=eE%6a-vThjGmirg@*nG;0DSYW1E% z8IV9F+n=onuK5Wp@Q%h&9~ef%5d19K$lH}eXySW6|C$nL8DsamZdB|Ev@%;8v)wd= z0B<)3vNdE|F^pRh*mfnZ8f36jbJ)#!98NVqLN)MUKJOM_3BM9IppNJCLbS)R7#&QC zq5*fnpNw0iA{vXE)R-KL_HI_FK&>tqK*iOb>JBQH8jtBVHnKl`b1U@hbLs1gw zQ{GvVsOPg9exn)m#yBIsg56um*k8}iHcvpldK~#`a#9xipwg|uQmN2)jptw;`=oN< zPGPq92(r~~?3BO(%bOm1=QNZ|7$_|gd+r-}rI%b&x{6z^zx0^b;fyX6GF!#B?-aLyZG zm9Cd|aKRtvkS+WfQG>_F)}x&MHUxNNS}Cr&z|WloCRq5zwsWs#V>72@3#a537Tm_7 zTe)_EoTzpdHCZ^s+&i$5OJ_TFB7)9j^lP~X?Wm+2QmvDX>6FVmE9=UmJaRJvmHbxc zQvu^OA6ZmLQ{&9I5jngq;+=vg)om7p=^7SET@xRM*U#>qL( z!3b>N`E`^hQD<^Z)&62Gc<@pGV-WEVz%w_HYXJv+(WA z9!C#un>bNwGkW`v(P?4}B;I$<5Z<(%NC zi)Hx*NTq|PdTIg-F9S9$LG(VIb7wQp)Vn71ycqL~yOQS6T<&Wt&0}{gR82L!a<5Vy U)8^B4{PQ!#V9HWjPAlO4KZs>-MgRZ+ diff --git a/pitiupi.screenCast/build/classes/pitiupi/screenCast/plugin/ScreenCastPlugin.class b/pitiupi.screenCast/build/classes/pitiupi/screenCast/plugin/ScreenCastPlugin.class index 77a7e7617d4d49ddd13fc6004fba66ed872ac40f..b26bee9dd227c82c34b55127f064982464dae879 100644 GIT binary patch literal 2459 zcmah~TT|Oc7(MF?vK8`Q~zrPc0tzUw*bKmYmVR{(4HHUb~~3Ib6C(ZRUhKWl3JXv-9CO4jKCL89@g;vyG zMbLq6nP?BgN^HwP6?Dxs^ipzF*EGsl=vqeA)B|p$u9$4pgmV_ph0%u_3i_kCi2;U$ zFDcL)?wlIP)wcrQjCBxJS6wqBC5pMKFkAS@La$sYc0f zixAI6FoID9V^Q42J2V0(n$xUCCm0m9Sd_sSZp5}E0Zx+DSAr<;MDC{IIR)=B3|Z6= zdUEB|SqXYHiGE0U24mKa8?14~@1CAC`J*3EUjrWIYQ zFqZK^!NVxhSZNVs_Oxp9GHFV$ktF--#Z$j_4WZd1NJa1nYYNt**uY~a4J(=(fFWe+ zG%*@3Lu(W3yX52vK31?5MF!iBlh!~)n2HQr(kK&qbXFMKg`C^Gyi`7+b7vg3k{ta6 zR`nuh=-3h(->#MSx$#upFVRl-mR?XxIn@yI+ujVAhoVXX@KV_SNHj%R9&mG8EtAtQ ztxR^)@P#55F!Obj#(%6}^#-kDs{IX{Cj1R=F+%tPri~pNgKJ(pQq+jNZY-IoNAj_>iTiJO=vll%CPL0iGd8 zUkuOjn4S_mO>b%E?^b@KS2J|D3F>#DpLsyTm!V^x(7Xrq+GXg3C-idCh8+;@`R?o2cnjD8QOG$iazf*`5|I!}aZhZ<$v;n5zktA6enqB*x)eGY41?KbT*ttBcwWeW(Tz2Uc#)ry( DV!csu literal 2325 zcmah~TUQfT7~LlqCy4@U*a8>k4b!mi3;1L4d<}UXmzPU_{&-+mW4Xef zp&eMJ5ki#qvoo_{bmNkOo+vJ(S0GU_Y@=Q=)SBx-t(5A!hN-rFZa5nZQ`QXgxnUNq zmjXkpE$E|XD{9s~Nh`P_Fxfiv_?32Trwu<5^kG1jIw&v_dz;I6UZy=9#d{bbC2gOr zWa2KeeWrGb$L!u0xbe>HvbtH1U=$z7+{Ofw?cClKA)b%m8YUE6kKzVy3JkQOoh3>@ z(TYVGh$gXBsq>*)dudSVCvrC(&nt)tj5-})SnA@DtuIuo+R=(xsoOcbs%zy4CXtXi zP6-5K+lvx2Eil}|GK_$N`^#T*l;>IL06&~t9{HH`$OI}+Z}qeIlZKwqoq zmGz~=f?lx=%M9Z_K2`7_iUlm5nWo%P&DP5t3aieU>Ti@qCN`>u*(5g|K^hOEoXTZ^ zkZqB2sv~fgg~l#zA7e$qlPEsJswWwbKPq04-b*F}Ho12uyXiuTweYh2Y)Fmz+cVK%Zbo(m z#(59=Ah5}&PhN-oY53$-&Q;+){~3Jd_@#0cT!V=dh}VwUQ$FP}(2r+)MjHmm<2kID67FqHTOU8fk`;yQGKtH&5`lhI2QFh$mqTTk^rc~kdrQt+!J%T)EqN0~=qxo% z58q>#IqlKg1Ok6!mL3%(|K%Pppl$_*3?USx*A--CQ|;qLgC!;_yA=qXBDHmbjq|!L OdUOrB-BcpNhw^_8%OkJ= diff --git a/pitiupi.screenCast/src/pitiupi.screenCast.iml b/pitiupi.screenCast/src/pitiupi.screenCast.iml new file mode 100644 index 0000000..937cc1c --- /dev/null +++ b/pitiupi.screenCast/src/pitiupi.screenCast.iml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/pitiupi.screenCast/src/pitiupi/screenCast/GUI/ScreenCastWindow.java b/pitiupi.screenCast/src/pitiupi/screenCast/GUI/ScreenCastWindow.java index 399f15a..cfd0022 100644 --- a/pitiupi.screenCast/src/pitiupi/screenCast/GUI/ScreenCastWindow.java +++ b/pitiupi.screenCast/src/pitiupi/screenCast/GUI/ScreenCastWindow.java @@ -5,6 +5,8 @@ */ package pitiupi.screenCast.GUI; +import pitiupi.control.ConnectionManager; +import pitiupi.control.GuiManager; import pitiupi.screenCast.control.AlarmClock; import pitiupi.screenCast.control.ImageTransformation; import pitiupi.screenCast.control.ScreenShot; @@ -38,10 +40,13 @@ public class ScreenCastWindow extends javax.swing.JFrame { public final static int TIME = 1000; private float compressRatio; - private final MainWindow mainWindow; + private final ConnectionManager connectionManager; + private final GuiManager guiManager; + + public ScreenCastWindow(ConnectionManager connectionManager, GuiManager guiManager) { + this.connectionManager = connectionManager; + this.guiManager = guiManager; - public ScreenCastWindow(MainWindow mainWindow) { - this.mainWindow = mainWindow; this.compressRatio = 0.5f; this.initComponents(); } @@ -91,19 +96,12 @@ public class ScreenCastWindow extends javax.swing.JFrame { BufferedImage image = ScreenShot.takeAShot(); BufferedImage rescaled = ImageTransformation.resize(image, 1024, 768); byte[] byteImage = ImageTransformation.compress(rescaled, compressRatio); - ScreenCastMessage message = new ScreenCastMessage(this.mainWindow.getUserName(), byteImage); - msg = message.toByteArray(); + ScreenCastMessage message = new ScreenCastMessage(this.connectionManager.getUserName(), byteImage); + + if (!connectionManager.sendUdpMulticast(message)) this.compressRatio -= 0.1f; } catch (AWTException | IOException ex) { Logger.getLogger(AlarmClock.class.getName()).log(Level.SEVERE, null, ex); } - if (msg != null) { - try { - this.mainWindow.getSocketUDP().sendMulticast(msg); - } catch (IOException ex) { - System.out.println(ex.toString()); - this.compressRatio -= 0.1f; - } - } } public void receiveScreenCastMessage(ScreenCastMessage message) { diff --git a/pitiupi.screenCast/src/pitiupi/screenCast/plugin/ScreenCastPlugin.java b/pitiupi.screenCast/src/pitiupi/screenCast/plugin/ScreenCastPlugin.java index b8d593a..50641a6 100644 --- a/pitiupi.screenCast/src/pitiupi/screenCast/plugin/ScreenCastPlugin.java +++ b/pitiupi.screenCast/src/pitiupi/screenCast/plugin/ScreenCastPlugin.java @@ -8,6 +8,8 @@ import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.ObjectInputStream; import pitiupi.GUI.MainWindow; +import pitiupi.control.ConnectionManager; +import pitiupi.control.GuiManager; import pitiupi.net.Message; import pitiupi.plugin.Plugin; import pitiupi.screenCast.GUI.ScreenCastMenu; @@ -21,7 +23,6 @@ import pitiupi.screenCast.net.ScreenCastMessage; public class ScreenCastPlugin implements Plugin { private ScreenCastWindow screenCastWindow; - private MainWindow mainWindow; @Override public String getName() { @@ -39,10 +40,14 @@ public class ScreenCastPlugin implements Plugin { } @Override - public void createPlugin(MainWindow mainWindow) { - this.mainWindow = mainWindow; - this.screenCastWindow = new ScreenCastWindow(mainWindow); - this.mainWindow.addMenu(new ScreenCastMenu(screenCastWindow)); + public String getIdentifier() { + return "Pitiupi.ScreenCast.Example"; + } + + @Override + public void createPlugin(ConnectionManager connectionManager, GuiManager guiManager) { + this.screenCastWindow = new ScreenCastWindow(connectionManager, guiManager); + guiManager.addMenu(new ScreenCastMenu(screenCastWindow)); } @Override @@ -54,9 +59,7 @@ public class ScreenCastPlugin implements Plugin { if (ois.readObject() instanceof ScreenCastMessage msg) { this.screenCastWindow.receiveScreenCastMessage(msg); } - } catch (IOException ex) { - System.out.println(ex.toString()); - } catch (ClassNotFoundException ex) { + } catch (IOException | ClassNotFoundException ex) { System.out.println(ex.toString()); } } diff --git a/pitiupi.testSocket/Makefile b/pitiupi.testSocket/Makefile deleted file mode 100644 index e69de29..0000000 diff --git a/pitiupi.testSocket/out/META-INF/services/pitiupi.plugin.Plugin b/pitiupi.testSocket/out/META-INF/services/pitiupi.plugin.Plugin deleted file mode 100644 index 58a4118..0000000 --- a/pitiupi.testSocket/out/META-INF/services/pitiupi.plugin.Plugin +++ /dev/null @@ -1 +0,0 @@ -plugin.TestChat diff --git a/pitiupi.testSocket/src/META-INF/services/pitiupi.plugin.Plugin b/pitiupi.testSocket/src/META-INF/services/pitiupi.plugin.Plugin deleted file mode 100644 index 58a4118..0000000 --- a/pitiupi.testSocket/src/META-INF/services/pitiupi.plugin.Plugin +++ /dev/null @@ -1 +0,0 @@ -plugin.TestChat diff --git a/pitiupi/src/pitiupi/GUI/MainWindow.java b/pitiupi/src/pitiupi/GUI/MainWindow.java index 4facd60..139f697 100644 --- a/pitiupi/src/pitiupi/GUI/MainWindow.java +++ b/pitiupi/src/pitiupi/GUI/MainWindow.java @@ -116,7 +116,7 @@ public class MainWindow extends javax.swing.JFrame { } private void updateStatus() { - this.status.setText("Connected on port " + connectionManager + " name " + connectionManager.getUserName()); + this.status.setText("Connected on port " + connectionManager.getUserPort() + " name " + connectionManager.getUserName()); } }