public static RemoveFriend read(BinaryReader binaryReader) { RemoveFriend newObj = new RemoveFriend(); newObj.i_friendID = binaryReader.ReadUInt32(); Util.readToAlign(binaryReader); return(newObj); }
public WebSocketApi(string uri) { _client = new Client(uri); _login = new Login(_client); _changePwd = new ChangePwd(_client); _forgotPwd = new ForgotPwd(_client); _resetPwd = new ResetPwd(_client); _validMail = new ValidMail(_client); _register = new Register(_client); _getFriends = new GetFriends(_client); _getPFriends = new GetPendingFriends(_client); _removeFriend = new RemoveFriend(_client); _addFriend = new AddFriend(_client); _confirmFriend = new ConfirmFriend(_client); }
private void OnRemoveFriend(RemoveFriend msg) { if (_friends.ContainsKey(msg.FriendName)) { Context.System.EventStream.Unsubscribe(_friends[msg.FriendName], typeof(GreetFriendFrom)); Context.System.EventStream.Unsubscribe(_friends[msg.FriendName], typeof(BlameMe)); Context.Stop(_friends[msg.FriendName]); _friends.Remove(msg.FriendName); Sender.Tell(new RemoveFriendSuccesfully(msg.FriendName, Name)); } else { Sender.Tell(new RemoveFriendError(msg.FriendName, Name)); } }
public void TestFriends() { var accept = new AcceptFriend("targetid"); Assert.IsNotNullOrEmpty(accept.RequestMethod.ToString()); Assert.IsTrue(accept.EndPoint.Contains("targetid")); Assert.IsNotNull(accept.BodyParameters); var add = new AddFriend("targetid"); Assert.IsNotNullOrEmpty(add.RequestMethod.ToString()); Assert.IsTrue(add.EndPoint.Contains("targetid")); Assert.IsNotNull(add.BodyParameters); var toast = new ToastUntoast("targetid"); Assert.IsNotNullOrEmpty(toast.RequestMethod.ToString()); Assert.IsTrue(toast.EndPoint.Contains("targetid")); Assert.IsNotNull(toast.BodyParameters); var remove = new RemoveFriend("targetid"); Assert.IsNotNullOrEmpty(remove.RequestMethod.ToString()); Assert.IsTrue(remove.EndPoint.Contains("targetid")); Assert.IsNotNull(remove.BodyParameters); var removeWish = new RemoveFromWishList(1); Assert.IsNotNullOrEmpty(removeWish.RequestMethod.ToString()); Assert.IsNotNullOrEmpty(removeWish.EndPoint); Assert.AreEqual(removeWish.BodyParameters["bid"], 1); var addWish = new AddToWishList(1); Assert.IsNotNullOrEmpty(addWish.RequestMethod.ToString()); Assert.IsNotNullOrEmpty(addWish.EndPoint); Assert.AreEqual(addWish.BodyParameters["bid"], 1); var comment = new AddComment("checkin", "shout"); Assert.IsNotNullOrEmpty(comment.RequestMethod.ToString()); Assert.IsTrue(comment.EndPoint.Contains("checkin")); Assert.AreEqual(comment.BodyParameters["shout"], "shout"); }
public WebSocketApi(string uri) { _client = new Client(uri); var dataExchange = new DataExchange(_client); _login = new Login(dataExchange); _changePwd = new ChangePwd(dataExchange); _forgotPwd = new ForgotPwd(dataExchange); _resetPwd = new ResetPwd(dataExchange); _validMail = new ValidMail(dataExchange); _register = new Register(dataExchange); _getFriends = new GetFriends(dataExchange); _getPFriends = new GetPendingFriends(dataExchange); _removeFriend = new RemoveFriend(dataExchange); _addFriend = new AddFriend(dataExchange); _confirmFriend = new ConfirmFriend(dataExchange); _logger = LoggerFactory.GetLogger(); }
async Task ProcessAsync(HttpListenerContext ctx) { if (ctx.Request.UserAgent != "osu!") { return; } if (ctx.Request.Url.AbsolutePath.StartsWith("/web/")) { return; } if (string.IsNullOrEmpty(ctx.Request.Headers["osu-token"])) { await Login.Handle(ctx); return; } Player p = Global.FindPlayer(ctx.Request.Headers["osu-token"]); if (p == null) // if they arent part of the player collection, force them to relogin { ctx.Response.StatusCode = 403; ctx.Response.OutputStream.Write(Packets.Packets.SingleIntPacket(5, -5)); ctx.Response.Close(); return; } using (MemoryStream ms = new MemoryStream()) using (BinaryReader r = new BinaryReader(ms)) { await ctx.Request.InputStream.CopyToAsync(ms); ms.Position = 0; while (ms.Position < ctx.Request.ContentLength64 - 6) { short Id = r.ReadInt16(); ms.Position += 1; int Length = r.ReadInt32(); if (ms.Position + Length > ctx.Request.ContentLength64) { break; } if (Id == 68 || Id == 79) { ms.Position += Length; continue; } byte[] Data = r.ReadBytes(Length); switch (Id) { case 4: p.Ping = DateTime.Now.Ticks; break; case 0: StatusUpdate.Handle(p, Data); break; case 1: IrcMessage.Handle(p, Data); break; case 2: Player.RemovePlayer(p); break; case 3: await StatsUpdateRequest.Handle(p); break; case 16: StartSpectating.Handle(p, Data); break; case 17: StopSpectating.Handle(p); break; case 18: SpectatorFrames.Handle(p, Data); break; case 25: IrcMessage.HandlePrivate(p, Data); break; case 29: Global.LeaveLobby(p); break; case 30: Global.JoinLobby(p); break; case 31: CreateMatch.Handle(p, Data); break; case 32: JoinMatch.Handle(p, Data); break; case 33: LeaveMatch.Handle(p); break; case 38: ChangeSlot.Handle(p, Data); break; case 39: MatchReady.Handle(p); break; case 40: SlotLock.Handle(p, Data); break; case 41: MatchSettings.Handle(p, Data); break; case 44: MatchStart.Handle(p, Data); break; case 49: MatchFinished.Handle(p); break; case 51: ModsChange.Handle(p, Data); break; case 52: MatchLoaded.Handle(p); break; case 54: NoBeatmap.Handle(p); break; case 55: MatchReady.Handle(p); break; case 56: MatchFailed.Handle(p); break; case 59: HasBeatmap.Handle(p); break; case 60: MatchSkip.Handle(p); break; case 63: ChannelJoinEvent.Handle(p, Data); break; case 70: ChangeHost.Handle(p, Data); break; case 73: AddFriend.Handle(p, Data); break; case 74: RemoveFriend.Handle(p, Data); break; case 77: ChangeTeam.Handle(p, Data); break; case 78: ChannelLeaveEvent.Handle(p, Data); break; case 85: StatsUpdateRequest.Handle(p, Data); break; case 90: MatchChangePassword.Handle(p, Data); break; default: Log.LogFormat($"%#FFFF%Unhandled Packet {Id} with {Length}"); break; } } } if (p.StreamLength != 0) { p.StreamCopyTo(ctx.Response.OutputStream); } ctx.Response.Close(); }
public override bool acceptMessageData(BinaryReader messageDataReader, TreeView outputTreeView) { bool handled = true; PacketOpcode opcode = Util.readOpcode(messageDataReader); switch (opcode) { case PacketOpcode.Evt_Social__ClearFriends_ID: { EmptyMessage message = new EmptyMessage(opcode); message.contributeToTreeView(outputTreeView); break; } case PacketOpcode.Evt_Social__RemoveFriend_ID: { RemoveFriend message = RemoveFriend.read(messageDataReader); message.contributeToTreeView(outputTreeView); break; } case PacketOpcode.Evt_Social__AddFriend_ID: { AddFriend message = AddFriend.read(messageDataReader); message.contributeToTreeView(outputTreeView); break; } case PacketOpcode.Evt_Social__FriendsUpdate_ID: { FriendsUpdate message = FriendsUpdate.read(messageDataReader); message.contributeToTreeView(outputTreeView); break; } // TODO: AddCharacterTitle case PacketOpcode.Evt_Social__CharacterTitleTable_ID: { CharacterTitleTable message = CharacterTitleTable.read(messageDataReader); message.contributeToTreeView(outputTreeView); break; } case PacketOpcode.Evt_Social__AddOrSetCharacterTitle_ID: { AddOrSetCharacterTitle message = AddOrSetCharacterTitle.read(messageDataReader); message.contributeToTreeView(outputTreeView); break; } case PacketOpcode.Evt_Social__SetDisplayCharacterTitle_ID: { SetDisplayCharacterTitle message = SetDisplayCharacterTitle.read(messageDataReader); message.contributeToTreeView(outputTreeView); break; } case PacketOpcode.Evt_Social__SendClientContractTrackerTable_ID: { SendClientContractTrackerTable message = SendClientContractTrackerTable.read(messageDataReader); message.contributeToTreeView(outputTreeView); break; } case PacketOpcode.Evt_Social__SendClientContractTracker_ID: { SendClientContractTracker message = SendClientContractTracker.read(messageDataReader); message.contributeToTreeView(outputTreeView); break; } case PacketOpcode.Evt_Social__AbandonContract_ID: { AbandonContract message = AbandonContract.read(messageDataReader); message.contributeToTreeView(outputTreeView); break; } default: { handled = false; break; } } return(handled); }