class GObjectIntrospection::IRepository
The Gobject Introspection Repository. This class is the point of access to the introspection typelibs. This class wraps the GIRepository struct.
Public Class Methods
Source
# File lib/ffi-gobject_introspection/i_repository.rb, line 24 def self.default instance end
Source
# File lib/ffi-gobject_introspection/i_repository.rb, line 14 def initialize @pointer = Lib.g_irepository_get_default end
Source
# File lib/ffi-gobject_introspection/i_repository.rb, line 28 def self.prepend_search_path(path) Lib.g_irepository_prepend_search_path path end
Source
# File lib/ffi-gobject_introspection/i_repository.rb, line 32 def self.type_tag_to_string(type) Lib.g_type_tag_to_string type end
Source
# File lib/ffi-gobject_introspection/i_repository.rb, line 87 def self.wrap_ibaseinfo_pointer(ptr) return nil if ptr.null? type = Lib.g_base_info_get_type ptr klass = TYPEMAP[type] klass.wrap ptr end
Public Instance Methods
Source
# File lib/ffi-gobject_introspection/i_repository.rb, line 73 def dependencies(namespace) strv_p = Lib.g_irepository_get_dependencies(self, namespace) strv = Strv.new strv_p strv.to_a end
Source
# File lib/ffi-gobject_introspection/i_repository.rb, line 66 def find_by_gtype(gtype) raise ArgumentError, "Type #{gtype} is not a valid type" if gtype == 0 @gtype_cache ||= {} @gtype_cache[gtype] ||= wrap_info Lib.g_irepository_find_by_gtype(self, gtype) end
Source
# File lib/ffi-gobject_introspection/i_repository.rb, line 60 def find_by_name(namespace, name) @name_cache ||= {} @name_cache[[namespace, name]] ||= wrap_info Lib.g_irepository_find_by_name(self, namespace, name) end
Source
# File lib/ffi-gobject_introspection/i_repository.rb, line 49 def info(namespace, index) wrap_info Lib.g_irepository_get_info(self, namespace, index) end
Source
# File lib/ffi-gobject_introspection/i_repository.rb, line 54 def infos(namespace) (0..(n_infos(namespace) - 1)).map do |idx| info namespace, idx end end
Utility method
Source
# File lib/ffi-gobject_introspection/i_repository.rb, line 45 def n_infos(namespace) Lib.g_irepository_get_n_infos self, namespace end
Source
# File lib/ffi-gobject_introspection/i_repository.rb, line 36 def require(namespace, version = nil, flags = 0) errpp = FFI::MemoryPointer.new(:pointer).write_pointer nil Lib.g_irepository_require self, namespace, version, flags, errpp errp = errpp.read_pointer raise GError.new(errp).message unless errp.null? end
Source
# File lib/ffi-gobject_introspection/i_repository.rb, line 18 def to_ptr @pointer end
Source
# File lib/ffi-gobject_introspection/i_repository.rb, line 83 def version(namespace) Lib.g_irepository_get_version self, namespace end
Private Instance Methods
Source
# File lib/ffi-gobject_introspection/i_repository.rb, line 97 def wrap_info(ptr) self.class.wrap_ibaseinfo_pointer ptr end