334
335
336
337
338
339
340
341
342
343
344
345
346
347
|
# File 'lib/dbus.rb', line 334
def on_message(connection, message)
target_object_full_path = message.get_path
n = @base_path.length
unless @base_path == target_object_full_path[0,n]
@connection.send(new_error_reply(message, "Invalid target path: #{target_object_full_path}"))
return HANDLER_RESULT_HANDLED
end
target_object_path = target_object_full_path[n..-1]
target_method = message.get_member
target_args = message.to_a
args = [target_object_path, *target_args]
@connection.send(dispatch(target_method, args, message))
HANDLER_RESULT_HANDLED
end
|