bluez-gnome and OBEX DBus names
Florian Echtler <[email protected]>
| Newsgroups | gmane.linux.bluez.devel |
|---|---|
| Message-ID | <1209541359.31036.35.camel@pancake> |
Hello everyone, I'm running bluez-gnome 0.26 and obex-data-server 0.3 from Gentoo. My Bluetooth setup is running fine, with the exception of OBEX reception. When I start the bluetooth-applet from a shell, I get the warning "Bluetooth OBEX start failed: Invalid path". A bit of dbus-monitoring shows that this error comes from the OBEX server: method call sender=:1.96 -> dest=org.openobex path=/org/openobex/server1; interface=org.openobex.Server; member=Start string "" boolean true boolean true error sender=:1.94 -> dest=:1.96 error_name=org.openobex.Error.InvalidArguments reply_serial=16 string "Invalid path" A look in ods-server.c shows that it's testing for the first parameter of the method call to be an existing directory, but the bluetooth-applet is passing an empty string.. and this is because the applet uses g_get_user_special_dir(G_USER_DIRECTORY_PUBLIC_SHARE) and g_get_user_special_dir(G_USER_DIRECTORY_DOWNLOAD) to retrieve the directory names. So, I now have one suggestion - see the attached patch, two small error checks to make debugging this _much_ easier - and one question: how is the average user (yes, there are such things now ;-) expected to know how to set these *!$%& directories? I needed 20 minutes of glib source diving to find the relevant code - why doesn't Gnome, e.g., set this automatically? Thanks, Yours, Florian -- 0666 - Filemode of the Beast ------------------------------------------------------------------------- This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone _______________________________________________ Bluez-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/bluez-devel
bluez-gnome-0.26-patch
(text/x-patch, 759 B)
diff -ur applet-old/obex.c applet/obex.c
--- applet-old/obex.c 2008-04-30 09:29:57.000000000 +0200
+++ applet/obex.c 2008-04-30 09:30:28.000000000 +0200
@@ -139,6 +139,9 @@
dir = g_get_user_special_dir(G_USER_DIRECTORY_DOWNLOAD);
+ if (!dir)
+ g_printerr("Warning: G_USER_DIRECTORY_DOWNLOAD not set - check ~/.config/user-dirs.dirs!");
+
dbus_g_proxy_begin_call(opp_server, "Start",
start_opp_notify, NULL, NULL,
G_TYPE_STRING, dir,
@@ -206,6 +209,9 @@
dir = g_get_user_special_dir(G_USER_DIRECTORY_PUBLIC_SHARE);
+ if (!dir)
+ g_printerr("Warning: G_USER_DIRECTORY_PUBLIC_SHARE not set - check ~/.config/user-dirs.dirs!");
+
dbus_g_proxy_begin_call(ftp_server, "Start",
start_ftp_notify, NULL, NULL,
G_TYPE_STRING, dir,