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.
120 121 122 123 |
# File 'lib/dbus/bus.rb', line 120 def initialize(name) @name = name @object = nil end |
Instance Attribute Details
#name ⇒ Object (readonly)
The name of the node.
117 118 119 |
# File 'lib/dbus/bus.rb', line 117 def name @name end |
#object ⇒ Object
The D-Bus object contained by the node.
115 116 117 |
# File 'lib/dbus/bus.rb', line 115 def object @object end |
Instance Method Details
#inspect ⇒ Object
Return inspect information of the node.
147 148 149 150 |
# File 'lib/dbus/bus.rb', line 147 def inspect # Need something here "<DBus::Node #{sub_inspect}>" end |
#sub_inspect ⇒ Object
Return instance inspect information, used by Node#inspect.
153 154 155 156 157 158 159 |
# File 'lib/dbus/bus.rb', line 153 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.
126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 |
# File 'lib/dbus/bus.rb', line 126 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>' xml end |