Sha256: 4ee11d83c0513d2fbabe371d8ded9f5e4add3779a5c5c0d2748313be2ba3f7ca

Contents?: true

Size: 1.57 KB

Versions: 3

Compression:

Stored size: 1.57 KB

Contents

# frozen_string_literal: true

# Ensure GObject is defined by GirFFI itself
raise 'The module GObject was already defined elsewhere' if Kernel.const_defined? :GObject

require 'gir_ffi-base/gobject/lib'

# The part of the GObject namespace that is needed by GirFFI.
#
# :reek:TooManyConstants: because it needs to hold the type constants.
module GObject
  def self.type_from_name(name)
    Lib.g_type_from_name name
  end

  def self.type_fundamental(gtype)
    Lib.g_type_fundamental gtype
  end

  TYPE_INVALID = type_from_name('invalid')
  TYPE_NONE = type_from_name('void')
  TYPE_INTERFACE = type_from_name('GInterface')
  TYPE_CHAR = type_from_name('gchar')
  TYPE_UCHAR = type_from_name('guchar')
  TYPE_BOOLEAN = type_from_name('gboolean')
  TYPE_INT = type_from_name('gint')
  TYPE_UINT = type_from_name('guint')
  TYPE_LONG = type_from_name('glong')
  TYPE_ULONG = type_from_name('gulong')
  TYPE_INT64 = type_from_name('gint64')
  TYPE_UINT64 = type_from_name('guint64')
  TYPE_ENUM = type_from_name('GEnum')
  TYPE_FLAGS = type_from_name('GFlags')
  TYPE_FLOAT = type_from_name('gfloat')
  TYPE_DOUBLE = type_from_name('gdouble')
  TYPE_STRING = type_from_name('gchararray')
  TYPE_POINTER = type_from_name('gpointer')
  TYPE_BOXED = type_from_name('GBoxed')
  TYPE_PARAM = type_from_name('GParam')
  TYPE_OBJECT = type_from_name('GObject')
  TYPE_GTYPE = type_from_name('GType')
  TYPE_VARIANT = type_from_name('GVariant')

  TYPE_ARRAY = Lib.g_array_get_type
  TYPE_BYTE_ARRAY = Lib.g_byte_array_get_type
  TYPE_HASH_TABLE = Lib.g_hash_table_get_type
  TYPE_STRV = Lib.g_strv_get_type
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
gir_ffi-0.14.1 lib/gir_ffi-base/gobject.rb
gir_ffi-0.14.0 lib/gir_ffi-base/gobject.rb
gir_ffi-0.13.1 lib/gir_ffi-base/gobject.rb