Class Jabber::Version::IqQueryVersion
In: lib/xmpp4r/version/iq/version.rb
Parent: IqQuery
Message Presence XMPPStanza Iq XMPPElement X IqQuery Error Singleton IdGenerator Connection Client Component Client Comparable JID RuntimeError ErrorException AuthenticationFailure NoNameXmlnsRegistered SOCKS5Error REXML::Element Stream SOCKS5Bytestreams SOCKS5BytestreamsTarget SOCKS5BytestreamsInitiator XMPPElement StreamHost IqSiFileRange IqSiFile StreamHostUsed IqSi IqFeature XRosterItem RosterItem XMUCUserItem XMUCUserInvite IqPubSub Items Subscription IqPubSubOwner Item Event Feature Identity Item XDataField XDataReported XDataTitle XDataInstructions IqVcard SOCKS5BytestreamsServerStreamHost TCPSocket SOCKS5Socket IqQuery IqQueryBytestreams IqQueryVersion IqQueryRoster IqQueryRPC IqQueryMUCOwner IqQueryDiscoItems IqQueryDiscoInfo IBB IBBTarget IBBInitiator Responder SimpleResponder Iq IqCommand RosterXItem XRoster RosterX X XMUCUser XMUC XDelay XData XMLRPC::ParserWriterChooseMixin Client Server XMLRPC::ParseContentType XMLRPC::BasicServer XParent MUCClient SimpleMUCClient Base DigestMD5 Plain FileSource ServiceHelper NodeHelper CallbackList Callback Semaphore StreamParser SOCKS5BytestreamsPeer SOCKS5BytestreamsServer IBBQueueItem Responder Helper MUCBrowser Helper NodeBrowser Helper lib/xmpp4r/authenticationfailure.rb lib/xmpp4r/xmppstanza.rb lib/xmpp4r/callbacks.rb lib/xmpp4r/idgenerator.rb lib/xmpp4r/connection.rb lib/xmpp4r/iq.rb lib/xmpp4r/jid.rb lib/xmpp4r/errorexception.rb lib/xmpp4r/semaphore.rb lib/xmpp4r/client.rb lib/xmpp4r/stream.rb lib/xmpp4r/x.rb lib/xmpp4r/streamparser.rb lib/xmpp4r/error.rb lib/xmpp4r/component.rb lib/xmpp4r/query.rb lib/xmpp4r/xmppelement.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/server.rb lib/xmpp4r/bytestreams/helper/socks5bytestreams/target.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 XParent lib/xmpp4r/version/iq/version.rb lib/xmpp4r/version/helper/responder.rb lib/xmpp4r/version/helper/simpleresponder.rb Version lib/xmpp4r/command/iq/command.rb lib/xmpp4r/command/helper/responder.rb Command 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/rpc/helper/server.rb lib/xmpp4r/rpc/helper/client.rb lib/xmpp4r/rpc/iq/rpc.rb RPC 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/iq/mucowner.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/pubsub/stanzas/subscription.rb lib/xmpp4r/pubsub/helper/servicehelper.rb lib/xmpp4r/pubsub/stanzas/item.rb lib/xmpp4r/pubsub/helper/nodehelper.rb lib/xmpp4r/pubsub/iq/pubsub.rb lib/xmpp4r/pubsub/stanzas/event.rb lib/xmpp4r/pubsub/helper/nodebrowser.rb lib/xmpp4r/pubsub/stanzas/items.rb PubSub lib/xmpp4r/httpbinding/client.rb HTTPBinding lib/xmpp4r/discovery/iq/discoinfo.rb lib/xmpp4r/discovery/iq/discoitems.rb Discovery lib/xmpp4r/dataforms/x/data.rb Dataforms lib/xmpp4r/vcard/helper/vcard.rb lib/xmpp4r/vcard/iq/vcard.rb Vcard Jabber dot/m_81_0.png

Class for handling queries for ‘Software Version’ (JEP 0092)

Notice that according to JEP 0092 only the <os/> element can be omitted, <name/> (iname) and <version/> must be present

Methods

iname   iname=   new   os   os=   set_iname   set_os   set_version   version   version=  

Public Class methods

Create a new <query xmlns=‘jabber:iq:version’/> element

[Source]

    # File lib/xmpp4r/version/iq/version.rb, line 20
20:       def initialize(iname=nil, version=nil, os=nil)
21:         super()
22:         set_iname(iname) if iname
23:         set_version(version) if version
24:         set_os(os) if os
25:       end

Public Instance methods

Get the name of the software

This has been renamed to ‘iname’ here to keep REXML::Element#name accessible

[Source]

    # File lib/xmpp4r/version/iq/version.rb, line 32
32:       def iname
33:         first_element_text('name')
34:       end

Set the name of the software

The element won‘t be deleted if text is nil as it must occur in a version query, but its text will be empty.

[Source]

    # File lib/xmpp4r/version/iq/version.rb, line 42
42:       def iname=(text)
43:         replace_element_text('name', text.nil? ? '' : text)
44:       end

Get the operating system or nil (os is not mandatory for Version Query)

[Source]

    # File lib/xmpp4r/version/iq/version.rb, line 81
81:       def os
82:         first_element_text('os')
83:       end

Set the os of the software

text:[String] or nil

[Source]

    # File lib/xmpp4r/version/iq/version.rb, line 88
88:       def os=(text)
89:         if text
90:           replace_element_text('os', text)
91:         else
92:           delete_elements('os')
93:         end
94:       end

Set the name of the software (chaining-friendly)

result:[String] or nil

[Source]

    # File lib/xmpp4r/version/iq/version.rb, line 49
49:       def set_iname(text)
50:         self.iname = text
51:         self
52:       end

Set the os of the software (chaining-friendly)

text:[String] or nil

[Source]

     # File lib/xmpp4r/version/iq/version.rb, line 99
 99:       def set_os(text)
100:         self.os = text
101:         self
102:       end

Set the version of the software (chaining-friendly)

text:[String]

[Source]

    # File lib/xmpp4r/version/iq/version.rb, line 73
73:       def set_version(text)
74:         self.version = text
75:         self
76:       end

Get the version of the software

result:[String] or nil

[Source]

    # File lib/xmpp4r/version/iq/version.rb, line 57
57:       def version
58:         first_element_text('version')
59:       end

Set the version of the software

The element won‘t be deleted if text is nil as it must occur in a version query

[Source]

    # File lib/xmpp4r/version/iq/version.rb, line 66
66:       def version=(text)
67:         replace_element_text('version', text.nil? ? '' : text)
68:       end

[Validate]