public bool Contains(object oEventSource)
        {
            string oPersistKey = ObtainEventSourceBindingKey(oEventSource);

            EventBindingInfoMngr oBindingInfoMngr = ObtainBindingInfoMngr(oPersistKey);

            return(oBindingInfoMngr == null ? false : true);
        }
        public bool Contains(object oEventSource, ITisEventBinding oEventBindingInfo)
        {
            string oPersistKey = ObtainEventSourceBindingKey(oEventSource);

            EventBindingInfoMngr oBindingInfoMngr = ObtainBindingInfoMngr(oPersistKey);

            if (oBindingInfoMngr != null)
            {
                return(oBindingInfoMngr.Contains(oEventBindingInfo));
            }

            return(false);
        }
        public ITisEventBinding GetBinding(object oEventSource, string sEventName)
        {
            string oPersistKey = ObtainEventSourceBindingKey(oEventSource);

            EventBindingInfoMngr oBindingInfoMngr = ObtainBindingInfoMngr(oPersistKey);

            if (oBindingInfoMngr != null)
            {
                return(oBindingInfoMngr.GetByEventName(sEventName));
            }

            return(null);
        }
        public List <ITisEventBinding> GetBindings(object oEventSource)
        {
            string oPersistKey = ObtainEventSourceBindingKey(oEventSource);

            EventBindingInfoMngr oBindingInfoMngr = ObtainBindingInfoMngr(oPersistKey);

            if (oBindingInfoMngr != null)
            {
                return(oBindingInfoMngr.All);
            }

            return(null);
        }
        public ITisEventBinding AddBinding(object oEventSource, string sEventName, ITisInvokeParams oInvokeParams)
        {
            string oPersistKey = ObtainEventSourceBindingKey(oEventSource);

            EventBindingInfoMngr oBindingInfoMngr = ObtainBindingInfoMngr(oPersistKey);

            if (oBindingInfoMngr == null)
            {
                oBindingInfoMngr = new EventBindingInfoMngr();
            }

            ITisEventBinding oEventBinding = oBindingInfoMngr.Add(sEventName, oInvokeParams);

            m_oBindings.Add(oPersistKey, oBindingInfoMngr);

            return(oEventBinding);
        }
        private ITisEventBinding InternalRemoveBinding(string oPersistKey, string sEventName)
        {
            EventBindingInfoMngr oBindingInfoMngr = null;

            if (m_oBindings.ContainsKey(oPersistKey))
            {
                oBindingInfoMngr = (EventBindingInfoMngr)m_oBindings [oPersistKey];
            }
            else
            {
                oBindingInfoMngr = new EventBindingInfoMngr();
            }

            ITisEventBinding eventBinding = oBindingInfoMngr.GetByEventName(sEventName);

            oBindingInfoMngr.Remove(new string[] { sEventName });

            return(eventBinding);
        }