private void HandleEvent(string xml, Socket socket) { switch (parser.GetRequestType(xml)) { case MessengerLibrary.DataSenders.Data.RequestType.Connect: User usr = parser.GetUser(xml); onlineUsersSocketDictionary.Add(usr.UserId, socket); serverEventHandler.userConnected(usr); break; case MessengerLibrary.DataSenders.Data.RequestType.CreateNewChat: serverEventHandler.NewChatCreated(parser.GetChatRoom(xml)); break; case MessengerLibrary.DataSenders.Data.RequestType.InviteUserToChat: serverEventHandler.NewUserToChatInvited(parser.GetChatRoom(xml)); break; case MessengerLibrary.DataSenders.Data.RequestType.RegisterNewUser: serverEventHandler.registerNewUser(parser.GetUser(xml)); break; case MessengerLibrary.DataSenders.Data.RequestType.SendMessage: serverEventHandler.newMessageSent(parser.GetMessage(xml)); break; case MessengerLibrary.DataSenders.Data.RequestType.Disconnect: serverEventHandler.userDisconnected(parser.GetUser(xml)); break; case MessengerLibrary.DataSenders.Data.RequestType.FindUser: throw new NotImplementedException(); break; case MessengerLibrary.DataSenders.Data.RequestType.AddFriend: throw new NotImplementedException(); break; default: throw new NotImplementedException(); break; } }
public void Direct(string XML) // this method trigger events { switch (iXMLParser.GetEventType(XML)) { case EventType.NewMessageAdded: OnNewMessageAdded(iXMLParser.GetMessage(XML)); break; case EventType.FullUserInfoReceived: OnFullUserInfoReceived(iXMLParser.GetUser(XML)); break; case EventType.CurrentUserUpdated: OnCurrentUserUpdated(iXMLParser.GetUser(XML)); break; case EventType.UserConnected: OnUserConnected(iXMLParser.GetUser(XML)); break; case EventType.ShortUserInfoUpdated: OnShortUserInfoUpdated(iXMLParser.GetShortUserData(XML)); break; case EventType.NewChatRoomAdded: OnNewChatRoomAdded(iXMLParser.GetChatRoom(XML)); break; case EventType.NewUserInChatEntered: OnNewUserInChatEntered(iXMLParser.GetChatRoom(XML)); break; case EventType.AlreadyExistUserExceptionDetected: throw new Exception("User already exist"); break; default: throw new Exception("OTHER CASE"); break; } }