Class: Hbci4Jruby::HBCICallback

Inherits:
AbstractHBCICallback
  • Object
show all
Defined in:
lib/hbci4jruby/hbci_callback.rb

Constant Summary collapse

@@status_names =
{}

Instance Method Summary collapse

Instance Method Details

#build_answer(banking_passport) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/hbci4jruby/hbci_callback.rb', line 6

def build_answer banking_passport
  answer = {}
  answer[NEED_PT_PIN]     = banking_passport.pin
  answer[NEED_CUSTOMERID] = banking_passport.customer_id
  answer[NEED_USERID]     = banking_passport.user_id
  answer[NEED_COUNTRY]    = banking_passport.country_code
  answer[NEED_BLZ]        = banking_passport.bank_number
  answer[NEED_FILTER]     = banking_passport.filter
  answer[NEED_HOST]       = banking_passport.host
  answer[NEED_PORT]       = banking_passport.port
  answer
end

#callback(passport, reason, msg, dataType, retData) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/hbci4jruby/hbci_callback.rb', line 19

def callback(passport, reason, msg, dataType, retData)
  banking_passport = passport.getClientData('init')

  # for reason enum definitions see HBCICallback.java in hbci4java
  answer = build_answer(banking_passport)[reason]
  if answer
    retData.replace(0, retData.length, answer)
  else
    case reason
      when NEED_PASSPHRASE_LOAD then retData.replace(0, retData.length, passphrase)
      when NEED_PASSPHRASE_SAVE then retData.replace(0, retData.length, "foo")
      when NEED_PT_PIN then retData.replace(0, retData.length, pin)
      when NEED_PT_TAN then retData.replace(0, retData.length, tan)
      when NEED_CONNECTION, CLOSE_CONNECTION then nil
      else puts "not implemented #{reason}"
    end
  end
end

#log(msg, level, date, trace) ⇒ Object



38
39
40
# File 'lib/hbci4jruby/hbci_callback.rb', line 38

def log(msg, level, date, trace)
  #puts msg
end

#status(passport, statusTag, o) ⇒ Object



42
43
44
# File 'lib/hbci4jruby/hbci_callback.rb', line 42

def status(passport, statusTag, o)
  #puts @@status_names[statusTag]
end