Smuxi.Engine.XmppProtocolManager.CloseChat C# (CSharp) Method

CloseChat() private method

private CloseChat ( Smuxi.Engine.FrontendManager fm, Smuxi.Engine.ChatModel chat ) : void
fm Smuxi.Engine.FrontendManager
chat Smuxi.Engine.ChatModel
return void
        public override void CloseChat(FrontendManager fm, ChatModel chat)
        {
            Trace.Call(fm, chat);

            if (chat == ContactChat) {
                Session.RemoveChat(chat);
                ContactChat = null;
            } else if (chat.ChatType == ChatType.Group) {
                if (IsConnected) {
                    var groupchat = (XmppGroupChatModel)chat;
                    if (!groupchat.IsSynced) {
                        Session.RemoveChat(chat);
                    } else {
                        MucManager.LeaveRoom(chat.ID, ((XmppGroupChatModel)chat).OwnNickname);
                    }
                } else {
                    Session.RemoveChat(chat);
                }
            } else if (chat.ChatType == ChatType.Person) {
                Session.RemoveChat(chat);
            } else {
            #if LOG4NET
                _Logger.Error("CloseChat(): Invalid chat type");
            #endif
            }
        }