class Jabber::Discovery::Helper

A Helper to manage service and item discovery.

Public Class Methods

new(client) click to toggle source
# File lib/xmpp4r/discovery/helper/helper.rb, line 13
def initialize(client)
  @stream = client
end

Public Instance Methods

get_info_for(jid, node = nil) click to toggle source

Service discovery on a JID.

jid
JID
return
Jabber::Discovery::IqQueryDiscoInfo
# File lib/xmpp4r/discovery/helper/helper.rb, line 21
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
get_items_for(jid, node = nil) click to toggle source

Item discovery on a JID.

jid
JID
return
Jabber::Discovery::IqQueryDiscoItems
# File lib/xmpp4r/discovery/helper/helper.rb, line 41
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