Ejemplo n.º 1
0
        /// <summary>Creates an XmppEdge.</summary>
        public override void CreateEdgeTo(TransportAddress ta, EdgeCreationCallback ecb)
        {
            if (_ready == 0)
            {
                ecb(false, null, new Exception("Xmpp is not authenticated"));
            }

            XmppTransportAddress xta = ta as XmppTransportAddress;

            if (xta == null)
            {
                ecb(false, null, new Exception("TA Type is not Xmpp!"));
                return;
            }
            else if (!_xmpp.IsUserOnline(xta.JID))
            {
                ecb(false, null, new Exception("Xmpp user, " + xta.JID + ", is not online."));
                return;
            }

            XmppEdge xe = new XmppEdge(this, _local_ta, xta, false);

            _it.Add(xe);
            xe.CloseEvent += CloseHandler;
            ecb(true, xe, null);
        }
Ejemplo n.º 2
0
 /// <summary>Create a XmppEdge.</summary>
 public XmppEdge(IEdgeSendHandler send_handler, XmppTransportAddress local_ta,
                 XmppTransportAddress remote_ta, bool inbound) :
     base(send_handler, inbound)
 {
     _ip        = new IdentifierPair();
     _local_ta  = local_ta;
     _remote_ta = remote_ta;
     To         = remote_ta.JID;
 }
Ejemplo n.º 3
0
        protected void HandleAuthenticate(object sender)
        {
            if (Interlocked.Exchange(ref _ready, 1) == 1)
            {
                return;
            }

            _local_ta  = new XmppTransportAddress(_xmpp.JID);
            _local_tas = new ArrayList(1);
            _local_tas.Add(_local_ta as TransportAddress);
            _xmpp.Register(typeof(XmppRelay), HandleData);
        }
Ejemplo n.º 4
0
        public void Test()
        {
            string sjid = "[email protected]/Brunet.367FDA47";
            JID    jid  = new JID(sjid);
            XmppTransportAddress ta0 = new XmppTransportAddress(jid);
            XmppTransportAddress ta1 = new XmppTransportAddress("brunet.xmpp://" + sjid);
            XmppTransportAddress ta2 = (XmppTransportAddress)XmppTransportAddress.Create("brunet.xmpp://" + sjid);

            Assert.AreEqual(ta0, ta1, "TA comparison");
            Assert.AreEqual(ta0, ta2, "TA comparison 2");
            Assert.AreEqual(jid, ta1.JID, "JID comparison");
        }
Ejemplo n.º 5
0
        public override bool Equals(object o)
        {
            if (o == this)
            {
                return(true);
            }

            XmppTransportAddress other = o as XmppTransportAddress;

            if (other == null)
            {
                return(false);
            }

            return(other.JID.Equals(JID));
        }