<method name="RetObject">
<arg name="ret" type="(ii(si))" direction="out"/>
</method>
+ <method name="TriggerSignal">
+ </method>
+ <signal name="EmitSignal">
+ <arg name="arg" type="i"/>
+ </signal>
<method name="Exit">
</method>
+ <property name="cnter_property" type="i" access="readwrite"/>
</interface>
</node>
ret[3] = 1;
ret[4] = 5;
}
+
+ public void trigger_signal () throws GLib.DBusError, GLib.IOError {
+ cnter_property++;
+ // Does not work
+ emit_signal (42);
+ }
public void ret_object (out DBusProxyStruct_1ii_1si1_1_ ret) throws GLib.DBusError, GLib.IOError {
ret = DBusProxyStruct_1ii_1si1_1_ () {
arg0 = -1,
public void exit () throws GLib.DBusError, GLib.IOError {
Process.exit (0);
}
+
+ public override int32 cnter_property {get; set;}
}
void on_bus_aquired (DBusConnection conn) {
try {
example = Bus.get_proxy_sync (BusType.SESSION, "org.gnome.Example",
"/org/gnome/Example");
+ bool received_signal = false;
+ example.emit_signal.connect (a => {
+ assert (a == 42);
+ received_signal = true;
+ });
uint64 r_int;
example.ret_int (out r_int);
assert (r_int == 42);
assert (r_obj.arg1 == 5);
assert (r_obj.arg2.arg0 == "foo");
assert (r_obj.arg2.arg1 == -1);
+ assert (example.cnter_property == 0);
+ example.emit_signal (42);
+ assert (received_signal);
+ received_signal = false;
+ assert (received_signal);
+ example.trigger_signal ();
+ // TODO: Why???
+ // assert (example.cnter_property == 1);
} catch (Error e) {
error ("Caught error: %s", e.message);