Sha256: 6004b433f215c1702bbc77396dc7996e189c50831212179ad65ad1fc0989b5b4

Contents?: true

Size: 592 Bytes

Versions: 6

Compression:

Stored size: 592 Bytes

Contents

# frozen_string_literal: true

module GirFFI
  module Builders
    # Builder that generates code to convert closure arguments ('user data')
    # from Ruby to C. Used by argument builders.
    class ClosureToPointerConvertor
      def initialize(argument_name, callback_argument)
        @argument_name = argument_name
        @callback_argument = callback_argument
      end

      def conversion
        "GirFFI::ArgHelper.store(#{callback_argument_name})"
      end

      private

      def callback_argument_name
        @callback_argument.call_argument_name
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
gir_ffi-0.13.0 lib/gir_ffi/builders/closure_to_pointer_convertor.rb
gir_ffi-0.12.1 lib/gir_ffi/builders/closure_to_pointer_convertor.rb
gir_ffi-0.12.0 lib/gir_ffi/builders/closure_to_pointer_convertor.rb
gir_ffi-0.11.4 lib/gir_ffi/builders/closure_to_pointer_convertor.rb
gir_ffi-0.11.3 lib/gir_ffi/builders/closure_to_pointer_convertor.rb
gir_ffi-0.11.2 lib/gir_ffi/builders/closure_to_pointer_convertor.rb