class DBus::Wrapper::Bus
Attributes
connection[R]
Public Class Methods
new(connection)
click to toggle source
# File lib/ruby-dbus-wrapper/bus.rb, line 6 def initialize(connection) @connection = connection end
Public Instance Methods
method_call(destination, path, interface, member, params = nil, &callback)
click to toggle source
# File lib/ruby-dbus-wrapper/bus.rb, line 24 def method_call(destination, path, interface, member, params = nil, &callback) raise ArgumentError, "You must specify destination" if destination.nil? raise ArgumentError, "You must specify path" if path.nil? raise ArgumentError, "You must specify interface" if interface.nil? raise ArgumentError, "You must specify member" if member.nil? raise ArgumentError, "You must specify callback" unless block_given? message = ::DBus::Message.new(::DBus::Message::METHOD_CALL) message.path = path message.destination = destination message.interface = interface message.member = member if params.is_a? Array params.each do |param| message.add_param param[0], param[1] end end @connection.send_sync_or_async message, &callback end
monitor_signal(sender, path, interface, member, &callback)
click to toggle source
# File lib/ruby-dbus-wrapper/bus.rb, line 11 def monitor_signal(sender, path, interface, member, &callback) raise ArgumentError, "You must specify interface" if interface.nil? raise ArgumentError, "You must specify member" if member.nil? raise ArgumentError, "You must specify callback" unless block_given? match_string = "type='signal',interface='#{interface}',member='#{member}'" match_string << ",path='#{path}'" unless path.nil? match_string << ",sender='#{sender}'" unless sender.nil? @connection.add_match match_string, &callback end