Class: Babeltrace2::BTFieldClass::Option::WithSelectorField::Bool

Constant Summary

Constants inherited from Babeltrace2::BTFieldClass

IntegerSigned, IntegerUnsigned, RealDoublePrecision, RealSinglePrecision, TYPE_MAP

Instance Attribute Summary

Attributes inherited from Babeltrace2::BTObject

#handle

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Babeltrace2::BTFieldClass::Option::WithSelectorField

#get_selector_field_path

Methods inherited from Babeltrace2::BTFieldClass::Option

#get_field_class

Methods inherited from Babeltrace2::BTFieldClass

#from_h, from_handle, #get_type, #get_user_attributes, #set_user_attributes, #type_is, #user_attributes=

Methods inherited from Babeltrace2::BTSharedObject

inherited

Methods inherited from Babeltrace2::BTObject

#==, #to_ptr

Constructor Details

#initialize(handle = nil, retain: true, auto_release: true, trace_class: nil, optional_field_class: nil, selector_field_class: nil) ⇒ Bool

Returns a new instance of Bool.



1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
# File 'lib/babeltrace2/trace-ir/field-class.rb', line 1206

def initialize(handle = nil, retain: true, auto_release: true,
               trace_class: nil, optional_field_class: nil, selector_field_class: nil)
  if handle
    super(handle, retain: retain, auto_release: auto_release)
  else
    handle = Babeltrace2.bt_field_class_option_with_selector_field_bool_create(
               trace_class, optional_field_class, selector_field_class)
    raise Babeltrace2.process_error if handle.null?
    super(handle, retain: false)
  end
end

Class Method Details

.from_h(trace_class, h, stream_class_h = nil) ⇒ Object



1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
# File 'lib/babeltrace2/trace-ir/field-class.rb', line 1241

def self.from_h(trace_class, h, stream_class_h = nil)
  if (stream_class_h && h[:selector_field_path])
    selector_field_class = BTStreamClass.locate_field_class( 
      BTFieldPath.path_from_s_to_h(h[:selector_field_path]), stream_class_h)
  else
    selector_field_class = nil
  end
  o = self.new(trace_class: trace_class,
    optional_field_class: BTFieldClass.from_h(trace_class,
                                              h[:field_class],
                                              stream_class_h),
    selector_field_class: selector_field_class).from_h(h)
  o.selector_is_reversed = h[:selector_is_reversed] if h[:selector_is_reversed]
  h[:bt_field_class] = o
  o
end

Instance Method Details

#selector_is_reversedObject Also known as: selector_is_reversed?



1229
1230
1231
1232
# File 'lib/babeltrace2/trace-ir/field-class.rb', line 1229

def selector_is_reversed
  Babeltrace2.bt_field_class_option_with_selector_field_bool_selector_is_reversed(
    @handle) != BT_FALSE
end

#selector_is_reversed=(selector_is_reversed) ⇒ Object



1224
1225
1226
1227
# File 'lib/babeltrace2/trace-ir/field-class.rb', line 1224

def selector_is_reversed=(selector_is_reversed)
  set_selector_is_reversed(selector_is_reversed)
  selector_is_reversed
end

#set_selector_is_reversed(selector_is_reversed) ⇒ Object



1218
1219
1220
1221
1222
# File 'lib/babeltrace2/trace-ir/field-class.rb', line 1218

def set_selector_is_reversed(selector_is_reversed)
  Babeltrace2.bt_field_class_option_with_selector_field_bool_set_selector_is_reversed(
    @handle, selector_is_reversed ? BT_TRUE : BT_FALSE)
  self
end

#to_hObject



1235
1236
1237
1238
1239
# File 'lib/babeltrace2/trace-ir/field-class.rb', line 1235

def to_h
  res = super
  res[:selector_is_reversed] = selector_is_reversed?
  res
end