Module: Tem::Apdus::Tag

Included in:
Session
Defined in:
lib/tem/apdus/tag.rb

Instance Method Summary collapse

Instance Method Details

#get_tagObject



39
40
41
42
# File 'lib/tem/apdus/tag.rb', line 39

def get_tag
  tag_length = self.get_tag_length
  get_tag_data 0, tag_length
end

#get_tag_data(offset, length) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/tem/apdus/tag.rb', line 26

def get_tag_data(offset, length)
  buffer_id = alloc_buffer length
  begin
    @transport.iso_apdu! :ins => 0x32, :p1 => buffer_id,
                         :data => [to_tem_short(offset),
                                   to_tem_short(length)].flatten
    tag_data = read_buffer buffer_id
  ensure
    release_buffer buffer_id
  end
  tag_data
end

#get_tag_lengthObject



21
22
23
24
# File 'lib/tem/apdus/tag.rb', line 21

def get_tag_length
  response = @transport.iso_apdu! :ins => 0x31
  return read_tem_short(response, 0)
end

#set_tag(tag_data) ⇒ Object



12
13
14
15
16
17
18
19
# File 'lib/tem/apdus/tag.rb', line 12

def set_tag(tag_data)    
  buffer_id = post_buffer tag_data
  begin
    @transport.iso_apdu! :ins => 0x30, :p1 => buffer_id
  ensure
    release_buffer buffer_id
  end
end