/// <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); }
/// <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; }
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); }
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"); }
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)); }