| 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