class Babeltrace2::BTStreamClass

Constants

SetDefaultClockClassStatus
SetFieldClassStatus
SetNameStatus

Public Class Methods

from_h(self_component, trace_class, h) click to toggle source
# File lib/babeltrace2/trace-ir/stream-class.rb, line 455
def self.from_h(self_component, trace_class, h)
  id = trace_class.assigns_automatic_stream_class_id? ? nil : h[:id]
  o = trace_class.create_stream_class(id: id)
  o.default_clock_class = BTClockClass.from_h(self_component,
    h[:default_clock_class]) if h[:default_clock_class]
  o.set_supports_packets( h[:supports_packets],
    with_beginning_default_clock_snapshot:
      h[:packets_have_beginning_default_clock_snapshot],
    with_end_default_clock_snapshot:
      h[:packets_have_end_default_clock_snapshot])
  o.set_supports_discarded_events(h[:supports_discarded_events],
    with_default_clock_snapshots:
      h[:discarded_events_have_default_clock_snapshots])
  o.set_supports_discarded_packets(h[:supports_discarded_packets],
    with_default_clock_snapshots:
      h[:discarded_packets_have_default_clock_snapshots]) if h[:supports_packets]
  o.packet_context_field_class = BTFieldClass.from_h(trace_class,
    h[:packet_context_field_class], h) if h[:packet_context_field_class]
  o.event_common_context_field_class = BTFieldClass.from_h(trace_class,
    h[:event_common_context_field_class], h) if h[:event_common_context_field_class]
  o.assigns_automatic_event_class_id = h[:assigns_automatic_event_class_id] unless h[:assigns_automatic_event_class_id].nil?
  o.assigns_automatic_stream_id = h[:assigns_automatic_stream_id] unless h[:assigns_automatic_stream_id].nil?
  h[:event_classes].each_with_index { |v, i|
    h[:bt_current_event] = i;
    BTEventClass.from_h(trace_class, o, v, h)
  }
  h.delete(:bt_current_event)
  o.user_attributes = h[:user_attributes] if h[:user_attributes]
  h[:bt_stream_class] = o
  o
end
locate_field_class(path, h) click to toggle source
# File lib/babeltrace2/trace-ir/stream-class.rb, line 487
def self.locate_field_class(path, h)
  case path[0]
  when :event_payload_field_class
    h[:event_classes][h[:bt_current_event]][:payload_field_class].dig(*path[1..-1])[:bt_field_class]
  when :event_specific_context_field_class
    h[:event_classes][h[:bt_current_event]][:specific_context_field_class].dig(*path[1..-1])[:bt_field_class]
  else
    h.dig(*path)[:bt_field_class]
  end
end
new(handle = nil, retain: true, auto_release: true, trace_class: nil, id: nil) click to toggle source
Calls superclass method
# File lib/babeltrace2/trace-ir/stream-class.rb, line 193
def initialize(handle = nil, retain: true, auto_release: true,
               trace_class: nil, id: nil)
  if handle
    super(handle, retain: retain, auto_release: auto_release)
  else
    handle = if id
        Babeltrace2.bt_stream_class_create_with_id(trace_class, id)
      else
        Babeltrace2.bt_stream_class_create(trace_class)
      end
    raise Babeltrace2.process_error if handle.null?
    super(handle, retain: false)
  end
end

Public Instance Methods

assigns_automatic_event_class_id() click to toggle source
# File lib/babeltrace2/trace-ir/stream-class.rb, line 320
def assigns_automatic_event_class_id
  Babeltrace2.bt_stream_class_assigns_automatic_event_class_id(@handle) != BT_FALSE
end
assigns_automatic_event_class_id=(assigns_automatic_event_class_id) click to toggle source
# File lib/babeltrace2/trace-ir/stream-class.rb, line 315
def assigns_automatic_event_class_id=(assigns_automatic_event_class_id)
  set_assigns_automatic_event_class_id(assigns_automatic_event_class_id)
  assigns_automatic_event_class_id
end
assigns_automatic_event_class_id?()
assigns_automatic_stream_id() click to toggle source
# File lib/babeltrace2/trace-ir/stream-class.rb, line 336
def assigns_automatic_stream_id
  Babeltrace2.bt_stream_class_assigns_automatic_stream_id(@handle) != BT_FALSE
end
Also aliased as: assigns_automatic_stream_id?
assigns_automatic_stream_id=(assigns_automatic_stream_id) click to toggle source
# File lib/babeltrace2/trace-ir/stream-class.rb, line 331
def assigns_automatic_stream_id=(assigns_automatic_stream_id)
  set_assigns_automatic_stream_id(assigns_automatic_stream_id)
  assigns_automatic_stream_id
end
assigns_automatic_stream_id?()
create_event_class(id: nil) click to toggle source
# File lib/babeltrace2/trace-ir/stream-class.rb, line 502
def create_event_class(id: nil)
  BTEventClass.new(stream_class: @handle, id: nil)
end
create_stream(trace, id: nil) click to toggle source
# File lib/babeltrace2/trace-ir/stream-class.rb, line 498
def create_stream(trace, id: nil)
  BTStream.new(stream_class: @handle, trace: trace, id: nil)
end
default_clock_class()
default_clock_class=(clock_class) click to toggle source
# File lib/babeltrace2/trace-ir/stream-class.rb, line 259
def default_clock_class=(clock_class)
  set_default_clock_class(clock_class)
  clock_class
end
discarded_events_have_default_clock_snapshots() click to toggle source
# File lib/babeltrace2/trace-ir/stream-class.rb, line 379
def discarded_events_have_default_clock_snapshots
  Babeltrace2.bt_stream_class_discarded_events_have_default_clock_snapshots(@handle) != BT_FALSE
end
discarded_events_have_default_clock_snapshots?()
discarded_packets_have_default_clock_snapshots() click to toggle source
# File lib/babeltrace2/trace-ir/stream-class.rb, line 397
def discarded_packets_have_default_clock_snapshots
  Babeltrace2.bt_stream_class_discarded_packets_have_default_clock_snapshots(@handle) != BT_FALSE
end
discarded_packets_have_default_clock_snapshots?()
event_class_count()
event_common_context_field_class()
event_common_context_field_class=(field_class) click to toggle source
# File lib/babeltrace2/trace-ir/stream-class.rb, line 297
def event_common_context_field_class=(field_class)
  set_event_common_context_field_class(field_class)
  field_class
end
get_default_clock_class() click to toggle source
# File lib/babeltrace2/trace-ir/stream-class.rb, line 264
def get_default_clock_class
  handle = Babeltrace2.bt_stream_class_borrow_default_clock_class(@handle)
  return nil if handle.null?
  BTClockClass.new(handle, retain: true)
end
Also aliased as: default_clock_class
get_event_class_by_id(id) click to toggle source
# File lib/babeltrace2/trace-ir/stream-class.rb, line 226
def get_event_class_by_id(id)
  handle = Babeltrace2.bt_stream_class_borrow_event_class_by_id(@handle, id)
  return nil if handle.null?
  BTEventClass.new(handle, retain: true)
end
get_event_class_by_index(index) click to toggle source
# File lib/babeltrace2/trace-ir/stream-class.rb, line 218
def get_event_class_by_index(index)
  count = event_class_count
  index += count if count < 0
  return nil if index >= count || index < 0
  BTEventClass.new(
    Babeltrace2.bt_stream_class_borrow_event_class_by_index(@handle, index), retain: true)
end
get_event_class_count() click to toggle source
# File lib/babeltrace2/trace-ir/stream-class.rb, line 213
def get_event_class_count
  Babeltrace2.bt_stream_class_get_event_class_count(@handle)
end
Also aliased as: event_class_count
get_event_common_context_field_class() click to toggle source
# File lib/babeltrace2/trace-ir/stream-class.rb, line 302
def get_event_common_context_field_class
  handle = Babeltrace2.bt_stream_class_borrow_event_common_context_field_class(@handle)
  return nil if handle.null?
  BTFieldClass.from_handle(handle)
end
get_id() click to toggle source
# File lib/babeltrace2/trace-ir/stream-class.rb, line 232
def get_id
  Babeltrace2.bt_stream_class_get_id(@handle)
end
Also aliased as: id
get_name() click to toggle source
# File lib/babeltrace2/trace-ir/stream-class.rb, line 248
def get_name
  Babeltrace2.bt_stream_class_get_name(@handle)
end
Also aliased as: name
get_packet_context_field_class() click to toggle source
# File lib/babeltrace2/trace-ir/stream-class.rb, line 283
def get_packet_context_field_class
  handle = Babeltrace2.bt_stream_class_borrow_packet_context_field_class(@handle)
  return nil if handle.null?
  BTFieldClass.from_handle(handle)
end
Also aliased as: packet_context_field_class
get_trace_class() click to toggle source
# File lib/babeltrace2/trace-ir/stream-class.rb, line 208
def get_trace_class
  BTTraceClass.new(Babeltrace2.bt_stream_class_borrow_trace_class(@handle), retain: true)
end
Also aliased as: trace_class
get_user_attributes() click to toggle source
# File lib/babeltrace2/trace-ir/stream-class.rb, line 412
def get_user_attributes
  BTValueMap.new(Babeltrace2.bt_stream_class_borrow_user_attributes(@handle), retain: true)
end
Also aliased as: user_attributes
id()
Alias for: get_id
name()
Alias for: get_name
name=(name) click to toggle source
# File lib/babeltrace2/trace-ir/stream-class.rb, line 243
def name=(name)
  set_name(name)
  name
end
packet_context_field_class()
packet_context_field_class=(field_class) click to toggle source
# File lib/babeltrace2/trace-ir/stream-class.rb, line 278
def packet_context_field_class=(field_class)
  set_packet_context_field_class(field_class)
  field_class
end
packets_have_beginning_default_clock_snapshot() click to toggle source
# File lib/babeltrace2/trace-ir/stream-class.rb, line 356
def packets_have_beginning_default_clock_snapshot
  Babeltrace2.bt_stream_class_packets_have_beginning_default_clock_snapshot(@handle) != BT_FALSE
end
packets_have_beginning_default_clock_snapshot?()
packets_have_end_default_clock_snapshot() click to toggle source
# File lib/babeltrace2/trace-ir/stream-class.rb, line 361
def packets_have_end_default_clock_snapshot
  Babeltrace2.bt_stream_class_packets_have_end_default_clock_snapshot(@handle) != BT_FALSE
end
packets_have_end_default_clock_snapshot?()
set_assigns_automatic_event_class_id(assigns_automatic_event_class_id) click to toggle source
# File lib/babeltrace2/trace-ir/stream-class.rb, line 309
def set_assigns_automatic_event_class_id(assigns_automatic_event_class_id)
  Babeltrace2.bt_stream_class_set_assigns_automatic_event_class_id(
    @handle, assigns_automatic_event_class_id ? BT_TRUE : BT_FALSE)
  self
end
set_assigns_automatic_stream_id(assigns_automatic_stream_id) click to toggle source
# File lib/babeltrace2/trace-ir/stream-class.rb, line 325
def set_assigns_automatic_stream_id(assigns_automatic_stream_id)
  Babeltrace2.bt_stream_class_set_assigns_automatic_stream_id(
    @handle, assigns_automatic_stream_id ? BT_TRUE : BT_FALSE)
  self
end
set_default_clock_class(clock_class) click to toggle source
# File lib/babeltrace2/trace-ir/stream-class.rb, line 253
def set_default_clock_class(clock_class)
  res = Babeltrace2.bt_stream_class_set_default_clock_class(@handle, clock_class)
  raise Babeltrace2.process_error(res) if res != :BT_STREAM_CLASS_SET_DEFAULT_CLOCK_CLASS_STATUS_OK
  self
end
set_event_common_context_field_class(field_class) click to toggle source
# File lib/babeltrace2/trace-ir/stream-class.rb, line 290
def set_event_common_context_field_class(field_class)
  res = Babeltrace2.bt_stream_class_set_event_common_context_field_class(
          @handle, field_class)
  raise Babeltrace2.process_error(res) if res != :BT_STREAM_CLASS_SET_FIELD_CLASS_STATUS_OK
  self
end
set_name(name) click to toggle source
# File lib/babeltrace2/trace-ir/stream-class.rb, line 237
def set_name(name)
  res = Babeltrace2.bt_stream_class_set_name(@handle, name)
  raise Babeltrace2.process_error(res) if res != :BT_STREAM_CLASS_SET_NAME_STATUS_OK
  self
end
set_packet_context_field_class(field_class) click to toggle source
# File lib/babeltrace2/trace-ir/stream-class.rb, line 271
def set_packet_context_field_class(field_class)
  res = Babeltrace2.bt_stream_class_set_packet_context_field_class(
          @handle, field_class)
  raise Babeltrace2.process_error(res) if res != :BT_STREAM_CLASS_SET_FIELD_CLASS_STATUS_OK
  self
end
set_supports_discarded_events(supports_discarded_events, with_default_clock_snapshots: false) click to toggle source
# File lib/babeltrace2/trace-ir/stream-class.rb, line 366
def set_supports_discarded_events(supports_discarded_events,
                                  with_default_clock_snapshots: false)
  Babeltrace2.bt_stream_class_set_supports_discarded_events(
    @handle, supports_discarded_events ? BT_TRUE : BT_FALSE,
    with_default_clock_snapshots ? BT_TRUE : BT_FALSE)
  self
end
set_supports_discarded_packets(supports_discarded_packets, with_default_clock_snapshots: false) click to toggle source
# File lib/babeltrace2/trace-ir/stream-class.rb, line 384
def set_supports_discarded_packets(supports_discarded_packets,
                                  with_default_clock_snapshots: false)
  Babeltrace2.bt_stream_class_set_supports_discarded_packets(
    @handle, supports_discarded_packets ? BT_TRUE : BT_FALSE,
    with_default_clock_snapshots ? BT_TRUE : BT_FALSE)
  self
end
set_supports_packets(supports_packets, with_beginning_default_clock_snapshot: false, with_end_default_clock_snapshot: false) click to toggle source
# File lib/babeltrace2/trace-ir/stream-class.rb, line 341
def set_supports_packets(supports_packets,
                         with_beginning_default_clock_snapshot: false,
                         with_end_default_clock_snapshot: false)
  Babeltrace2.bt_stream_class_set_supports_packets(@handle,
    supports_packets ? BT_TRUE : BT_FALSE,
    with_beginning_default_clock_snapshot ? BT_TRUE : BT_FALSE,
    with_end_default_clock_snapshot ? BT_TRUE : BT_FALSE)
  self
end
set_user_attributes(user_attributes) click to toggle source
# File lib/babeltrace2/trace-ir/stream-class.rb, line 402
def set_user_attributes(user_attributes)
  Babeltrace2.bt_stream_class_set_user_attributes(@handle, BTValue.from_value(user_attributes))
  self
end
supports_discarded_events() click to toggle source
# File lib/babeltrace2/trace-ir/stream-class.rb, line 374
def supports_discarded_events
  Babeltrace2.bt_stream_class_supports_discarded_events(@handle) != BT_FALSE
end
Also aliased as: supports_discarded_events?
supports_discarded_events?()
supports_discarded_packets() click to toggle source
# File lib/babeltrace2/trace-ir/stream-class.rb, line 392
def supports_discarded_packets
  Babeltrace2.bt_stream_class_supports_discarded_packets(@handle) != BT_FALSE
end
Also aliased as: supports_discarded_packets?
supports_discarded_packets?()
supports_packets() click to toggle source
# File lib/babeltrace2/trace-ir/stream-class.rb, line 351
def supports_packets
  Babeltrace2.bt_stream_class_supports_packets(@handle) != BT_FALSE
end
Also aliased as: supports_packets?
supports_packets?()
Alias for: supports_packets
to_h() click to toggle source
# File lib/babeltrace2/trace-ir/stream-class.rb, line 417
def to_h
  res = {
    id: id,
    supports_packets: supports_packets? }
  if supports_packets?
    res[:packets_have_beginning_default_clock_snapshot] =
      packets_have_beginning_default_clock_snapshot?
    res[:packets_have_end_default_clock_snapshot] =
      packets_have_end_default_clock_snapshot?
  end
  res[:supports_discarded_events] = supports_discarded_events?
  res[:discarded_events_have_default_clock_snapshots] =
    discarded_events_have_default_clock_snapshots? if supports_discarded_events?
  if supports_packets?
    res[:supports_discarded_packets] = supports_discarded_packets?
    if supports_discarded_packets?
      res[:discarded_packets_have_default_clock_snapshots] = discarded_packets_have_default_clock_snapshots?
    end
  end
  if default_clock_class
    res[:default_clock_class] = default_clock_class.to_h
  end
  if supports_packets? && packet_context_field_class
    res[:packet_context_field_class] = packet_context_field_class.to_h
  end
  if event_common_context_field_class
    res[:event_common_context_field_class] = event_common_context_field_class.to_h
  end
  res[:assigns_automatic_event_class_id] = assigns_automatic_event_class_id?
  res[:assigns_automatic_stream_id] = assigns_automatic_stream_id?
  res[:event_classes] = event_class_count.times.collect { |i|
    get_event_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
trace_class()
Alias for: get_trace_class
user_attributes()
Alias for: get_user_attributes
user_attributes=(user_attributes) click to toggle source
# File lib/babeltrace2/trace-ir/stream-class.rb, line 407
def user_attributes=(user_attributes)
  set_user_attributes(user_attributes)
  user_attributes
end