class DBus::InterfaceElement

D-Bus interface element class

This is a generic class for entities that are part of the interface such as methods and signals.

Attributes

name[R]

@return [Symbol] The name of the interface element

params[R]

@return [Array<FormalParameter>] The parameters of the interface element

Public Class Methods

new(name) click to toggle source

Creates a new element with the given name.

# File lib/dbus/introspect.rb, line 158
def initialize(name)
  validate_name(name.to_s)
  @name = name
  @params = []
end

Public Instance Methods

add_fparam(name, signature) click to toggle source

Adds a formal parameter with name and signature (See also DBus::Message#add_param which takes signature+value)

# File lib/dbus/introspect.rb, line 166
def add_fparam(name, signature)
  @params << FormalParameter.new(name, signature)
end
add_param(name_signature_pair) click to toggle source

Deprecated, for backward compatibility

# File lib/dbus/introspect.rb, line 171
def add_param(name_signature_pair)
  add_fparam(*name_signature_pair)
end
validate_name(name) click to toggle source

Validates element name.

# File lib/dbus/introspect.rb, line 151
def validate_name(name)
  return if (name =~ METHOD_SIGNAL_RE) && (name.bytesize <= 255)

  raise InvalidMethodName, name
end