Class | Jabber::RPC::Server |
In: |
lib/xmpp4r/rpc/helper/server.rb
|
Parent: | XMLRPC::BasicServer |
# File lib/xmpp4r/rpc/helper/server.rb, line 24 24: def initialize(stream,class_delim=".") 25: super(class_delim) 26: @stream = stream 27: @stream.add_iq_callback(120,"Helpers::RPCServer") { |iq| 28: if iq.type == :set and iq.type != :result 29: handle_iq(iq) 30: true 31: else 32: false 33: end 34: } 35: end
handles incoming iqs
iq: | [Jabber::IQ] - the jabber iq |
# File lib/xmpp4r/rpc/helper/server.rb, line 40 40: def handle_iq(iq) 41: if iq.type == :set 42: if iq.query.kind_of?(IqQueryRPC) 43: data = iq.query 44: response = IqQueryRPC.new 45: data.elements.each { |rpc| 46: if rpc 47: response.typed_add(handle_rpc_requests(rpc)) 48: end 49: } 50: 51: respiq = iq.answer(false) 52: respiq.type = :result 53: respiq.add(response) 54: @stream.send(respiq) 55: end 56: end 57: end