Esempio n. 1
0
        private void ClientQueryServer(ConnectionlessMessageEventArgs e)
        {
            var msg = (QueryServerMessage)e.Message;

            if (!msg.ServerInfoOnly && !context.GetPermission(PermissionName.RequestChannelList))
            {
                var denied = new PermissionDeniedMessage(GablarskiMessageType.QueryServer);
                e.Messenger.SendConnectionlessMessageAsync(denied, e.From);

                return;
            }

            var result = new QueryServerResultMessage();

            if (!msg.ServerInfoOnly)
            {
                result.Channels = this.context.ChannelsProvider.GetChannels();
                result.Users    = this.users.ToList();
            }

            result.ServerInfo = GetServerInfo();
            e.Messenger.SendConnectionlessMessageAsync(result, e.From);
        }
Esempio n. 2
0
 public TReceive SendAndReceive <TReceive> (ClientMessage message, IHttpSession session, out PermissionDeniedMessage error)
     where TReceive : MessageBase
 {
     return(SendAndReceive <TReceive, PermissionDeniedMessage> (message, session, p => p.DeniedMessage == message.MessageType, out error));
 }