Пример #1
0
 public void registerListenExecutor(ImMessageType messageType, IClientMessageListenExecutor executor)
 {
     if (this.listenExecutors.ContainsKey(messageType))
     {
         this.listenExecutors.Remove(messageType);
     }
     this.listenExecutors.Add(messageType, executor);
 }
Пример #2
0
 public IClientMessageExecutor GetExecutor(ImMessageType type)
 {
     if (this.messageExecutors.ContainsKey(type))
     {
         return(this.messageExecutors[type]);
     }
     else
     {
         return(null);
     }
 }
Пример #3
0
 public bool Send(ImMessageType type)
 {
     if (this.messageExecutors.ContainsKey(type))
     {
         return(this.Send(this.messageExecutors[type], false));
     }
     else
     {
         throw new Exception($"Not found message type of {type.ToString()}, Please register it first.");
     }
 }
Пример #4
0
        public void Register(IClientMessageExecutor executor)
        {
            if (executor == null)
            {
                return;
            }

            ImMessageType type = executor.BuildContext().Type;

            if (this.messageExecutors.ContainsKey(type))
            {
                this.messageExecutors.Remove(type);
            }
            this.messageExecutors.Add(type, executor);
        }
Пример #5
0
        public void Receive(IChannel channel, ImMessageContext messageContext)
        {
            this.CurrentChannel = channel;
            this.MessageType    = messageContext.Type;
            this.MessageHead    = messageContext.Head;

            try
            {
                this.CheckParameters();
                this.ExecuteCore(messageContext);
            }
            catch (SessionInvalidException)
            {
                Push(channel, CreateResponseContext(ImStatus.SessionInvalid));
            }
            catch (Exception e)
            {
                Push(channel, CreateResponseContext(ImStatus.Failure, e.ToString()));
            }
        }
Пример #6
0
 public override void executeCore(ImMessageType messageType, ImChatGroupMessageResponse response)
 {
     Console.WriteLine(response.ToString());
 }
Пример #7
0
 public override void executeCore(ImMessageType messageType, ImUserValidateResponse response)
 {
     Console.WriteLine("UserValidateListen : " + response?.ToString());
 }
 public abstract void executeCore(ImMessageType messageType, TResponse response);