class DBus::Node
Object path node class¶ ↑
Class representing a node on an object path.
Attributes
name[R]
The name of the node. @return [String] the last component of its object path, or “/”
object[RW]
@return [DBus::Object,DBus::ProxyObject,nil]
The D-Bus object contained by the node.
Public Class Methods
new(name)
click to toggle source
Create a new node with a given name.
Calls superclass method
# File lib/dbus/node_tree.rb 54 def initialize(name) 55 super() 56 @name = name 57 @object = nil 58 end
Public Instance Methods
descendant_objects()
click to toggle source
All objects (not paths) under this path (except itself). @return [Array<DBus::Object>]
# File lib/dbus/node_tree.rb 98 def descendant_objects 99 children_objects = values.map(&:object).compact 100 descendants = values.map(&:descendant_objects) 101 flat_descendants = descendants.reduce([], &:+) 102 children_objects + flat_descendants 103 end
inspect()
click to toggle source
Return inspect information of the node.
# File lib/dbus/node_tree.rb 79 def inspect 80 # Need something here 81 "<DBus::Node #{sub_inspect}>" 82 end
sub_inspect()
click to toggle source
Return instance inspect information, used by Node#inspect.
# File lib/dbus/node_tree.rb 85 def sub_inspect 86 s = "" 87 if !@object.nil? 88 s += format("%x ", @object.object_id) 89 end 90 contents_sub_inspect = keys 91 .map { |k| "#{k} => #{self[k].sub_inspect}" } 92 .join(",") 93 "#{s}{#{contents_sub_inspect}}" 94 end
to_xml(node_opath)
click to toggle source
Return an XML string representation of the node. It is shallow, not recursing into subnodes @param node_opath [String]
# File lib/dbus/node_tree.rb 63 def to_xml(node_opath) 64 xml = '<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" 65 "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd"> 66 ' 67 xml += "<node name=\"#{node_opath}\">\n" 68 each_key do |k| 69 xml += " <node name=\"#{k}\" />\n" 70 end 71 @object&.intfs&.each_value do |v| 72 xml += v.to_xml 73 end 74 xml += "</node>" 75 xml 76 end