On Saturday 02 February 2013 22:04:16 Graham Cobb wrote:
> I will probably post the patch for the ActiveSync backend getDatabases
> code, using this new function, tomorrow.

I have posted the patch in https://bugs.freedesktop.org/show_bug.cgi?id=60235. 
Note that I posted the wrong patch first, please use the updated patch. Of 
course it is dependent on the patch in bug 60204.

I am no C++ programmer so you may want to review the patch before applying.  
It seems to work fine in my testing but you might want to check I haven't 
introduced memory leaks or similar issues.  Note I have only tested against a 
MS Exchange 2010 server (all I have access to).

By the way, I decided that getDatabases would force a FolderSync, even though 
activesyncd keeps a folder cache.  FolderSyncs are not particularly expensive 
if nothing has changed (the server just says nothing has changed, it doesn't 
resend the whole list).  I anticipate that getDatabases is a fairly rare event 
(compared with syncs, for example) and is most likely to be requested exactly 
when something has changed.  It also, conveniently, provides a way for the 
user to force a FolderSync if they need to (I still haven't been able to 
reproduce the problem of the server insisting on a FolderSync).

I considered not doing the FolderSync if the folder list is already in memory 
but I decided that this doesn't help the most common use case (separate 
"syncevolution --print-databases username= backend=" commands for each 
backend) and could be a problem if syncevolution was running as a long-lived 
server process.  Adding timers seemed unnecessarily complicated.

Graham
_______________________________________________
SyncEvolution mailing list
[email protected]
http://lists.syncevolution.org/listinfo/syncevolution

Reply via email to