Class DBus::ProxyObjectFactory
In: lib/dbus/introspect.rb
Parent: Object

D-Bus proxy object factory class

Class that generates and sets up a proxy object based on introspection data.

Methods

build   introspect_into   new  

Public Class methods

Investigates the sub-nodes of the proxy object po based on the introspection XML data xml and sets them up recursively.

[Source]

# File lib/dbus/introspect.rb, line 533
    def ProxyObjectFactory.introspect_into(po, xml)
      intfs, po.subnodes = IntrospectXMLParser.new(xml).parse
      intfs.each do |i|
        poi = ProxyObjectInterface.new(po, i.name)
        i.methods.each_value { |m| poi.define(m) }
        i.signals.each_value { |s| poi.define(s) }
        po[i.name] = poi
      end
      po.introspected = true
    end

Creates a new proxy object factory for the given introspection XML xml, bus, destination dest, and path.

[Source]

# File lib/dbus/introspect.rb, line 527
    def initialize(xml, bus, dest, path)
      @xml, @bus, @path, @dest = xml, bus, path, dest
    end

Public Instance methods

Generates, sets up and returns the proxy object.

[Source]

# File lib/dbus/introspect.rb, line 545
    def build
      po = ProxyObject.new(@bus, @dest, @path)
      ProxyObjectFactory.introspect_into(po, @xml)
      po
    end

[Validate]