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 ServerError 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 30 30: def get(jid=nil) 31: res = nil 32: request = Iq.new(:get, jid) 33: request.from = @stream.jid # Enable components to use this 34: request.add(IqVcard.new) 35: @stream.send_with_id(request) { |answer| 36: # No check for sender or queryns needed (see send_with_id) 37: if answer.type == :result 38: res = answer.vcard 39: true 40: else 41: false 42: end 43: } 44: res 45: 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 56 56: def set(iqvcard) 57: iq = Iq.new(:set) 58: iq.add(iqvcard) 59: 60: @stream.send_with_id(iq) { |answer| 61: if answer.type == :result 62: true 63: else 64: false 65: end 66: } 67: end