module GirFFI::Builder::InArgument

Public Class Methods

build(var_gen, arginfo, libmodule) click to toggle source
# File lib/gir_ffi/builder/argument.rb, line 23
def self.build var_gen, arginfo, libmodule
  type = arginfo.argument_type
  builder_for var_gen, arginfo.name, type, arginfo.direction, libmodule
end
builder_for(var_gen, name, type, direction, libmodule) click to toggle source
# File lib/gir_ffi/builder/argument.rb, line 28
def self.builder_for var_gen, name, type, direction, libmodule
  klass = case type.tag
          when :interface
            case type.interface.info_type
            when :callback
              return CallbackInArgument.new var_gen, name, type, libmodule
            else
              RegularArgument
            end
          else
            RegularArgument
          end
  return klass.new var_gen, name, type, direction
end