[Evolution-hackers] Evolution-data-server 3.2 backend API question


I'm developing calendar backend plugin for Evolution 3.2. Plugin worked
correctly on previous versions like 2.32 and older. Unfortunately there
was some serious changes in ECalBackend API and I can't figure out what's
wrong with my code.

The problem is:

When I enable my calendar backend in Evolution client calendar interface, the open and authenticate methods are called correctly and opening phase
ends with e_cal_backend_notify_opened().

Then client calls get_view_cb and data-server calls "start_view" method
of my backend. This method checks cache components for recieved view's
time range and adds (e_data_cal_notify_objects_added()) components to
desired view. Method ends with e_data_cal_view_notify_complete(view, NULL).

All of that seems allright to me, but evolution client calls start_view
method every 5 seconds and creates new EDataCalView for each cycle and
adds it to my backend. EDataCalView instances cover the same time range
and it causes that every sync cycle adds again calendar events to client
window. After minute, every event is shown manytimes for the same time.

I've tried to remove all views except the last one created, but it
stucked client and didn't work.

Please, tell me, how can I stop or correct the process of event replication
or let me know, how sync cycle should work correctly.

I hope my question is not so stupid. I've searched enormous amount of references, mailing lists and repositories to find the answer but without and success.

Thank you in advise.

Vaclav Sajdl


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]