Module: Tem::Apdus::Tag

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

Instance Method Summary collapse

Instance Method Details

#get_tagObject



32
33
34
35
# File 'lib/tem/apdus/tag.rb', line 32

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

#get_tag_data(offset, length) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/tem/apdus/tag.rb', line 19

def get_tag_data(offset, length)
  buffer_id = alloc_buffer length
  begin
    @transport.applet_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



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

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

#set_tag(tag_data) ⇒ Object



5
6
7
8
9
10
11
12
# File 'lib/tem/apdus/tag.rb', line 5

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