Class Jabber::Helpers::Version
In: lib/xmpp4r/helpers/version.rb
Parent: Object
X XDelay XMuc XRoster XMucUser REXML::Element XRosterItem IqQuery XMLStanza IqVcard DiscoIdentity XMucUserItem DiscoItem Error RosterItem DiscoFeature IqQueryRoster IqQueryVersion IqQueryDiscoItems IqQueryDiscoInfo Message Presence Iq Singleton IdGenerator Connection Client Component Comparable JID RuntimeError ErrorException AuthenticationFailure RosterItem Stream StreamParser Roster Vcard Version lib/xmpp4r/authenticationfailure.rb lib/xmpp4r/iq/query/roster.rb lib/xmpp4r/idgenerator.rb lib/xmpp4r/iq/query/version.rb lib/xmpp4r/connection.rb lib/xmpp4r/x/mucuseritem.rb lib/xmpp4r/x/roster.rb lib/xmpp4r/iq.rb lib/xmpp4r/jid.rb lib/xmpp4r/iq/query.rb lib/xmpp4r/xmlstanza.rb lib/xmpp4r/x/delay.rb lib/xmpp4r/errorexception.rb lib/xmpp4r/client.rb lib/xmpp4r/stream.rb lib/xmpp4r/x/muc.rb lib/xmpp4r/streamparser.rb lib/xmpp4r/x.rb lib/xmpp4r/iq/vcard.rb lib/xmpp4r/iq/query/discoinfo.rb lib/xmpp4r/error.rb lib/xmpp4r/component.rb lib/xmpp4r/message.rb lib/xmpp4r/iq/query/discoitems.rb lib/xmpp4r/presence.rb lib/xmpp4r/helpers/roster.rb lib/xmpp4r/helpers/vcard.rb lib/xmpp4r/helpers/version.rb Helpers Jabber Module: Jabber

A class to answer version requests using IqQueryVersion

This is simplification as one doesn’t need dynamic version answering normally.

Example usage:

 Jabber::Helpers::Version.new(my_client, "My cool XMPP4R script", "1.0", "Younicks")

Methods

iq_callback   new  

Attributes

name  [RW] 
os  [RW] 
version  [RW] 

Public Class methods

Initialize a new version responder

Registers it’s callback (prio = 180, ref = "Helpers::Version")

stream:[Stream] Where to register callback handlers
name:[String] Software name for answers
version:[String] Software versio for answers
os:[String] Optional operating system name for answers

[Source]

    # File lib/xmpp4r/helpers/version.rb, line 31
31:       def initialize(stream, name, version, os=nil)
32:         @stream = stream
33: 
34:         @name = name
35:         @version = version
36:         @os = os
37: 
38:         stream.add_iq_callback(180, "Helpers::Version") { |iq|
39:           iq_callback(iq)
40:         }
41:       end

Public Instance methods

<iq/> callback handler to answer Software Version queries (registered by constructor and used internally only)

Used internally

[Source]

    # File lib/xmpp4r/helpers/version.rb, line 48
48:       def iq_callback(iq)
49:         if iq.type == :get
50:           if iq.query.kind_of?(IqQueryVersion)
51:             iq.from, iq.to = iq.to, iq.from
52:             iq.type = :result
53:             iq.query.set_iname(@name).set_version(@version).set_os(@os)
54: 
55:             @stream.send(iq)
56: 
57:             true
58:           end
59:         end
60:       end

[Validate]