Sha256: 7e68c2935069388b9408851bd5389c7cca239e097f9bd587a55e8a6ec4e4f997

Contents?: true

Size: 670 Bytes

Versions: 8

Compression:

Stored size: 670 Bytes

Contents

# frozen_string_literal: true

module GirFFI
  module InfoExt
    # Extensions for GObjectIntrospection::IVFuncInfo needed by GirFFI
    # TODO: Merge implementation with ICallbackInfo and ISignalInfo extensions.
    module IVFuncInfo
      def argument_ffi_types
        args.map(&:to_callback_ffi_type).tap do |types|
          types << :pointer if throws?
        end
      end

      def return_ffi_type
        return_type.to_callback_ffi_type
      end

      def invoker_name
        invoker && invoker.name
      end

      def has_invoker?
        invoker
      end
    end
  end
end

GObjectIntrospection::IVFuncInfo.send :include, GirFFI::InfoExt::IVFuncInfo

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
gir_ffi-0.14.1 lib/gir_ffi/info_ext/i_vfunc_info.rb
gir_ffi-0.14.0 lib/gir_ffi/info_ext/i_vfunc_info.rb
gir_ffi-0.13.1 lib/gir_ffi/info_ext/i_vfunc_info.rb
gir_ffi-0.13.0 lib/gir_ffi/info_ext/i_vfunc_info.rb
gir_ffi-0.12.1 lib/gir_ffi/info_ext/i_vfunc_info.rb
gir_ffi-0.11.4 lib/gir_ffi/info_ext/i_vfunc_info.rb
gir_ffi-0.11.3 lib/gir_ffi/info_ext/i_vfunc_info.rb
gir_ffi-0.11.2 lib/gir_ffi/info_ext/i_vfunc_info.rb