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.
114 115 116 117 118 |
# File 'lib/dbus/introspect.rb', line 114 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
103 104 105 |
# File 'lib/dbus/introspect.rb', line 103 def name @name end |
#params ⇒ Object (readonly)
The parameters of the interface element. Array: FormalParameter
105 106 107 |
# File 'lib/dbus/introspect.rb', line 105 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)
122 123 124 |
# File 'lib/dbus/introspect.rb', line 122 def add_fparam(name, signature) @params << FormalParameter.new(name, signature) end |
#add_param(name_signature_pair) ⇒ Object
Deprecated, for backward compatibility
127 128 129 |
# File 'lib/dbus/introspect.rb', line 127 def add_param(name_signature_pair) add_fparam(*name_signature_pair) end |
#validate_name(name) ⇒ Object
Validates element name.
108 109 110 111 |
# File 'lib/dbus/introspect.rb', line 108 def validate_name(name) return if (name =~ METHOD_SIGNAL_RE) && (name.bytesize <= 255) raise InvalidMethodName, name end |