Class: Babeltrace2::BTFieldClass::Structure::Member

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

Instance Attribute Summary

Attributes inherited from Babeltrace2::BTObject

#handle

Instance Method Summary collapse

Methods inherited from Babeltrace2::BTObject

#==, #initialize, #to_ptr

Constructor Details

This class inherits a constructor from Babeltrace2::BTObject

Instance Method Details

#from_h(h) ⇒ Object



1038
1039
1040
1041
# File 'lib/babeltrace2/trace-ir/field-class.rb', line 1038

def from_h(h)
  self.user_attributes = h[:user_attributes] if h[:user_attributes]
  self
end

#get_field_classObject Also known as: field_class



1009
1010
1011
1012
# File 'lib/babeltrace2/trace-ir/field-class.rb', line 1009

def get_field_class
  BTFieldClass.from_handle(
    Babeltrace2.bt_field_class_structure_member_borrow_field_class(@handle))
end

#get_nameObject Also known as: name



1003
1004
1005
1006
# File 'lib/babeltrace2/trace-ir/field-class.rb', line 1003

def get_name
  name = Babeltrace2.bt_field_class_structure_member_get_name(@handle)
  name[0] == ':' ? name[1..-1].to_sym : name
end

#get_user_attributesObject Also known as: user_attributes



1026
1027
1028
# File 'lib/babeltrace2/trace-ir/field-class.rb', line 1026

def get_user_attributes
  BTValueMap.new(Babeltrace2.bt_field_class_structure_member_borrow_user_attributes(@handle), retain: true)
end

#set_user_attributes(user_attributes) ⇒ Object



1015
1016
1017
1018
1019
# File 'lib/babeltrace2/trace-ir/field-class.rb', line 1015

def set_user_attributes(user_attributes)
  bt_user_attributes = BTValue.from_value(user_attributes)
  Babeltrace2.bt_field_class_structure_member_set_user_attributes(@handle, bt_user_attributes)
  self
end

#to_hObject



1031
1032
1033
1034
1035
1036
# File 'lib/babeltrace2/trace-ir/field-class.rb', line 1031

def to_h
  res = { name: name, field_class: field_class.to_h }
  user_attributes_value = user_attributes.value
  res[:user_attributes] = user_attributes_value if !user_attributes_value.empty?
  res
end

#user_attributes=(user_attributes) ⇒ Object



1021
1022
1023
1024
# File 'lib/babeltrace2/trace-ir/field-class.rb', line 1021

def user_attributes=(user_attributes)
  set_user_attributes(user_attributes)
  user_attributes
end