class OroGen::Spec::Typekit::OpaqueInfoListener

Attributes

opaques[R]
registry[R]
typekit_registry[R]

Public Class Methods

new(typekit_registry) click to toggle source
# File lib/orogen/spec/typekit.rb, line 50
def initialize(typekit_registry)
    @registry = Typelib::Registry.new
    @typekit_registry = typekit_registry
    @opaques = Array.new
end

Public Instance Methods

tag_start(name, attributes) click to toggle source
# File lib/orogen/spec/typekit.rb, line 56
def tag_start(name, attributes)
    return if name != 'opaque'
    base_type_name  = attributes['name']
    inter_type_name = attributes['marshal_as']
    includes        = attributes['includes']
    needs_copy      = attributes['needs_copy']
    opaques << OpaqueDefinition.new(
        typekit_registry.get(base_type_name),
        inter_type_name,
        Hash[include: includes.split(':'), needs_copy: (needs_copy == '1')],
        nil)
    registry.merge(typekit_registry.minimal(base_type_name))
end