Sha256: 300131a7947c3c33848ae352338672a221b07a66642cbe454e715a3673a3ff74

Contents?: true

Size: 653 Bytes

Versions: 9

Compression:

Stored size: 653 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&.name
      end

      def has_invoker?
        invoker
      end
    end
  end
end

GObjectIntrospection::IVFuncInfo.include GirFFI::InfoExt::IVFuncInfo

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
gir_ffi-0.15.8 lib/gir_ffi/info_ext/i_vfunc_info.rb
gir_ffi-0.15.7 lib/gir_ffi/info_ext/i_vfunc_info.rb
gir_ffi-0.15.6 lib/gir_ffi/info_ext/i_vfunc_info.rb
gir_ffi-0.15.5 lib/gir_ffi/info_ext/i_vfunc_info.rb
gir_ffi-0.15.4 lib/gir_ffi/info_ext/i_vfunc_info.rb
gir_ffi-0.15.3 lib/gir_ffi/info_ext/i_vfunc_info.rb
gir_ffi-0.15.2 lib/gir_ffi/info_ext/i_vfunc_info.rb
gir_ffi-0.15.1 lib/gir_ffi/info_ext/i_vfunc_info.rb
gir_ffi-0.15.0 lib/gir_ffi/info_ext/i_vfunc_info.rb