rendered paste bodyvalac --pkg gio-2.0 --pkg gee-1.0 dbus-test.vala
dbus-test.vala:5.2-5.41: warning: method `org.freedesktop.NetworkManager.foo' never used
public abstract HashMap<string, int> foo() throws IOError;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
** (valac:12547): CRITICAL **: vala_gvariant_module_get_basic_type_info: assertion `signature != NULL' failed
dbus-test.vala:5.18-5.37: error: GVariant deserialization of type `Gee.HashMap<string,int>' is not supported
public abstract HashMap<string, int> foo() throws IOError;
^^^^^^^^^^^^^^^^^^^^
** (valac:12547): CRITICAL **: vala_gvariant_module_get_basic_type_info: assertion `signature != NULL' failed
dbus-test.vala:5.18-5.37: error: GVariant serialization of type `Gee.HashMap<string,int>' is not supported
public abstract HashMap<string, int> foo() throws IOError;
^^^^^^^^^^^^^^^^^^^^
Compilation failed: 2 error(s), 1 warning(s)
-----dbus-test.vala----
using Gee;
[DBus (name = "org.freedesktop.NetworkManager")]
interface org.freedesktop.NetworkManager : Object {
public abstract HashMap<string, int> foo() throws IOError;
}
HashMap<string, int> bar() {
return new HashMap<string, int>();
}
public static void main(string[] args) {
org.freedesktop.NetworkManager nm = null;
var loop = new MainLoop();
try {
nm = Bus.get_proxy_sync (BusType.SYSTEM, "org.freedesktop.NetworkManager",
"/org/freedesktop/NetworkManager");
} catch (IOError e) {
stderr.printf("%s\n", e.message);
}
bar();
loop.run();
}