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



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

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

#get_field_classObject Also known as: field_class



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

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

#get_nameObject Also known as: name



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

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



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

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



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

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

#to_hObject



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

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



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

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