Exemplo n.º 1
0
        /// <summary>
        ///   Discover item features
        /// </summary>
        /// <param name = "serviceJid"></param>
        public virtual void DiscoverFeatures()
        {
            if (features == null)
            {
                features = new List <XmppServiceFeature>();
            }
            else
            {
                features.Clear();
            }

            // Get Service Info
            var iq = new IQ
            {
                ID   = XmppIdentifierGenerator.Generate(),
                Type = IQType.Get,
                From = session.UserId,
                To   = Identifier
            };

            iq.Items.Add(new ServiceQuery());

            featuresRequested = true;
            PendingMessages.Add(iq.ID);
            session.Send(iq);

            waitEvent.WaitOne();
        }
Exemplo n.º 2
0
        public void AdvertiseCapabilities()
        {
            if (!String.IsNullOrEmpty(ServiceDiscoveryName) &&
                !String.IsNullOrEmpty(Node) &&
                Identities.Count > 0)
            {
                var presence = new Presence
                {
                    Id = XmppIdentifierGenerator.Generate()
                };

                if (session.Capabilities != null)
                {
                    presence.Items.Add(GetEntityCapabilities());
                }

                session.Send(presence);
            }
        }
Exemplo n.º 3
0
        /// <summary>
        ///   Discover if we have personal eventing support enabled
        /// </summary>
        /// <returns></returns>
        internal void DiscoverSupport()
        {
            var query = new ServiceItemQuery();
            var iq    = new IQ();

            iq.ID   = XmppIdentifierGenerator.Generate();
            iq.Type = IQType.Get;
            iq.From = session.UserId;
            iq.To   = session.UserId.BareIdentifier;

            iq.Items.Add(query);

            pendingMessages.Add(iq.ID);
            features.Clear();

            session.Send(iq);
        }
        /// <summary>
        ///   Discover existing services provided by the XMPP Server
        /// </summary>
        /// <returns></returns>
        public void DiscoverServices()
        {
            Clear();

            string domain    = ((String.IsNullOrEmpty(domainName)) ? session.UserId.DomainName : domainName);
            string messageId = XmppIdentifierGenerator.Generate();
            var    iq        = new IQ
            {
                ID   = messageId,
                Type = IQType.Get,
                From = session.UserId,
                To   = domain
            };

            iq.Items.Add(new ServiceItemQuery());

            pendingMessages.Add(messageId);

            session.Send(iq);
        }