From 289b958784422f2106bb0363c55c1e069211fd29 Mon Sep 17 00:00:00 2001 From: Zlatin Balevsky Date: Tue, 12 Nov 2019 14:19:57 +0000 Subject: [PATCH] disconnect functionality --- core/src/main/groovy/com/muwire/core/chat/ChatClient.groovy | 1 + .../com/muwire/core/chat/ChatConnectionAttemptStatus.java | 2 +- .../controllers/com/muwire/gui/ChatServerController.groovy | 3 +++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/core/src/main/groovy/com/muwire/core/chat/ChatClient.groovy b/core/src/main/groovy/com/muwire/core/chat/ChatClient.groovy index 12225fc8..e77fc180 100644 --- a/core/src/main/groovy/com/muwire/core/chat/ChatClient.groovy +++ b/core/src/main/groovy/com/muwire/core/chat/ChatClient.groovy @@ -110,6 +110,7 @@ class ChatClient implements Closeable { public void close() { connectThread?.interrupt() connection?.close() + eventBus.publish(new ChatConnectionEvent(status : ChatConnectionAttemptStatus.DISCONNECTED, persona : host)) } void ping() { diff --git a/core/src/main/groovy/com/muwire/core/chat/ChatConnectionAttemptStatus.java b/core/src/main/groovy/com/muwire/core/chat/ChatConnectionAttemptStatus.java index 8ef9b1ef..bd16ed90 100644 --- a/core/src/main/groovy/com/muwire/core/chat/ChatConnectionAttemptStatus.java +++ b/core/src/main/groovy/com/muwire/core/chat/ChatConnectionAttemptStatus.java @@ -1,5 +1,5 @@ package com.muwire.core.chat; public enum ChatConnectionAttemptStatus { - CONNECTING, SUCCESSFUL, REJECTED, FAILED + CONNECTING, SUCCESSFUL, REJECTED, FAILED, DISCONNECTED } diff --git a/gui/griffon-app/controllers/com/muwire/gui/ChatServerController.groovy b/gui/griffon-app/controllers/com/muwire/gui/ChatServerController.groovy index 195df6ed..f8607251 100644 --- a/gui/griffon-app/controllers/com/muwire/gui/ChatServerController.groovy +++ b/gui/griffon-app/controllers/com/muwire/gui/ChatServerController.groovy @@ -6,6 +6,8 @@ import griffon.inject.MVCMember import griffon.metadata.ArtifactProviderFor import javax.annotation.Nonnull +import com.muwire.core.chat.UIDisconnectChatEvent + @ArtifactProviderFor(GriffonController) class ChatServerController { @MVCMember @Nonnull @@ -13,5 +15,6 @@ class ChatServerController { @ControllerAction void disconnect() { + model.core.eventBus.publish(new UIDisconnectChatEvent(host : model.host)) } } \ No newline at end of file