On 11.04.2013 17:19, Craig Sawyer wrote:
Hi Ibrahim,
I'm not an owncloud expert. But I feel confident in my ability to answer
this question, because I wrote a CLI version of the owncloud client, using
csync libraries.
csync is basically used as a library that the desktop client (and my CLI
client) use to handle the synchronization.
As for how to use csync in a Qt App, it depends, because the csync that
owncloud(and I use) is not the same one that is on the csync website, at
this point it's probably more like a fork, but my understanding is, that
the csync people and the owncloud people are trying to merge their
respective codebases together, so that it isn't as diverged. So if you
need the owncloud specific bits, make sure you use the owncloud csync
codebase.
This is all true, glad to have an additional expert around with Craig :-)
Back to your original question, I would suggest you look at the owncloud
Mirall source, it shows exactly how they call the csync libraries (and from
Qt even!). It's what I used as my reference when I wrote the CLI version
(which is in python).
It's important to know that there are two levels of libraries: There is
libocsync which is the "plain" csync library. It's still plain C. And
than there is a lib called libowncloudsync.so which is Qt based. This
one encapsulates the libocsync and adds some more, ownCloud client
specific stuff to it: Configuration, frequent syncing every n seconds,
filesystem change detection and such. Depending on what your project
will do, you need to decide which level you go.
If you would like to tell us more, we probably can give more hints.
Important note here: We currently can not guarantee the stability of API
of libowncloudsync because we're simply not yet there. For libocsync, I
see more stability, probably only additions or minor changes.
regards,
Klaas
_______________________________________________
Owncloud mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/owncloud