private static void DoSomething(MessageBroadcast broadcaster) { Console.WriteLine("Doing something special here..."); if (!(broadcaster is null)) { broadcaster.Invoke("Test"); } }
public PrivateMessageReceivedEventArgs(IUser user, IServer server, MessageFormat format, MessageBroadcast broadcast, string message) { this.User = user; this.Server = server; this.Format = format; this.Broadcast = broadcast; this.Message = message; }
public PublicMessageReceivedEventArgs(IUser fromUser, IServer server, IChannel channel, MessageFormat format, MessageBroadcast broadcast, string message) { this.FromUser = fromUser; this.Server = server; this.Channel = channel; this.Format = format; this.Broadcast = broadcast; this.Message = message; }
private void HandleMessage(IPEndPoint remote, int index, MessageBroadcast message) { if (string.IsNullOrWhiteSpace(message.Target)) { HandleGroupMessage(remote, index, message); } else { HandlePrivateMessage(remote, index, message); } }
public Request(IUser user, IServer server, MessageFormat messageFormat, MessageBroadcast messageBroadcast, string message, IConnection connection) { Contract.Requires<ArgumentNullException>(user != null, "user"); Contract.Requires<ArgumentNullException>(server != null, "server"); Contract.Requires<ArgumentNullException>(message != null, "message"); Contract.Requires<ArgumentNullException>(connection != null, "connection"); this.User = user; this.Server = server; this.Format = messageFormat; this.Broadcast = messageBroadcast; this.Message = message; this.connection = connection; }
private void HandlePrivateMessage(IPEndPoint remote, int index, MessageBroadcast message) { var status = StatusCode.Success; var reason = string.Empty; IUser source = null; IUser target = null; if (!_users.TryGet(remote, out source)) { status = StatusCode.NotAuthorized; reason = "User is not logged in"; } else if (!_users.TryGet(message.Target, out target)) { status = StatusCode.UserNotFound; reason = "Target not found"; } else if (string.IsNullOrWhiteSpace(message.Message)) { status = StatusCode.Failure; reason = $"Invalid parameters: {nameof(MessageBroadcast.Message)}"; } _core.Send(new MessageResult { Status = status, Reason = reason }, remote, index); if (status != StatusCode.Success) { return; } message.Source = source.Name; _core.Send(message, target.Remote); }
private void HandleGroupMessage(IPEndPoint remote, int index, MessageBroadcast message) { _core.Send(new MessageResult { Status = StatusCode.Failure, Reason = "Not supported" }, remote, index); }