[Owncloud] How is csync used in owncloud

Klaas Freitag freitag at owncloud.com
Thu Apr 11 15:30:23 UTC 2013


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






More information about the Owncloud mailing list