Пример #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="e"></param>
        private void NotifyConfigChanged(ConfigChangedEventArgs e)
        {
            Delegate[] invocationList = null;

            lock (eventHandlersLock)
            {
                ConfigChangedEventHandler handler = eventHandles[e.GetParameter.GroupName] as ConfigChangedEventHandler;
                if (handler != null)
                {
                    invocationList = handler.GetInvocationList();
                }
            }

            try
            {
                if (invocationList != null)
                {
                    foreach (ConfigChangedEventHandler callback in invocationList)
                    {
                        if (callback != null)
                        {
                            callback(this, e);
                        }
                    }
                }
            }
            catch // (Exception e)
            {
                //EventLog.WriteEntry(GetEventSourceName(), Resources.ExceptionEventRaisingFailed + GetType().FullName + " :" + e.Message);
            }
        }
Пример #2
0
        protected void OnConfigChanged(SettingsFlags flags)
        {
            ConfigChangedEventHandler handler = ConfigChanged;

            if (handler != null)
            {
                _logger.Info("Fire config changed event");
                handler(this, new ConfigChangedEventArgs(flags));
            }
        }
Пример #3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="getParameter"></param>
        /// <param name="handler"></param>
        public void AddChangeHandler(IConfigParameter getParameter, ConfigChangedEventHandler handler)
        {
            ConfigChangedEventHandler callback = eventHandles[getParameter.GroupName] as ConfigChangedEventHandler;

            if (callback == null)
            {
                lock (eventHandlersLock)
                {
                    callback = eventHandles[getParameter.GroupName] as ConfigChangedEventHandler;
                    if (callback == null)
                    {
                        eventHandles.AddHandler(getParameter.GroupName, handler);
                    }
                }
            }
        }
        /// <summary>
        /// <para>Raises the <see cref="Changed"/> event.</para>
        /// </summary>
        protected virtual void OnChanged()
        {
            ConfigChangedEventHandler callbacks = (ConfigChangedEventHandler)_eventHandlers[_configChangedKey];
            ConfigChangedEventArgs    eventData = this.BuildEventData();

            try
            {
                if (callbacks != null)
                {
                    foreach (ConfigChangedEventHandler callback in callbacks.GetInvocationList())
                    {
                        if (callback != null)
                        {
                            callback(this, eventData);
                        }
                    }
                }
            }
            catch (Exception e)
            {
                LogException(e);
            }
        }