Ejemplo n.º 1
0
        private void OnExplicit3(Msg _msg)
        {
            _DispatchMsg3 msg = (_DispatchMsg3)_msg;

            onExplicit3 = true;
        }
Ejemplo n.º 2
0
        public void MsgDispatcherLogical_Broadcast()
        {
            MsgDispatcher dispatcher = new MsgDispatcher();
            Msg           msg;

            dispatcher.AddTarget(this);

            Clear();
            msg         = new _DispatchMsg1("logical://Foo/Bar/1");
            msg._Flags |= MsgFlag.Broadcast;
            Assert.IsTrue(Dispatch(dispatcher, msg));
            Assert.AreEqual(1, dispatchInfo.Count);
            Assert.IsTrue(dispatchInfo.ContainsKey("OnHandler1"));

            Clear();
            msg         = new _DispatchMsg1("logical://Foo/Bar/2");
            msg._Flags |= MsgFlag.Broadcast;
            Assert.IsTrue(Dispatch(dispatcher, msg));
            Assert.AreEqual(1, dispatchInfo.Count);
            Assert.IsTrue(dispatchInfo.ContainsKey("OnHandler5"));

            Clear();
            msg         = new _DispatchMsg1("logical://Foo/Bar/*");
            msg._Flags |= MsgFlag.Broadcast;
            Assert.IsTrue(Dispatch(dispatcher, msg));
            Assert.AreEqual(2, dispatchInfo.Count);
            Assert.IsTrue(dispatchInfo.ContainsKey("OnHandler1") && dispatchInfo.ContainsKey("OnHandler5"));

            //-------------------------

            Clear();
            msg         = new _DispatchMsg2("logical://Foo/Bar/1");
            msg._Flags |= MsgFlag.Broadcast;
            Assert.IsTrue(Dispatch(dispatcher, msg));
            Assert.AreEqual(1, dispatchInfo.Count);
            Assert.IsTrue(dispatchInfo.ContainsKey("OnHandler2"));

            Clear();
            msg         = new _DispatchMsg2("logical://Foo/Bar/2");
            msg._Flags |= MsgFlag.Broadcast;
            Assert.IsTrue(Dispatch(dispatcher, msg));
            Assert.AreEqual(1, dispatchInfo.Count);
            Assert.IsTrue(dispatchInfo.ContainsKey("OnHandler6"));

            Clear();
            msg         = new _DispatchMsg2("logical://Foo/Bar/*");
            msg._Flags |= MsgFlag.Broadcast;
            Assert.IsTrue(Dispatch(dispatcher, msg));
            Assert.AreEqual(2, dispatchInfo.Count);
            Assert.IsTrue(dispatchInfo.ContainsKey("OnHandler2") && dispatchInfo.ContainsKey("OnHandler6"));

            //-------------------------

            Clear();
            msg         = new _DispatchMsg3("logical://Foo/Bar/1");
            msg._Flags |= MsgFlag.Broadcast;
            Assert.IsTrue(Dispatch(dispatcher, msg));
            Assert.AreEqual(1, dispatchInfo.Count);
            Assert.IsTrue(dispatchInfo.ContainsKey("OnHandler3"));

            Clear();
            msg         = new _DispatchMsg3("logical://Foo/Bar/2");
            msg._Flags |= MsgFlag.Broadcast;
            Assert.IsTrue(Dispatch(dispatcher, msg));
            Assert.AreEqual(1, dispatchInfo.Count);
            Assert.IsTrue(dispatchInfo.ContainsKey("OnHandler7"));

            Clear();
            msg         = new _DispatchMsg3("logical://Foo/Bar/*");
            msg._Flags |= MsgFlag.Broadcast;
            Assert.IsTrue(Dispatch(dispatcher, msg));
            Assert.AreEqual(2, dispatchInfo.Count);
            Assert.IsTrue(dispatchInfo.ContainsKey("OnHandler3") && dispatchInfo.ContainsKey("OnHandler7"));

            //-------------------------

            Clear();
            msg         = new _DispatchMsg4("logical://Foo/Bar/1");
            msg._Flags |= MsgFlag.Broadcast;
            Assert.IsTrue(Dispatch(dispatcher, msg));
            Assert.AreEqual(1, dispatchInfo.Count);
            Assert.IsTrue(dispatchInfo.ContainsKey("OnHandler4"));

            Clear();
            msg         = new _DispatchMsg4("logical://Foo/Bar/2");
            msg._Flags |= MsgFlag.Broadcast;
            Assert.IsTrue(Dispatch(dispatcher, msg));
            Assert.AreEqual(1, dispatchInfo.Count);
            Assert.IsTrue(dispatchInfo.ContainsKey("OnHandler8"));

            Clear();
            msg         = new _DispatchMsg4("logical://Foo/Bar/*");
            msg._Flags |= MsgFlag.Broadcast;
            Assert.IsTrue(Dispatch(dispatcher, msg));
            Assert.AreEqual(2, dispatchInfo.Count);
            Assert.IsTrue(dispatchInfo.ContainsKey("OnHandler4") && dispatchInfo.ContainsKey("OnHandler8"));
        }
Ejemplo n.º 3
0
 public void OnMsg(_DispatchMsg3 msg)
 {
     dispatch3 = true;
 }
Ejemplo n.º 4
0
 public void OnHandler7(_DispatchMsg3 msg)
 {
     dispatchInfo.Add("OnHandler7", msg);
 }