Module: GirFFI::Builder::InArgument
- Defined in:
- lib/gir_ffi/builder/argument.rb
Class Method Summary collapse
Class Method Details
.build(var_gen, arginfo, libmodule) ⇒ Object
23 24 25 26 |
# 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, libmodule end |
.builder_for(var_gen, name, type, libmodule) ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/gir_ffi/builder/argument.rb', line 28 def self.builder_for var_gen, name, type, libmodule klass = case type.tag when :interface case type.interface.info_type when :callback return CallbackInArgument.new var_gen, name, type, libmodule else RegularInArgument end when :array if type.array_type == :c CArrayInArgument else RegularInArgument end else RegularInArgument end return klass.new var_gen, name, type end |