class Babeltrace2::BTTraceClass
Constants
- AddListenerStatus
- RemoveListenerStatus
Public Class Methods
from_h(self_component, h)
click to toggle source
# File lib/babeltrace2/trace-ir/trace-class.rb, line 352 def self.from_h(self_component, h) o = self_component.create_trace_class o.assigns_automatic_stream_class_id = h[:assigns_automatic_stream_class_id] unless h[:assigns_automatic_stream_class_id].nil? h[:stream_classes].each { |v| BTStreamClass.from_h(self_component, o, v) } o.user_attributes = h[:user_attributes] if h[:user_attributes] h[:bt_trace_class] = o o end
new(handle = nil, retain: true, auto_release: true, self_component: nil)
click to toggle source
Calls superclass method
# File lib/babeltrace2/trace-ir/trace-class.rb, line 102 def initialize(handle = nil, retain: true, auto_release: true, self_component: nil) if(handle) super(handle, retain: retain, auto_release: auto_release) else handle = Babeltrace2.bt_trace_class_create(self_component) raise Babeltrace2.process_error if handle.null? super(handle, retain: false) end end
Public Instance Methods
add_destruction_listener(user_func, user_data: nil)
click to toggle source
# File lib/babeltrace2/trace-ir/trace-class.rb, line 163 def add_destruction_listener(user_func, user_data: nil) user_func = Babeltrace2._wrap_trace_class_destruction_listener_func(user_func) id = @handle.to_i ptr = FFI::MemoryPointer.new(:uint64) res = Babeltrace2.bt_trace_class_add_destruction_listener(@handle, user_func, user_data, ptr) raise Babeltrace2.process_error(res) if res != :BT_TRACE_CLASS_ADD_LISTENER_STATUS_OK listener_id = ptr.read_uint64 h = Babeltrace2._callbacks[id][:destruction_listener_funcs] if h.nil? h = {} Babeltrace2._callbacks[id][:destruction_listener_funcs] = h end h[listener_id] = [user_func, user_data] listener_id end
assigns_automatic_stream_class_id()
click to toggle source
# File lib/babeltrace2/trace-ir/trace-class.rb, line 143 def assigns_automatic_stream_class_id Babeltrace2.bt_trace_class_assigns_automatic_stream_class_id(@handle) != BT_FALSE end
Also aliased as: assigns_automatic_stream_class_id?
assigns_automatic_stream_class_id=(assigns_automatic_stream_class_id)
click to toggle source
# File lib/babeltrace2/trace-ir/trace-class.rb, line 138 def assigns_automatic_stream_class_id=(assigns_automatic_stream_class_id) set_assigns_automatic_stream_class_id(assigns_automatic_stream_class_id) assigns_automatic_stream_class_id end
create_dynamic_array(element_field_class, length_field_class: nil)
Alias for: create_field_class_array_dynamic
create_dynamic_array_class(element_field_class, length_field_class: nil)
Alias for: create_field_class_array_dynamic
create_field_class_array(element_field_class, length: nil)
click to toggle source
# File lib/babeltrace2/trace-ir/trace-class.rb, line 264 def create_field_class_array(element_field_class, length: nil) case length when Integer create_field_class_array_static(element_field_class, length) when nil, BTFieldClassIntegerUnsigned create_field_class_array_dynamic(element_field_class, length_field_class: length) else raise "invalid length type" end end
Also aliased as: create_array_class, create_array
create_field_class_array_dynamic(element_field_class, length_field_class: nil)
click to toggle source
# File lib/babeltrace2/trace-ir/trace-class.rb, line 256 def create_field_class_array_dynamic(element_field_class, length_field_class: nil) BTFieldClassArrayDynamic.new(trace_class: @handle, element_field_class: element_field_class, length_field_class: length_field_class) end
Also aliased as: create_dynamic_array_class, create_dynamic_array
create_field_class_array_static(element_field_class, length)
click to toggle source
# File lib/babeltrace2/trace-ir/trace-class.rb, line 248 def create_field_class_array_static(element_field_class, length) BTFieldClassArrayStatic.new(trace_class: @handle, element_field_class: element_field_class, length: length) end
Also aliased as: create_static_array_class, create_static_array
create_field_class_bit_array(length)
click to toggle source
# File lib/babeltrace2/trace-ir/trace-class.rb, line 200 def create_field_class_bit_array(length) BTFieldClassBitArray.new(trace_class: @handle, length: length) end
Also aliased as: create_bit_array_class, create_bit_array
create_field_class_bool()
click to toggle source
# File lib/babeltrace2/trace-ir/trace-class.rb, line 194 def create_field_class_bool BTFieldClassBool.new(trace_class: @handle) end
Also aliased as: create_bool_class, create_bool
create_field_class_enumeration_signed()
click to toggle source
# File lib/babeltrace2/trace-ir/trace-class.rb, line 236 def create_field_class_enumeration_signed BTFieldClassEnumerationSigned.new(trace_class: @handle) end
Also aliased as: create_signed_enumeration_class, create_signed_enum
create_field_class_enumeration_unsigned()
click to toggle source
# File lib/babeltrace2/trace-ir/trace-class.rb, line 230 def create_field_class_enumeration_unsigned BTFieldClassEnumerationUnsigned.new(trace_class: @handle) end
Also aliased as: create_unsigned_enumeration_class, create_unsigned_enum
create_field_class_integer_signed()
click to toggle source
# File lib/babeltrace2/trace-ir/trace-class.rb, line 212 def create_field_class_integer_signed BTFieldClassIntegerSigned.new(trace_class: @handle) end
Also aliased as: create_signed_integer_class, create_signed
create_field_class_integer_unsigned()
click to toggle source
# File lib/babeltrace2/trace-ir/trace-class.rb, line 206 def create_field_class_integer_unsigned BTFieldClassIntegerUnsigned.new(trace_class: @handle) end
Also aliased as: create_unsigned_integer_class, create_unsigned
create_field_class_option(optional_field_class, selector_field_class: nil, ranges: nil)
click to toggle source
# File lib/babeltrace2/trace-ir/trace-class.rb, line 320 def create_field_class_option(optional_field_class, selector_field_class: nil, ranges: nil) case selector_field_class when nil create_field_class_option_without_selector(optional_field_class) when BTFieldClassBool create_field_class_option_with_selector_field_bool(optional_field_class, selector_field_class) when BTFieldClassIntegerUnsigned create_field_class_option_with_selector_field_integer_unsigned(optional_field_class, selector_field_class, ranges) when BTFieldClassIntegerSigned create_field_class_option_with_selector_field_integer_signed(optional_field_class, selector_field_class, ranges) else raise "invalid selector field class" end end
Also aliased as: create_option_class, create_option
create_field_class_option_with_selector_field_bool(optional_field_class, selector_field_class)
click to toggle source
# File lib/babeltrace2/trace-ir/trace-class.rb, line 291 def create_field_class_option_with_selector_field_bool(optional_field_class, selector_field_class) BTFieldClassOptionWithSelectorFieldBool.new( trace_class: @handle, optional_field_class: optional_field_class, selector_field_class: selector_field_class) end
create_field_class_option_with_selector_field_integer_signed(optional_field_class, selector_field_class, ranges)
click to toggle source
# File lib/babeltrace2/trace-ir/trace-class.rb, line 310 def create_field_class_option_with_selector_field_integer_signed(optional_field_class, selector_field_class, ranges) BTFieldClassOptionWithSelectorFieldIntegerSigned.new( trace_class: @handle, optional_field_class: optional_field_class, selector_field_class: selector_field_class, ranges: ranges) end
create_field_class_option_with_selector_field_integer_unsigned(optional_field_class, selector_field_class, ranges)
click to toggle source
# File lib/babeltrace2/trace-ir/trace-class.rb, line 300 def create_field_class_option_with_selector_field_integer_unsigned(optional_field_class, selector_field_class, ranges) BTFieldClassOptionWithSelectorFieldIntegerUnsigned.new( trace_class: @handle, optional_field_class: optional_field_class, selector_field_class: selector_field_class, ranges: ranges) end
create_field_class_option_without_selector(optional_field_class)
click to toggle source
# File lib/babeltrace2/trace-ir/trace-class.rb, line 283 def create_field_class_option_without_selector(optional_field_class) BTFieldClassOptionWithoutSelectorField.new( trace_class: @handle, optional_field_class: optional_field_class) end
Also aliased as: create_option_without_selector_class, create_option_without
create_field_class_real_double_precision()
click to toggle source
# File lib/babeltrace2/trace-ir/trace-class.rb, line 224 def create_field_class_real_double_precision BTFieldClassRealDoublePrecision.new(trace_class: @handle) end
Also aliased as: create_double_precision_real_class, create_double
create_field_class_real_single_precision()
click to toggle source
# File lib/babeltrace2/trace-ir/trace-class.rb, line 218 def create_field_class_real_single_precision BTFieldClassRealSinglePrecision.new(trace_class: @handle) end
Also aliased as: create_single_precision_real_class, create_single
create_field_class_string()
click to toggle source
# File lib/babeltrace2/trace-ir/trace-class.rb, line 242 def create_field_class_string BTFieldClassString.new(trace_class: @handle) end
Also aliased as: create_string_class, create_string
create_field_class_structure()
click to toggle source
# File lib/babeltrace2/trace-ir/trace-class.rb, line 277 def create_field_class_structure BTFieldClassStructure.new(trace_class: @handle) end
Also aliased as: create_structure_class, create_structure
create_field_class_variant(selector_field_class: nil)
click to toggle source
# File lib/babeltrace2/trace-ir/trace-class.rb, line 337 def create_field_class_variant(selector_field_class: nil) BTFieldClassVariant.new(trace_class: @handle, selector_field_class: selector_field_class) end
Also aliased as: create_variant_class, create_variant
create_option(optional_field_class, selector_field_class: nil, ranges: nil)
Alias for: create_field_class_option
create_option_class(optional_field_class, selector_field_class: nil, ranges: nil)
Alias for: create_field_class_option
create_option_with_bool_selector_field(optional_field_class, selector_field_class)
create_option_with_bool_selector_field_class(optional_field_class, selector_field_class)
create_option_with_signed_integer_selector_field(optional_field_class, selector_field_class, ranges)
create_option_with_signed_integer_selector_field_class(optional_field_class, selector_field_class, ranges)
create_option_with_unsigned_integer_selector_field(optional_field_class, selector_field_class, ranges)
create_option_with_unsigned_integer_selector_field_class(optional_field_class, selector_field_class, ranges)
create_option_without_selector_class(optional_field_class)
Alias for: create_field_class_option_without_selector
create_stream_class(id: nil)
click to toggle source
# File lib/babeltrace2/trace-ir/trace-class.rb, line 186 def create_stream_class(id: nil) BTStreamClass.new(trace_class: @handle, id: id) end
create_trace()
click to toggle source
# File lib/babeltrace2/trace-ir/trace-class.rb, line 190 def create_trace BTTrace.new(trace_class: @handle) end
get_stream_class_by_id(id)
click to toggle source
# File lib/babeltrace2/trace-ir/trace-class.rb, line 126 def get_stream_class_by_id(id) handle = Babeltrace2.bt_trace_class_borrow_stream_class_by_id(@handle, id) return nil if handle.null? BTStreamClass.new(handle, retain: true) end
get_stream_class_by_index(index)
click to toggle source
# File lib/babeltrace2/trace-ir/trace-class.rb, line 118 def get_stream_class_by_index(index) count = get_stream_class_count index += count if index < 0 return nil if index >= count || index < 0 BTStreamClass.new( Babeltrace2.bt_trace_class_borrow_stream_class_by_index(@handle, index)) end
get_stream_class_count()
click to toggle source
# File lib/babeltrace2/trace-ir/trace-class.rb, line 113 def get_stream_class_count Babeltrace2.bt_trace_class_get_stream_class_count(@handle) end
Also aliased as: stream_class_count
get_user_attributes()
click to toggle source
# File lib/babeltrace2/trace-ir/trace-class.rb, line 158 def get_user_attributes BTValueMap.new(Babeltrace2.bt_trace_class_borrow_user_attributes(@handle), retain: true) end
Also aliased as: user_attributes
remove_destruction_listener(listener_id)
click to toggle source
# File lib/babeltrace2/trace-ir/trace-class.rb, line 179 def remove_destruction_listener(listener_id) res = Babeltrace2.bt_trace_class_remove_destruction_listener(@handle, listener_id) raise Babeltrace2.process_error(res) if res != :BT_TRACE_CLASS_REMOVE_LISTENER_STATUS_OK Babeltrace2._callbacks[@handle.to_i][:destruction_listener_funcs].delete(listener_id) self end
set_assigns_automatic_stream_class_id(assigns_automatic_stream_class_id)
click to toggle source
# File lib/babeltrace2/trace-ir/trace-class.rb, line 132 def set_assigns_automatic_stream_class_id(assigns_automatic_stream_class_id) Babeltrace2.bt_trace_class_set_assigns_automatic_stream_class_id( @handle, assigns_automatic_stream_class_id ? BT_TRUE : BT_FALSE) self end
set_user_attributes(user_attributes)
click to toggle source
# File lib/babeltrace2/trace-ir/trace-class.rb, line 148 def set_user_attributes(user_attributes) Babeltrace2.bt_trace_class_set_user_attributes(@handle, BTValue.from_value(user_attributes)) self end
to_h()
click to toggle source
# File lib/babeltrace2/trace-ir/trace-class.rb, line 343 def to_h res = { assigns_automatic_stream_class_id: assigns_automatic_stream_class_id?, stream_classes: stream_class_count.times.collect { |i| get_stream_class_by_index(i).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)
click to toggle source
# File lib/babeltrace2/trace-ir/trace-class.rb, line 153 def user_attributes=(user_attributes) set_user_attributes(user_attributes) user_attributes end