Creates field getter and setter code for a given IFieldInfo.
# File lib/gir_ffi/builder/field.rb, line 8 def initialize field_info, lib_module, struct_class @info = field_info @libmodule = lib_module @struct_class = struct_class end
# File lib/gir_ffi/builder/field.rb, line 14 def getter_def builder = return_value_builder return " def #{@info.name} struct = #{@struct_class}.new @struct.to_ptr #{builder.cvar} = struct[#{field_symbol.inspect}] #{builder.post.join("\n")} #{builder.retval} end " end
# File lib/gir_ffi/builder/field.rb, line 27 def setter_def builder = setter_builder name = @info.name return " def #{name}= #{builder.inarg} #{builder.pre.join("\n")} struct = #{@struct_class}.new @struct.to_ptr struct[#{name.to_sym.inspect}] = #{builder.callarg} end " end