class LibComponent::DbusInput
Public Class Methods
create_dbusinputs_from_introspect(intro_,component_)
click to toggle source
Create all dbus I/O for this pin. Called internally by component
# File lib/openplacos/libcomponent.rb, line 406 def self.create_dbusinputs_from_introspect(intro_,component_) pin = Array.new intro_.each { |name, definition| p = self.new(name) definition.each { |iface, meths| component_input = component_.get_input_iface(name,iface) p.singleton_class.instance_eval do dbus_interface "org.openplacos.#{iface}" do meths.each { |m| add_dbusmethod m.to_sym do |*args| return component_input.send(m+"_lib",*args) end } end end } pin << p } return pin end
new(name)
click to toggle source
Calls superclass method
# File lib/openplacos/libcomponent.rb, line 400 def initialize(name) super(name) end
Private Class Methods
add_dbusmethod(sym_,&block)
click to toggle source
# File lib/openplacos/libcomponent.rb, line 429 def self.add_dbusmethod(sym_,&block) case sym_ when :read prototype = "out return:v, in option:a{sv}" when :write prototype = "out return:v, in value:v, in option:a{sv}" end dbus_method(sym_,prototype,&block) end