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

List:       kfm-devel
Subject:    Preliminary webdav support in kio_http
From:       Hamish Rodda <meddie () yoyo ! cc ! monash ! edu ! au>
Date:       2001-12-31 2:22:40
[Download RAW message or body]

Dear list,

I have hacked together preliminary support for webdav (see attached patch). I
considered several ways of doing this - subclassing, having a private
kio_http in a new ioslave, direct integration, writing from scratch, etc.
I'm still not sure about the decision (I just added it to kio_http), but this
way I'm writing webdav-relevant code now rather than writing code to chain
http + custom headers to a new ioslave.  It is not so tightly coupled that it
couldn't be moved into a new slave pretty easily, anyway. I have found that
adding functionality to kio_http gives me the freedom to place hooks wherever
they are needed, which is handy.

Once I understand the existing code better I will probably reorganise a bit -
for starters error handling looks like it will need to have its own function.

The ioslave successfully lists collections (directories), moves, copies,
deletes, uploads and downloads files.  Lock support has only just started,
and error handling is non-existant.  Property retrieval and setting is easy
to do but I don't know how I would interface it - should these be additional
special() methods?

Any advice on the approach would be appreciated.  Should the new functions be
moved into a separate source file?

In terms of integrating lock / unlock support and support for property
retrieval and setting in konqueror, is there some plugin I can write to do
this, and if so, where are the relevant classes?

Cheers,

Hamish

PS. I massaged the patch by hand a little so I hope it works. Apply in the
kio/http/ directory.

PPS. Moderators please delete the last email, I have compressed the patch so 
this email should go straight to the list.

["webdav-v0.1.patch.bz2" (application/x-bzip2)]
["webdav.protocol" (text/plain)]

[Protocol]
exec=kio_http
protocol=webdav
input=none
output=filesystem
listing=Name,Type,Size,Access,
reading=true
writing=true
makedir=true
deleting=true
moving=true
defaultMimetype=application/octet-stream
determineMimetypeFromExtension=false
Icon=www
maxInstances=3


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

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