[DBus (name = "org.example.Demo")] interface DemoNotify : Object { public signal void TestSign(string ff); public signal void Lctest(string ff); public abstract string TestProp { owned get; set; } public abstract int ping (string msg) throws IOError; } void main () { try { DemoNotify demonotify = Bus.get_proxy_sync(BusType.SESSION, "org.example.Demo", "/org/example/Demo"); demonotify.Lctest.connect( () => { print("signal reached client");}); demonotify.notify.connect( (s,p) => { print("%s\n", p.name); }); demonotify.ping ("Hello from Vala"); print("prop:%s\n", demonotify.TestProp); } catch (IOError e) { print("%s\n", e.message); } new MainLoop(null, false).run(); } //$ valac --pkg gio-2.0 client.vala