Esempio n. 1
0
 public void Ping(string email)
 {
     if (Listeners.ContainsKey(email) && Listeners[email] != null && Listeners[email].ContainsKey(Context.ConnectionId))
     {
         Listeners[email][Context.ConnectionId].RefreshConnectionTime();
     }
 }
Esempio n. 2
0
        public Log ResolveLog(string name)
        {
            LogDefinition log     = Logs[name];
            TypeCreator   creator = new TypeCreator(log.Type);

            foreach (var formatterProperty in log.Properties)
            {
                creator.MemberValues.Add(formatterProperty.Key, formatterProperty.Value);
            }

            var value = (Log)creator.Create();

            foreach (var logListenerName in log.ListenerNames)
            {
                if (Listeners.ContainsKey(logListenerName))
                {
                    value.AddListener(ResolveListener(logListenerName));
                    continue;
                }
                else
                {
                    bool added = false;
                    foreach (var configuration in Imports)
                    {
                        if (configuration.Listeners.ContainsKey(logListenerName))
                        {
                            value.AddListener(configuration.ResolveListener(logListenerName));
                            added = true;
                            break;
                        }
                    }
                    if (added)
                    {
                        continue;
                    }
                }
                throw new KeyNotFoundException("Listener '" + logListenerName + "' not found in configuration or imports.");
            }

            if (Formatters.ContainsKey(log.FormatterName))
            {
                value.Formatter = ResolveFormatter(log.FormatterName);
            }
            else
            {
                foreach (var configuration in Imports)
                {
                    if (configuration.Formatters.ContainsKey(log.FormatterName))
                    {
                        value.Formatter = configuration.ResolveFormatter(log.FormatterName);
                        break;
                    }
                }
            }

            return(value);
        }
        public void AddListener(AbstractListener listener, string methodName)
        {
            if (Listeners.ContainsKey(listener.GetType().Name) && Events.ContainsKey(listener.GetType().Name))
            {
                throw new Exception("Command already exists");
            }

            Listeners.Add(listener.GetType().Name, listener);
            Events.Add(listener.GetType().Name, methodName);
        }
Esempio n. 4
0
        private void RemoveListenerAndReplaceWithSameType(string key)
        {
            string str = GetFileNameFromActiveListener(key);

            RemoveListener(key);
            NewWikiTraceListener();
            if (Listeners.ContainsKey(key))
            {
                Listeners[key].WriteCommentAndNewLine("logging continued from " + str);
            }
        }
Esempio n. 5
0
        public void RaiseOnResized(BrowserWindowSize browserWindowSize, Breakpoint _, Guid optionId)
        {
            if (Listeners.ContainsKey(optionId) == false)
            {
                return;
            }

            var listenerInfo = Listeners[optionId];

            listenerInfo.InvokeCallbacks(browserWindowSize);
        }
Esempio n. 6
0
 public void AddEventListener(string eventName, ParticleEventHandler handler)
 {
     if (!Listeners.ContainsKey(eventName))
     {
         Listeners.Add(eventName, handler);
         OnMessage += handler;
     }
     else
     {
         throw new Exception("Event Name is present in dictionary. Consider using a GUID to ensure a unique number is generated");
     }
 }
Esempio n. 7
0
        public void Host(string Name, Host Host)
        {
            foreach (int Port in Host.Ports.Values)
            {
                if (!Listeners.ContainsKey(Port))
                {
                    Listen(Port);
                }
            }

            Hosts[Name.Escape()] = Host;
        }
        public void onPacketReceived(Packet packet)
        {
            if (Listeners.ContainsKey(packet.GetType()))
            {
                PacketListener listener = Listeners[packet.GetType()];
                listener.handle(packet);
            }

            else
            {
                Console.WriteLine("[ERROR] Unknown packet");
            }
        }
Esempio n. 9
0
 public static void RemoveUserFromListeners(string email, string connectionId)
 {
     lock (Listeners)
     {
         if (Listeners.ContainsKey(email) && Listeners[email].ContainsKey(connectionId))
         {
             Listeners[email].Remove(connectionId);
             if (Listeners[email].Count == 0)
             {
                 Listeners.Remove(email);
             }
         }
     }
 }
Esempio n. 10
0
 public void Register(string email)
 {
     lock (Listeners)
     {
         if (!Listeners.ContainsKey(email))
         {
             Listeners[email] = new Dictionary <string, UserListener>();
         }
         if (Listeners[email] != null)
         {
             Listeners[email][Context.ConnectionId] = new UserListener(Context.ConnectionId, email);
         }
     }
 }
Esempio n. 11
0
        public override void RemoveListener(string key)
        {
            if (!Listeners.ContainsKey(key))
            {
                return;
            }
            IMyTraceListener listener = Listeners[key];

            if (listener.Uploadable)
            {
                ((TraceListenerUploadableBase)listener).Upload -= TraceUploadEventHandler;
            }

            base.RemoveListener(key);
        }
Esempio n. 12
0
        public override void RemoveListener(string key)
        {
            if (!Listeners.ContainsKey(key))
            {
                return;
            }
            IMyTraceListener listener = Listeners[key];

            if (listener.Uploadable)
            {
                ((TraceListenerUploadableBase)listener).Upload -=
                    new WikiFunctions.Logging.TraceListenerUploadableBase.UploadEventHandler(
                        this.TraceUploadEventHandler);
            }

            base.RemoveListener(key);
        }
Esempio n. 13
0
        /// <summary>
        /// Logs the provided entry to the logger.
        /// </summary>
        /// <param name="entry">The log entry to store.</param>
        public static void Log(LogEntry entry)
        {
            Thread            currentThread = Thread.CurrentThread;
            List <ILogTarget> targets       = new List <ILogTarget>();

            if (Listeners.ContainsKey(currentThread))
            {
                LogThreadTargets threadTargets = Listeners[currentThread];
                if (threadTargets != null)
                {
                    targets.AddRange(threadTargets);
                }
            }

            targets.ForEach(
                target => target.OnEventLogged(currentThread, new LogEventArgs(entry)));
        }
        public void Notify(string name, IHandler handler)
        {
            if (!Listeners.ContainsKey(name) && !Events.ContainsKey(name))
            {
                throw new Exception(name + " does not exist in the Dictionary");
            }

            var listener   = Listeners[name];
            var methodName = Events[name];

            if (handler == null)
            {
                listener.GetType().GetMethod(methodName)?.Invoke(obj: listener, parameters: null);
                return;
            }

            listener.GetType().GetMethod(methodName)?.Invoke(obj: listener, parameters: new object[] { handler });
        }
Esempio n. 15
0
        /// <summary>
        /// 持续监听处理
        /// </summary>
        public static void Update()
        {
            if (MsgList.Count <= 0)
            {
                return;
            }

            //解析数据
            var msgStr  = MsgList.Dequeue();   //获得消息队列的首个元素并出队
            var data    = msgStr.Split('|');
            var msgName = data[0];
            var msgArgs = data[1];

            //回调监听
            if (Listeners.ContainsKey(msgName))
            {
                Listeners[msgName](msgArgs);
            }
        }
Esempio n. 16
0
        //event listeners //////////////////////////////////////////////////////////
        public virtual IList <IDelegateListener <IBaseDelegateExecution> > GetListeners(string eventName)
        {
            IList <IDelegateListener <IBaseDelegateExecution> > listenerList = Listeners.ContainsKey(eventName) ? Listeners[eventName] : new List <IDelegateListener <IBaseDelegateExecution> >();

            return(listenerList);
        }
Esempio n. 17
0
 private bool HasListeners(string events)
 {
     return(Listeners.ContainsKey(events));
 }