Parent

Methods

Included Modules

Class/Module Index [+]

Quicksearch

Jabber::RPC::Server

XMLRPC Server

Public Class Methods

new(stream,class_delim=".") click to toggle source

new - creates a new server

# File lib/xmpp4r/rpc/helper/server.rb, line 24
def initialize(stream,class_delim=".")
  super(class_delim)
  @stream = stream
  @stream.add_iq_callback(120,"Helpers::RPCServer") { |iq|
    if iq.type == :set and iq.type != :result
      handle_iq(iq)
      true
    else
      false
    end
  }
end

Public Instance Methods

handle_iq(iq) click to toggle source

handles incoming iqs

iq

Jabber::IQ
  • the jabber iq

# File lib/xmpp4r/rpc/helper/server.rb, line 40
def handle_iq(iq)
  if iq.type == :set
    if iq.query.kind_of?(IqQueryRPC)
      data = iq.query
      response = IqQueryRPC.new
      data.elements.each { |rpc|
        if rpc
          response.typed_add(handle_rpc_requests(rpc))
        end
      }

      respiq = iq.answer(false)
      respiq.type = :result
      respiq.add(response)
      @stream.send(respiq)
    end
  end
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.