public User addUser(String name) { User user = getUser(name); if (user == null) { user = new User(name); } user.setNewRoster(name); userIndex.Add(name, user); return user; }
/// <summary> /// Главниот дел - хендлерот за пакети /// </summary> /// <param name="packet"></param> public void notify(Packet packet) { String type = packet.Type; Packet query = packet.getFirstChild("query"); username = query.getChildValue("username"); iq.setID(packet.getID()); iq.Session = packet.Session; iq.getChildren().Clear(); iq.Type = "result"; reply = new Packet("query"); reply.setAttribute("xmlns", "jabber:iq:auth"); reply.Parent = iq; user = userIndex.getUser(username); if (user == null) { sendErrorPacket(404, "User not found"); return; } if (userIndex.sessionIndex.ContainsValue(user) == true) { sendErrorPacket(404, "User already Logged In"); return; } if (type.Equals("get")) { sendGetPacket(); return; } else if (type.Equals("set")) { session = packet.Session; if (session.Status != Session.SessionStatus.streaming) { sendErrorPacket(400, "Server name does not match"); return; } resource = query.getChildValue("resource"); if (resource == null) { sendErrorPacket(404, "You must send resource"); return; } handleSetPacket(query); return; } }