[Vala] complication error: Unbable to serialize a callback(by delegate) for Dbus(using GDBus)
- From: Tal Hadad <tal_hd hotmail com>
- To: Vala Mail List <vala-list gnome org>
- Subject: [Vala] complication error: Unbable to serialize a callback(by delegate) for Dbus(using GDBus)
- Date: Wed, 13 Jul 2011 20:11:10 +0300
I'm trying to write a client for MPRIS 2.0 specs, and one of my TODO list is to get all Media players which
activated.
This is done by passing all DBus addresses and check if it's in the format of "org.mpris.MediaPlayer2.*".
For doing this, I need to add callback to method "list_names" in interface "/org/freedesktop/DBus"(which I
called MasterDBus) in "org.freedesktop.DBus".
This is a relevant part of my code:
[DBus (name = "org.freedesktop.DBus")]
public interface MasterDBus {
public abstract void list_names (MDBusCallBack cb);
}
public delegate void MDBusCallBack (string[] addresses);
class ... {
private bool on_ready () {
try {
bus.list_names (list_names_reply_cb);
} catch (GLib.Error e) {
message ("Can't list: %s", e.message);
}
return false;
}
private void create () {
change_background.connect (on_change_background);
try {
bus = Bus.get_proxy_sync (BusType.SESSION, "org.freedesktop.DBus",
"/org/freedesktop/DBus");
}
catch(IOError e) {
print("%s", e.message);
}
}
For me it looks fine. Even for valac, but it still fails(assertion):
** [Some warnings, not related.]
** (valac:2252): CRITICAL **: vala_gvariant_module_get_basic_type_info: assertion `signature != NULL' failed
src/main.vala:6.35-6.47: error: GVariant serialization of type `MDBusCallBack' is not supported
public abstract void list_names (MDBusCallBack cb);
^^^^^^^^^^^^^
** (valac:2252): CRITICAL **: vala_ccode_identifier_construct: assertion `_name != NULL' failed
** (valac:2252): CRITICAL **: vala_gvariant_module_get_basic_type_info: assertion `signature != NULL' failed
src/main.vala:6.35-6.47: error: GVariant deserialization of type `MDBusCallBack' is not supported
public abstract void list_names (MDBusCallBack cb);
^^^^^^^^^^^^^
** (valac:2252): CRITICAL **: vala_ccode_identifier_construct: assertion `_name != NULL' failed
src/main.vala:16.2-16.11: error: missing class prerequisite for interface `MasterDBus', add GLib.Object to
interface declaration if unsure
MasterDBus bus;
^^^^^^^^^^
src/main.vala:16.2-16.11: error: missing class prerequisite for interface `MasterDBus', add GLib.Object to
interface declaration if unsure
MasterDBus bus;
^^^^^^^^^^
Compilation failed: 4 error(s), 3 warning(s)
Why this is happening? How shell I fix it?
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]