Hi,
the siganture a(sv) is an array of structs with a string and a value,
not a Dict/HashTable. A hashtable has the signature a{av}.
Regards, Frederik
Am Donnerstag, den 19.02.2009, 00:32 -0300 schrieb Marcelo Boveto Shima:
Hello!
I am trying to invoke some ConsoleKit methods and I succeed on
almost every method, but not OpenSessionWithParameters.
It has the signature a(sv) (1). I don“t know what I am doing wrong.
I created a method with the same signature and it worked.
It works with python/dbus.
The code is:
using GLib;
public class Sessiondb.Main : Object {
private const string CK_NAME = "org.freedesktop.ConsoleKit";
private const string CK_PATH = "/org/freedesktop/ConsoleKit";
private const string CK_INTERFACE = "org.freedesktop.ConsoleKit";
private const string CK_MANAGER_PATH =
"/org/freedesktop/ConsoleKit/Manager";
private const string CK_MANAGER_INTERFACE =
"org.freedesktop.ConsoleKit.Manager";
private const string CK_SEAT_INTERFACE =
"org.freedesktop.ConsoleKit.Seat";
private const string CK_SESSION_INTERFACE =
"org.freedesktop.ConsoleKit.Session";
private dynamic DBus.Object ckmanager;
public Main () {
}
public void run () {
try {
var conn = DBus.Bus.get (DBus.BusType.SYSTEM);
this.ckmanager = conn.get_object
("org.freedesktop.ConsoleKit", "/org/freedesktop/ConsoleKit/Manager",
"org.freedesktop.ConsoleKit.Manager");
HashTable<string,Value?> parameters = new
HashTable<string,Value?>(str_hash,str_equal);
Value sessiontype = Value (typeof(string));
sessiontype.set_string ("sessiondb");
parameters.insert("session-type" , sessiontype);
string cookie = ckmanager.OpenSessionWithParameters
(parameters);
stderr.printf ("finished: %s \n", cookie);
} catch (Error e) {
stderr.printf ("Oops: %s\n", e.message);
}
}
static int main (string[] args) {
var main = new Main ();
main.run ();
return 0;
}
}
The error is Method "OpenSessionWithParameters" with signature "a{sv}"
on interface "org.freedesktop.ConsoleKit.Manager" doesn't exist.
Thanks
Shima.
(1)
http://people.freedesktop.org/~mccann/doc/ConsoleKit/ConsoleKit.html#Manager.OpenSessionWithParameters
_______________________________________________
Vala-list mailing list
Vala-list gnome org
http://mail.gnome.org/mailman/listinfo/vala-list
Attachment:
signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil