Method: Jabber::FileTransfer::Helper#initialize

Defined in:
lib/xmpp4r/bytestreams/helper/filetransfer.rb

#initialize(stream) ⇒ Helper

Create a new FileTransfer instance



140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
# File 'lib/xmpp4r/bytestreams/helper/filetransfer.rb', line 140

def initialize(stream)
  @stream = stream
  @my_jid = nil
  @allow_bytestreams = true
  @allow_ibb = true

  @incoming_cbs = CallbackList.new

  @stream.add_iq_callback(150, self) { |iq|
    if iq.type == :set
      file = iq.first_element('si/file')
      field = nil
      iq.each_element('si/feature/x') { |e| field = e.field('stream-method') }

      if file and field
        @incoming_cbs.process(iq, file)
        true
      else
        false
      end
    else
      false
    end
  }
end