Example #1
0
 void OnStreamError(object sender, agsXMPP.Xml.Dom.Element e)
 {
     Trace.Call(sender, e);
     var error = e as agsXMPP.protocol.Error;
     var builder = CreateMessageBuilder();
     builder.AppendEventPrefix();
     // TODO: create user readable error messages from the error.Condition
     //builder.AppendErrorText(error.Condition.ToString());
     switch (error.Condition) {
         case StreamErrorCondition.SystemShutdown:
             builder.AppendErrorText(_("The server has shut down"));
             break;
         case StreamErrorCondition.Conflict:
             builder.AppendErrorText(_("Another client logged in with the same resource, you have been disconnected"));
             break;
         case StreamErrorCondition.SeeOtherHost:
             Server.Hostname = e.GetTag("see-other-host");
             Reconnect(null);
             break;
         default:
             builder.AppendErrorText(error.Text ?? error.Condition.ToString());
             break;
     }
     Session.AddMessageToChat(NetworkChat, builder.ToMessage());
 }