[DBus (name = "org.example.foo")]
interface Foo : Object
{
  public abstract void do_foo () throws Error;
}

class Bar
{
  private Foo foo;

  Bar ()
  {
    foo = Bus.get_proxy_sync<Foo> (BusType.SESSION,
                                   "org.example.foo", "/org/example/foo");
    foo.do_foo ();
  }
}

[ModuleInit]
void init_module (TypeModule tm)
{
}
