Class: DBus::InterfaceElement
- Inherits:
-
Object
- Object
- DBus::InterfaceElement
- Defined in:
- lib/dbus/introspect.rb
Overview
D-Bus interface element class
This is a generic class for entities that are part of the interface such as methods and signals.
Instance Attribute Summary collapse
-
#name ⇒ Object
readonly
The name of the interface element.
-
#params ⇒ Object
readonly
The parameters of the interface element.
Instance Method Summary collapse
-
#add_fparam(name, signature) ⇒ Object
Adds a formal parameter with name and signature (See also Message#add_param which takes signature+value).
-
#add_param(name_signature_pair) ⇒ Object
Deprecated, for backward compatibility.
-
#initialize(name) ⇒ InterfaceElement
constructor
Creates a new element with the given name.
-
#validate_name(name) ⇒ Object
Validates element name.
Constructor Details
#initialize(name) ⇒ InterfaceElement
Creates a new element with the given name.
110 111 112 113 114 |
# File 'lib/dbus/introspect.rb', line 110 def initialize(name) validate_name(name.to_s) @name = name @params = [] end |
Instance Attribute Details
#name ⇒ Object (readonly)
The name of the interface element. Symbol
99 100 101 |
# File 'lib/dbus/introspect.rb', line 99 def name @name end |
#params ⇒ Object (readonly)
The parameters of the interface element. Array: FormalParameter
101 102 103 |
# File 'lib/dbus/introspect.rb', line 101 def params @params end |
Instance Method Details
#add_fparam(name, signature) ⇒ Object
Adds a formal parameter with name and signature (See also Message#add_param which takes signature+value)
118 119 120 |
# File 'lib/dbus/introspect.rb', line 118 def add_fparam(name, signature) @params << FormalParameter.new(name, signature) end |
#add_param(name_signature_pair) ⇒ Object
Deprecated, for backward compatibility
123 124 125 |
# File 'lib/dbus/introspect.rb', line 123 def add_param(name_signature_pair) add_fparam(*name_signature_pair) end |
#validate_name(name) ⇒ Object
Validates element name.
104 105 106 107 |
# File 'lib/dbus/introspect.rb', line 104 def validate_name(name) return if (name =~ METHOD_SIGNAL_RE) && (name.bytesize <= 255) raise InvalidMethodName, name end |