Sha256: 4f2d3658044f21baa9e8792c1708ebc27431432eb11c7aedabdc2690833d490d
Contents?: true
Size: 645 Bytes
Versions: 2
Compression:
Stored size: 645 Bytes
Contents
# frozen_string_literal: true require "gir_ffi/class_base" module GirFFI # Base class for generated classes representing boxed types. class BoxedBase < StructLikeBase 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
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
gir_ffi-0.15.5 | lib/gir_ffi/boxed_base.rb |
gir_ffi-0.15.4 | lib/gir_ffi/boxed_base.rb |