Sha256: 00267d054ffb7d6c292df3b04064ea5f56a981a7b76a6812920c19466b7538ab

Contents?: true

Size: 669 Bytes

Versions: 2

Compression:

Stored size: 669 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

2 entries across 2 versions & 1 rubygems

Version Path
gir_ffi-0.11.1 lib/gir_ffi/info_ext/i_vfunc_info.rb
gir_ffi-0.11.0 lib/gir_ffi/info_ext/i_vfunc_info.rb