Class: DBus::Node
- Inherits:
-
Hash
- Object
- Hash
- DBus::Node
- Defined in:
- lib/dbus/bus.rb
Overview
Object path node class
Class representing a node on an object path.
Instance Attribute Summary collapse
-
#name ⇒ Object
readonly
The name of the node.
-
#object ⇒ Object
The D-Bus object contained by the node.
Instance Method Summary collapse
-
#initialize(name) ⇒ Node
constructor
Create a new node with a given name.
-
#inspect ⇒ Object
Return inspect information of the node.
-
#sub_inspect ⇒ Object
Return instance inspect information, used by Node#inspect.
-
#to_xml ⇒ Object
Return an XML string representation of the node.
Constructor Details
#initialize(name) ⇒ Node
Create a new node with a given name.
119 120 121 122 |
# File 'lib/dbus/bus.rb', line 119 def initialize(name) @name = name @object = nil end |
Instance Attribute Details
#name ⇒ Object (readonly)
The name of the node.
116 117 118 |
# File 'lib/dbus/bus.rb', line 116 def name @name end |
#object ⇒ Object
The D-Bus object contained by the node.
114 115 116 |
# File 'lib/dbus/bus.rb', line 114 def object @object end |
Instance Method Details
#inspect ⇒ Object
Return inspect information of the node.
145 146 147 148 |
# File 'lib/dbus/bus.rb', line 145 def inspect # Need something here "<DBus::Node #{sub_inspect}>" end |
#sub_inspect ⇒ Object
Return instance inspect information, used by Node#inspect.
151 152 153 154 155 156 157 |
# File 'lib/dbus/bus.rb', line 151 def sub_inspect s = "" if not @object.nil? s += "%x " % @object.object_id end s + "{" + keys.collect { |k| "#{k} => #{self[k].sub_inspect}" }.join(",") + "}" end |
#to_xml ⇒ Object
Return an XML string representation of the node.
125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 |
# File 'lib/dbus/bus.rb', line 125 def to_xml xml = '<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd"> <node>' self.each_pair do |k, v| xml += "<node name=\"#{k}\" />" end if @object @object.intfs.each_pair do |k, v| xml += %{<interface name="#{v.name}">\n} v.methods.each_value { |m| xml += m.to_xml } v.signals.each_value { |m| xml += m.to_xml } xml +="</interface>\n" end end xml += '</node>' return xml end |