Class | Jabber::Vcard::Helper |
In: |
lib/xmpp4r/vcard/helper/vcard.rb
|
Parent: | Object |
Retrieve vCard of an entity
Raises exception upon retrieval error, please catch that! (The exception is ErrorException and is raisen by Stream#send_with_id.
Usage of Threads is suggested here as vCards can be very big (see /iq/vCard/PHOTO/BINVAL).
jid: | [Jabber::JID] or nil (should be stripped, nil for the client’s own vCard) |
result: | [Jabber::IqVcard] or nil (nil results may be handled as empty vCards) |
# File lib/xmpp4r/vcard/helper/vcard.rb, line 31 31: def get(jid=nil) 32: res = nil 33: request = Iq.new(:get, jid) 34: request.from = @stream.jid # Enable components to use this 35: request.add(IqVcard.new) 36: @stream.send_with_id(request) { |answer| 37: # No check for sender or queryns needed (see send_with_id) 38: if answer.type == :result 39: res = answer.vcard 40: true 41: else 42: false 43: end 44: } 45: res 46: end
Set your own vCard (Clients only)
Raises exception when setting fails
Usage of Threads suggested here, too. The function waits for approval from the server.
iqvcard: | [Jabber::IqVcard] |
# File lib/xmpp4r/vcard/helper/vcard.rb, line 57 57: def set(iqvcard) 58: iq = Iq.new(:set) 59: iq.add(iqvcard) 60: 61: @stream.send_with_id(iq) { |answer| 62: if answer.type == :result 63: true 64: else 65: false 66: end 67: } 68: end