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