[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-devel
Subject:    Re: How to debug kioslave problems ? [Was: Problem opening
From:       Pavel Troller <patrol () sinus ! cz>
Date:       2006-04-03 21:10:03
Message-ID: 20060403211003.GA10544 () tangens ! sinus ! cz
[Download RAW message or body]

Hi David!
> On Monday 03 April 2006 21:41, Pavel Troller wrote:
> >   What to do next ? Is it necessary to write a real get(), or could it be
> > possible to omit its call for kio_bluetooth, as it used to be ?
> 
> I'm guessing that it implements copy()? And it has copyToFile=true in the .protocol?
No. The only attributes (excluding Description) in its .protocol are:
[Protocol]
exec=kio_bluetooth
protocol=bluetooth
input=none
output=filesystem
reading=true
> And that you used to copy to file:/ previously, but nowadays you're copying to other 
> protocols instead, like system:/ or media:/ ?
> This would explain it. Otherwise my crystal ball is deficient ;)
I'm afraid that I didn't understand you fully.
kio_bluetooth is something like a "meta-slave". There are no real files in it.
There are only objects pointing to other slaves, mostly sdp:/, describing your
local and remote bluetooth devices. They have a nature of a directory, i.e.
they can be opened and then another objects appear in them, but this is handled
by a different slave (sdp:/). So I think there is not possible to copy anything
"real" into/from this bluetooth:/ pseudo-directory. I didn't find copy() 
implementation at all, and get() is just the stub which was not supposed to be
called.

> 
> To explain this: get() is used to read a file, except when the slave implements copy()
> and we're copying to file:/, then instead of shipping the data back to the app, the slave
> is in charge of directly writing it out into a file. So get isn't called in that case.
> But in most other cases - copying to other protocols, or if copy() isn't implemented,
> then get() is the -only- way to get the data. Sounds to me like it should be implemented...
> or is bluetooth:/ not about reading files somehow?
I think that really, bluetooth:/ is just about accessing BT devices opening
a "virtual directory". There are really no files in it. By modifying the debug
call, I've found that konq is now trying to get() all the initial
URL "bluetooth:/", which is definitely not a file. I think that stat() would be
much more appropriate, and then listDir().
                                         With regards, Pavel Troller
 
>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic