All pastes #2047887 Raw Edit

Something

public text v1 · immutable
#2047887 ·published 2011-04-18 18:44 UTC
rendered paste body
valac --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();
}