On Mon, 2012-09-17 at 11:32 +0200, Patrick Ohly wrote:
On Wed, 2012-09-12 at 14:51 +0200, Patrick Ohly wrote:
> I have some partial implementation of the API ready and will push it
> shortly to the new SyncEvolution git repo on freedesktop.org
The code is now in the for-master/pim branch, see the
src/dbus/server/manager directory. The API text is in
src/dbus/server/pim/pim-manager-api.txt. I decided to avoid using IVI in
the code because it might turn out to be useful elsewhere.
The code now fully implements the proposed API and has been tested by me
for a while. The nightly testing includes the testpim.py tests. Manual
testing with a Nokia N97 Mini also passed (with the caveats below). This
is a good time to make it available to people who do not want to compile
source from a git repo.
Therefore I have merged the code into the master branch, tagged it as
126.96.36.199 and prepared the usual source .tar.gz:
The benefits for traditional users are fairly small (except perhaps for
the new caching mode) and the binaries would not contain the IVI
features anyway, because the binaries target EDS < 3.6 and older
distros. For these reasons I am not publishing binaries of 188.8.131.52.
There are a few known issues regarding the PIM Manager in this release:
- updating a contact is inefficient and can cause deadlocks in EDS:
- some minor memory leaks:
- in violation of the API spec, colon and upper case characters in the
peer UID are not properly supported and should be avoided for now; I'm
undecided whether I should fix the API to match the implementation or
make the implementation more complicated to support the proposed API:
A full overview of issues is here:
I'm attaching the current API revision, a README which gives
SyncEvolution specific information and two example scripts. All of this
is also in the release and in the git repo.
Regarding documentation, I'm still undecided whether specific peer
config options, search capabilities and ordering really should be
specified in the API documentation. I'm inclined to make this completely
implementation specific and thus at best give examples in the API
documentation. App developers need to consult their system documentation
anyway to learn which version of the API is supported by the system.
Best Regards, Patrick Ohly
The content of this message is my personal opinion only and although
I am an employee of Intel, the statements I make here in no way
represent Intel's position on the issue, nor am I authorized to speak
on behalf of Intel on this matter.