Class: Babeltrace2::BTField::String

Inherits:
Babeltrace2::BTField show all
Defined in:
lib/babeltrace2/trace-ir/field.rb

Constant Summary collapse

SetValueStatus =
BTFieldStringSetValueStatus
AppendStatus =
BTFieldStringAppendStatus

Constants inherited from Babeltrace2::BTField

TYPE_MAP

Instance Attribute Summary

Attributes inherited from Babeltrace2::BTObject

#handle

Instance Method Summary collapse

Methods inherited from Babeltrace2::BTField

from_handle, #get_class, #get_class_type

Methods inherited from Babeltrace2::BTObject

#==, #initialize, #to_ptr

Constructor Details

This class inherits a constructor from Babeltrace2::BTObject

Instance Method Details

#<<(value) ⇒ Object



473
474
475
# File 'lib/babeltrace2/trace-ir/field.rb', line 473

def <<(value)
  append(value)
end

#append(value, length: nil) ⇒ Object



461
462
463
464
465
466
467
468
469
470
471
# File 'lib/babeltrace2/trace-ir/field.rb', line 461

def append(value, length: nil)
  res = if length
      ptr = FFI::MemoryPointer.new(length)
      ptr.write_bytes(value, 0, length)
      Babeltrace2.bt_field_string_append_with_length(@handle, ptr, length)
    else
      Babeltrace2.bt_field_string_append(@handle, value)
    end
  raise Babeltrace2.process_error(res) if res != :BT_FIELD_STRING_APPEND_STATUS_OK
  self
end

#clearObject Also known as: clear!



477
478
479
480
# File 'lib/babeltrace2/trace-ir/field.rb', line 477

def clear
  Babeltrace2.bt_field_string_clear(@handle)
  self
end

#get_lengthObject Also known as: length



445
446
447
# File 'lib/babeltrace2/trace-ir/field.rb', line 445

def get_length
  Babeltrace2.bt_field_string_get_length(@handle)
end

#get_raw_valueObject Also known as: raw_value



456
457
458
# File 'lib/babeltrace2/trace-ir/field.rb', line 456

def get_raw_value
  Babeltrace2.bt_field_string_get_value_ptr(@handle).slice(0, get_length)
end

#get_valueObject Also known as: value, to_s



450
451
452
# File 'lib/babeltrace2/trace-ir/field.rb', line 450

def get_value
  Babeltrace2.bt_field_string_get_value_ptr(@handle).read_string(length)
end

#set_value(value) ⇒ Object



434
435
436
437
438
# File 'lib/babeltrace2/trace-ir/field.rb', line 434

def set_value(value)
  res = Babeltrace2.bt_field_string_set_value(@handle, value)
  raise Babeltrace2.process_error(res) if res != :BT_FIELD_STRING_SET_VALUE_STATUS_OK
  self
end

#value=(value) ⇒ Object



440
441
442
443
# File 'lib/babeltrace2/trace-ir/field.rb', line 440

def value=(value)
  set_value(value)
  value
end