disconnect functionality

pull/34/head
Zlatin Balevsky 2019-11-12 14:19:57 +00:00
parent e9c554d717
commit 289b958784
3 changed files with 5 additions and 1 deletions

View File

@ -110,6 +110,7 @@ class ChatClient implements Closeable {
public void close() { public void close() {
connectThread?.interrupt() connectThread?.interrupt()
connection?.close() connection?.close()
eventBus.publish(new ChatConnectionEvent(status : ChatConnectionAttemptStatus.DISCONNECTED, persona : host))
} }
void ping() { void ping() {

View File

@ -1,5 +1,5 @@
package com.muwire.core.chat; package com.muwire.core.chat;
public enum ChatConnectionAttemptStatus { public enum ChatConnectionAttemptStatus {
CONNECTING, SUCCESSFUL, REJECTED, FAILED CONNECTING, SUCCESSFUL, REJECTED, FAILED, DISCONNECTED
} }

View File

@ -6,6 +6,8 @@ import griffon.inject.MVCMember
import griffon.metadata.ArtifactProviderFor import griffon.metadata.ArtifactProviderFor
import javax.annotation.Nonnull import javax.annotation.Nonnull
import com.muwire.core.chat.UIDisconnectChatEvent
@ArtifactProviderFor(GriffonController) @ArtifactProviderFor(GriffonController)
class ChatServerController { class ChatServerController {
@MVCMember @Nonnull @MVCMember @Nonnull
@ -13,5 +15,6 @@ class ChatServerController {
@ControllerAction @ControllerAction
void disconnect() { void disconnect() {
model.core.eventBus.publish(new UIDisconnectChatEvent(host : model.host))
} }
} }