Ejemplo n.º 1
0
 public override void HandleMessage(ASC.Xmpp.Server.Streams.XmppStream stream, Message msg, XmppHandlerContext context)
 {
     msg.SwitchDirection();
     msg.Type  = MessageType.error;
     msg.Error = new Error(ErrorType.cancel, ErrorCondition.ItemNotFound);
     context.Sender.SendTo(stream, msg);
 }
Ejemplo n.º 2
0
 public override IQ HandleIQ(ASC.Xmpp.Server.Streams.XmppStream stream, IQ iq, XmppHandlerContext context)
 {
     if (iq.Vcard != null && iq.Type == IqType.get)
     {
         //Handle vcard
         iq.Vcard = Member.GetVcard();
         iq.Type  = IqType.result;
         iq.SwitchDirection();
         return(iq);
     }
     return(base.HandleIQ(stream, iq, context));
 }
Ejemplo n.º 3
0
 public override void HandlePresence(ASC.Xmpp.Server.Streams.XmppStream stream, Presence presence, XmppHandlerContext context)
 {
     //Presence to open new room
     if (IsUserAbleToCreateRooms(presence.From) && MucHelpers.IsJoinRequest(presence))
     {
         //Register
         Service.CreateRoom(new Jid(presence.To.Bare), null);
         Service.HandlerManager.ProcessStreamElement(presence, stream);//Forward to room
     }
     else
     {
         //Return error
         presence.Type  = PresenceType.error;
         presence.Error = new Error(ErrorType.cancel, ErrorCondition.NotAllowed);
         presence.SwitchDirection();
         context.Sender.SendTo(stream, presence);
     }
 }