1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
|
# =XMPP4R - XMPP Library for Ruby
# License:: Ruby's license (see the LICENSE file) or GNU GPL, at your option.
# Website::http://xmpp4r.github.io
require 'xmpp4r'
require 'xmpp4r/discovery'
module Jabber
module Discovery
##
# A Helper to manage service and item discovery.
class Helper
def initialize(client)
@stream = client
end
##
# Service discovery on a JID.
# jid:: [JID]
# return:: [Jabber::Discovery::IqQueryDiscoInfo]
def get_info_for(jid, node = nil)
iq = Jabber::Iq.new(:get, jid)
iq.from = @stream.jid
disco = Jabber::Discovery::IqQueryDiscoInfo.new
disco.node = node
iq.add(disco)
res = nil
@stream.send_with_id(iq) { |reply|
res = reply.query
}
res
end
##
# Item discovery on a JID.
# jid:: [JID]
# return:: [Jabber::Discovery::IqQueryDiscoItems]
def get_items_for(jid, node = nil)
iq = Jabber::Iq.new(:get, jid)
iq.from = @stream.jid
disco = Jabber::Discovery::IqQueryDiscoItems.new
disco.node = node
iq.add(disco)
res = nil
@stream.send_with_id(iq) { |reply|
res = reply.query
}
res
end
end
end
end
|