class OroGen::Spec::OpaqueDefinition
Data structure that represents the definition for an opaque type
See Typekit#opaque_type
Attributes
Backtrace at the definition point
If non-nil, this is a block which, when called, will return the C++ code
needed to convert type into intermediate. If nil,
it is assumed that the user will provide that code.
The Typelib::Type subclass that represents the intermediate type used to marshal this opaque
Option hash
The Typelib::Type subclass that represents this opaque
Public Class Methods
# File lib/orogen/spec/opaque_definition.rb, line 22 def initialize(type, intermediate, options, code_generator) if !type || !intermediate raise ArgumentError, "trying to create an opaque definition with nil types" end @type, @intermediate, @options, @code_generator = type, intermediate, options, code_generator end
Public Instance Methods
If true, the convertion function is provided by the user, and orogen should therefore generate the corresponding templates.
# File lib/orogen/spec/opaque_definition.rb, line 38 def generate_templates?; !code_generator end
The set of paths that should be added to -I to the generated
type to intermediate convertion.
# File lib/orogen/spec/opaque_definition.rb, line 32 def includes; options[:include] end
If true, the opaque needs to be copied into the intermediate. If false, the convertion does not require a copy.
# File lib/orogen/spec/opaque_definition.rb, line 35 def needs_copy?; !!options[:needs_copy] end