title: Pass an object as argument with gdbus utility
body: <p>I want to call method <code>RegisterAgent</code> with <code>gdbus</code> but I can't find the proper syntax to do so.</p>
  
  <p>Introspecting on <code>/org/bluez</code> with this command</p>
  
  <pre><code>$ gdbus introspect --system --dest org.bluez --object-path /org/bluez --recurse
  </code></pre>
  
  <p>shows that method <code>RegisterAgent</code> on interface <code>org.bluez.AgentManager1</code> has the following signature:</p>
  
  <pre><code>RegisterAgent(in  o agent,
                in  s capability);
  </code></pre>
  
  <p>but I can't find any example showing how to pass an <em>object</em> to a method in the <a href="https://www.freedesktop.org/software/gstreamer-sdk/data/docs/2012.5/gio/gdbus.html" rel="nofollow noreferrer">gdbus reference documentation</a>, nor in the numerous examples I've found on the Internet.</p>
  
  <p>So I don't know how to pass an agent as first argument, for example I'd like to select <code>KeyboardOnly</code> as agent, but how can this be done?</p>
  
  <p>With <code>dbus-send</code>, this gives:</p>
  
  <pre><code>dbus-send --print-reply --system --dest=org.bluez /org/bluez \
      --type=method_call org.bluez.AgentManager1.RegisterAgent \
      objpath:/org/bluez/agent1 string:KeyboardOnly
  </code></pre>
  
  <p>But I can't find how to do this with a <strong>gdbus</strong> call. Any idea?</p>