class Babeltrace2::BTSharedObject

Attributes

get_ref[R]
put_ref[R]

Public Class Methods

inherited(child) click to toggle source
# File lib/babeltrace2/types.rb, line 595
def self.inherited(child)
  child.instance_variable_set(:@get_ref, @get_ref)
  child.instance_variable_set(:@put_ref, @put_ref)
end
new(handle, retain: false, auto_release: true) click to toggle source
Calls superclass method Babeltrace2::BTObject::new
# File lib/babeltrace2/types.rb, line 604
def initialize(handle, retain: false, auto_release: true)
  super(handle)
  Babeltrace2.method(self.class.get_ref).call(handle) if retain
  ObjectSpace.define_finalizer(self, Releaser.new(handle, self.class.put_ref)) if auto_release
end