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

CreateGroupChatPresenceErrorMessage() private method

private CreateGroupChatPresenceErrorMessage ( Presence pres ) : MessageModel
pres agsXMPP.protocol.client.Presence
return MessageModel
        MessageModel CreateGroupChatPresenceErrorMessage(Presence pres)
        {
            var builder = CreateMessageBuilder();
            builder.AppendEventPrefix();
            if (pres.Error == null) {
                builder.AppendErrorText(_("An unknown groupchat error occurred: {0}"), pres);
                return builder.ToMessage();
            }
            switch (pres.Error.Type) {
                case ErrorType.cancel:
                    switch (pres.Error.Condition) {
                        case ErrorCondition.RemoteServerNotFound:
                            builder.AppendErrorText(_("Server of groupchat \"{0}\" not found."), pres.From.Bare);
                            break;
                        case ErrorCondition.ServiceUnavailable:
                            builder.AppendErrorText(_("MUC service is not available for \"{0}\""), pres.From.Bare);
                            break;
                    }
                    break;
                case ErrorType.auth:
                    switch (pres.Error.Condition) {
                        case ErrorCondition.NotAuthorized:
                            builder.AppendErrorText(_("You do not have permission to join \"{0}\""), pres.From.Bare);
                            break;
                    }
                    break;
            }
            if (String.IsNullOrEmpty(pres.Error.ErrorText) && builder.IsEmpty) {
                builder.AppendErrorText(_("An unhandled groupchat error occurred: {0}"), pres.From.Bare);
            } else {
                builder.AppendErrorText(": {0}", pres.Error.ErrorText);
            }
            return builder.ToMessage();
        }