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,
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.