| 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