Class: Rbind::GeneratorC::TypesHelperHDR

Inherits:
HelperBase
  • Object
show all
Defined in:
lib/rbind/generator_c.rb

Instance Attribute Summary

Attributes inherited from HelperBase

#includes, #name

Instance Method Summary collapse

Methods inherited from HelperBase

#binding, #wrap_includes

Constructor Details

#initialize(name, root) ⇒ TypesHelperHDR

Returns a new instance of TypesHelperHDR.



34
35
36
37
38
# File 'lib/rbind/generator_c.rb', line 34

def initialize(name, root)
    raise "wrong type #{root}" unless root.is_a? RDataType
    super
    @type_wrapper = ERB.new(File.open(File.join(File.dirname(__FILE__),"templates","c","type_wrapper.h")).read,nil,"-")
end

Instance Method Details

#cdelete_methodObject



40
41
42
# File 'lib/rbind/generator_c.rb', line 40

def cdelete_method
    @root.cdelete_method
end

#type_wrapper(t) ⇒ Object



44
45
46
# File 'lib/rbind/generator_c.rb', line 44

def type_wrapper(t)
    @type_wrapper.result(t.binding)
end

#wrap_typesObject



48
49
50
51
52
53
54
55
# File 'lib/rbind/generator_c.rb', line 48

def wrap_types
    str = ""
    @root.each_type do |type|
        next if type.basic_type?
        str += type_wrapper(type)
    end
    str
end