Sha256: 971e968f3046dd6ea56ecfd2fb32a45d0f80b3290d036bf9c3d4eef38f0f00c6
Contents?: true
Size: 694 Bytes
Versions: 9
Compression:
Stored size: 694 Bytes
Contents
# frozen_string_literal: true require 'gir_ffi/class_base' module GirFFI # Base class for generated classes representing boxed types. class BoxedBase < StructBase def initialize store_pointer(nil) end def self.make_finalizer(struct) proc do if struct.owned? struct.owned = nil GObject.boxed_free gtype, struct.to_ptr end end end def self.copy(val) ptr = GObject.boxed_copy(gtype, val) wrap(ptr) end private def store_pointer(*) super make_finalizer end def make_finalizer ObjectSpace.define_finalizer self, self.class.make_finalizer(struct) end end end
Version data entries
9 entries across 9 versions & 1 rubygems