class GirFFI::ObjectBase

Base class for all generated classes of type :object.

Public Class Methods

copy_from(val) click to toggle source
# File lib/gir_ffi/object_base.rb, line 40
def self.copy_from(val)
  val&.ref
end
copy_value_to_pointer(value, pointer, offset = 0) click to toggle source
# File lib/gir_ffi/object_base.rb, line 30
def self.copy_value_to_pointer(value, pointer, offset = 0)
  pointer.put_pointer offset, value.to_ptr
end
find_property(name) click to toggle source

Find property info for the named property.

@param name The property's name

@return [GObjectIntrospection::IPropertyInfo] The property's info

# File lib/gir_ffi/object_base.rb, line 51
def self.find_property(name)
  gir_ffi_builder.find_property name
end
find_signal(name) click to toggle source

Find signal info for the named signal.

@param name The signal's name

@return [GObjectIntrospection::ISignalInfo] The signal's info

# File lib/gir_ffi/object_base.rb, line 62
def self.find_signal(name)
  gir_ffi_builder.find_signal name or
    raise GirFFI::SignalNotFoundError.new(name, self)
end
get_value_from_pointer(pointer, offset = 0) click to toggle source
# File lib/gir_ffi/object_base.rb, line 26
def self.get_value_from_pointer(pointer, offset = 0)
  pointer.get_pointer offset
end
included_interfaces() click to toggle source
# File lib/gir_ffi/object_base.rb, line 75
def self.included_interfaces
  included_modules.select { |it| it.singleton_class.include? InterfaceBase }
end
native_type() click to toggle source
# File lib/gir_ffi/object_base.rb, line 14
def self.native_type
  FFI::Type::POINTER
end
object_class() click to toggle source
# File lib/gir_ffi/object_base.rb, line 67
def self.object_class
  @object_class ||=
    begin
      ptr = GObject::Lib.g_type_class_ref(gtype)
      gir_ffi_builder.object_class_struct.wrap ptr
    end
end
registered_ancestors() click to toggle source
# File lib/gir_ffi/object_base.rb, line 79
def self.registered_ancestors
  ancestors.select do |it|
    it < GirFFI::ObjectBase || it.singleton_class.include?(InterfaceBase)
  end
end
to_ffi_type() click to toggle source
# File lib/gir_ffi/object_base.rb, line 18
def self.to_ffi_type
  self
end
to_native(obj, _context) click to toggle source
# File lib/gir_ffi/object_base.rb, line 22
def self.to_native(obj, _context)
  obj.to_ptr
end
wrap(ptr) click to toggle source

Wrap the passed pointer in an instance of its type's corresponding class, generally assumed to be a descendant of the current type.

# File lib/gir_ffi/object_base.rb, line 36
def self.wrap(ptr)
  ptr.to_object
end

Public Instance Methods

object_class() click to toggle source
# File lib/gir_ffi/object_base.rb, line 10
def object_class
  self.class.object_class
end