Class Jabber::Discovery::IqQueryDiscoInfo
In: lib/xmpp4r/discovery/iq/discoinfo.rb
Parent: IqQuery
XMLStanza Message Presence Iq REXML::Element X IqQuery Error StreamHost IqSiFileRange IqSiFile StreamHostUsed IqSi IqFeature XRosterItem RosterItem XMUCUserItem XMUCUserInvite XDataField XDataReported XDataTitle XDataInstructions Feature Identity Item IqVcard Singleton IdGenerator Connection Client Component Comparable JID RuntimeError AuthenticationFailure ErrorException SOCKS5Error Stream SOCKS5Bytestreams SOCKS5BytestreamsTarget SOCKS5BytestreamsInitiator SOCKS5BytestreamsServerStreamHost TCPSocket SOCKS5Socket IqQuery IqQueryBytestreams IqQueryVersion IqQueryRoster IqQueryDiscoItems IqQueryDiscoInfo IBB IBBTarget IBBInitiator Responder SimpleResponder X XRoster XMUCUser XMUC XDelay XData MUCClient SimpleMUCClient Base DigestMD5 Plain FileSource StreamParser SOCKS5BytestreamsPeer SOCKS5BytestreamsServer IBBQueueItem Helper MUCBrowser Helper Helper lib/xmpp4r/authenticationfailure.rb lib/xmpp4r/idgenerator.rb lib/xmpp4r/connection.rb lib/xmpp4r/iq.rb lib/xmpp4r/jid.rb lib/xmpp4r/xmlstanza.rb lib/xmpp4r/errorexception.rb lib/xmpp4r/stream.rb lib/xmpp4r/client.rb lib/xmpp4r/x.rb lib/xmpp4r/streamparser.rb lib/xmpp4r/error.rb lib/xmpp4r/component.rb lib/xmpp4r/query.rb lib/xmpp4r/message.rb lib/xmpp4r/presence.rb lib/xmpp4r/bytestreams/helper/ibb/initiator.rb lib/xmpp4r/bytestreams/iq/si.rb lib/xmpp4r/bytestreams/iq/bytestreams.rb lib/xmpp4r/bytestreams/helper/socks5bytestreams/base.rb lib/xmpp4r/bytestreams/helper/socks5bytestreams/target.rb lib/xmpp4r/bytestreams/helper/socks5bytestreams/server.rb lib/xmpp4r/bytestreams/helper/socks5bytestreams/socks5.rb lib/xmpp4r/bytestreams/helper/socks5bytestreams/initiator.rb lib/xmpp4r/bytestreams/helper/ibb/base.rb lib/xmpp4r/bytestreams/helper/ibb/target.rb Bytestreams lib/xmpp4r/version/iq/version.rb lib/xmpp4r/version/helper/responder.rb lib/xmpp4r/version/helper/simpleresponder.rb Version lib/xmpp4r/feature_negotiation/iq/feature.rb FeatureNegotiation lib/xmpp4r/roster/helper/roster.rb lib/xmpp4r/roster/iq/roster.rb lib/xmpp4r/roster/x/roster.rb Roster lib/xmpp4r/muc/x/muc.rb lib/xmpp4r/muc/helper/mucclient.rb lib/xmpp4r/muc/x/mucuseritem.rb lib/xmpp4r/muc/helper/mucbrowser.rb lib/xmpp4r/muc/x/mucuserinvite.rb lib/xmpp4r/muc/helper/simplemucclient.rb MUC lib/xmpp4r/sasl.rb SASL lib/xmpp4r/bytestreams/helper/filetransfer.rb TransferSource FileTransfer lib/xmpp4r/delay/x/delay.rb Delay lib/xmpp4r/dataforms/x/data.rb Dataforms lib/xmpp4r/discovery/iq/discoinfo.rb lib/xmpp4r/discovery/iq/discoitems.rb Discovery lib/xmpp4r/vcard/helper/vcard.rb lib/xmpp4r/vcard/iq/vcard.rb Vcard Jabber Module: Jabber

Class for handling Service Discovery queries, info (JEP 0030)

This <query/> may contain multiple Identity and Feature elements, describing the type and the supported namespaces of the service.

Methods

features   identity   new   node   node=   set_node   typed_add  

Public Class methods

Create a new query with namespace jabber.org/protocol/disco#info

[Source]

    # File lib/xmpp4r/discovery/iq/discoinfo.rb, line 21
21:       def initialize
22:         super
23:         add_namespace('http://jabber.org/protocol/disco#info')
24:       end

Public Instance methods

Get list of features

result:[Array] of [String]

[Source]

    # File lib/xmpp4r/discovery/iq/discoinfo.rb, line 82
82:       def features
83:         res = []
84:         each_element('feature') { |feature|
85:           res.push(feature.var)
86:         }
87:         res
88:       end

Get the first identity child

result:[Identity]

[Source]

    # File lib/xmpp4r/discovery/iq/discoinfo.rb, line 75
75:       def identity
76:         first_element('identity')
77:       end

Get the queried Service Discovery node or nil

See IqQueryDiscoItems#node for a small explanation of this.

[Source]

    # File lib/xmpp4r/discovery/iq/discoinfo.rb, line 52
52:       def node
53:         attributes['node']
54:       end

Get the queried Service Discovery node or nil

val:[String]

[Source]

    # File lib/xmpp4r/discovery/iq/discoinfo.rb, line 59
59:       def node=(val)
60:         attributes['node'] = val
61:       end

Get the queried Service Discovery node or nil (chaining-friendly)

val:[String]

[Source]

    # File lib/xmpp4r/discovery/iq/discoinfo.rb, line 67
67:       def set_node(val)
68:         self.node = val
69:         self
70:       end

Add a children element

Converts <identity/> elements to [Identity] and <feature/> elements to [Feature]

[Source]

    # File lib/xmpp4r/discovery/iq/discoinfo.rb, line 31
31:       def typed_add(element)
32:         if element.kind_of?(REXML::Element)
33: 
34:           if element.name == 'identity'
35:             super(Identity::new.import(element))
36:           elsif element.name == 'feature'
37:             super(Feature::new.import(element))
38:           else
39:             super(element)
40:           end
41: 
42:         else
43:           super(element)
44:         end
45:       end

[Validate]