1 2007-08-28 Ross Burton <ross@openedhand.com>
4 Fix FSF address (Tobias Mueller, #470445)
6 2007-08-17 Srinivasa Ragavan <sragavan@novell.com>
10 * backends/ldap/e-book-backend-ldap.c: (ldap_search_dtor),
11 (e_book_backend_ldap_search), (e_book_backend_ldap_stop_book_view):
12 Fixes a thread synchronization issue while doing autocompletion.
14 2007-08-16 Matthew Barnes <mbarnes@redhat.com>
16 * backends/file/e-book-backend-file (e_book_backend_file_load_source):
17 Fix compilation errors caused by glibc's new "open" macro (#466987).
19 2007-08-14 Milan Crha <mcrha@redhat.com>
21 ** Fix for bug #356176 by Patrick Ohly
23 * libebook/e-vcard.c: (read_attribute_value):
24 Skip over folding by calling skip_newline() to find
25 the next real character after a backslash.
27 2007-08-10 Matthew Barnes <mbarnes@redhat.com>
29 * backends/file/e-book-backend-file.c:
30 * backends/groupwise/e-book-backend-groupwise.c:
31 * backends/vcf/e-book-backend-vcf.c:
32 Use EFlag to simplify synchronization logic (#415891).
34 2007-08-10 Ross Burton <ross@openedhand.com>
36 * backends/groupwise/e-book-backend-groupwise.c:
37 Clean up the code a little, fixing compile warnings and
38 non-const/static data.
40 2007-08-08 Ross Burton <ross@openedhand.com>
45 * libebook/e-contact.[ch]:
46 Add E_CONTACT_GEO field and EContactGeo boxed struct to access GEO
47 fields. Patch by Cosimo Cecchi (#314709).
49 2007-08-06 Milan Crha <mcrha@redhat.com>
51 ** Partial fix for bug #427469
52 * libebook/e-vcard.c: (e_vcard_attribute_add_param)
53 Added test on duplicity and merging when adding new parameter.
55 2007-08-06 Milan Crha <mcrha@redhat.com>
57 ** Fix for bug #313221 and part of bug #427469
58 * libebook/e-contact.c:
59 (e_contact_set_property), (e_contact_find_attribute_with_types):
60 looping through all param values, not only testing first one
62 2007-07-31 Chenthill Palanisamy <pchenthill@novell.com>
64 * backends/file/e-book-backend-file-factory.c:
65 * backends/groupwise/create-account.c:
66 * backends/groupwise/e-book-backend-groupwise-factory.c:
67 * backends/ldap/e-book-backend-ldap-factory.c:
68 * backends/ldap/e-book-backend-ldap.c:
69 * backends/vcf/e-book-backend-vcf-factory.c:
70 * libebook/e-book-query.c:
73 * libebook/e-contact.c:
74 * libedata-book/e-book-backend-cache.h:
75 * libedata-book/e-book-backend-sexp.c:
76 * libedata-book/e-data-book.c:
77 * libedata-book/e-data-book.h: Changed the way header files are included so
78 that they are picked up from the source rather than install area.
80 2007-07-31 Ross Burton <ross@openedhand.com>
82 * libedata-book/e-data-book-view.c:
83 Only send remove notifications if the contact was in the view
86 2007-07-28 Srinivasa Ragavan <sragavan@novell.com>
88 ** Fix for bug #455796
90 * libebook/e-book.c: (e_book_idle_connection),
91 (e_book_idle_auth_required), (e_book_dispose): Free the idle callbacks
94 2007-07-27 Ross Burton <ross@openedhand.com>
96 * libedata-book/e-book-backend.c:
97 Always report connection status when connecting (#460681, thanks
100 2007-06-03 Srinivasa Ragavan <sragavan@novell.com>
102 ** Memory leak fixes from bug #440524
104 * backends/file/e-book-backend-file.c: (book_view_thread):
105 * backends/groupwise/e-book-backend-groupwise.c: (update_cache),
106 (update_address_book_deltas),
107 (e_book_backend_groupwise_authenticate_user),
108 (e_book_backend_groupwise_load_source):
109 * libedata-book/e-book-backend-db-cache.c:
110 (e_book_backend_db_cache_get_contact),
111 (e_book_backend_db_cache_get_contacts),
112 (e_book_backend_db_cache_exists):
113 * libedata-book/e-book-backend-summary.c:
114 (e_book_backend_summary_load):
116 2007-05-31 Matthew Barnes <mbarnes@redhat.com>
118 * libebook/Makefile.am:
119 Fix some distcheck errors (#438577).
121 2007-05-31 Ross Burton <ross@openedhand.com>
123 * libebook/e-vcard.[ch]:
124 Add e_vcard_attribute_remove_param().
126 2007-05-24 Ross Burton <ross@openedhand.com>
128 * libebook/e-contact.c:
129 Add const to declaration of e_contact_set to match the header.
131 2007-05-22 Ross Burton <ross@openedhand.com>
133 * libebook/e-book-view-listener.c:
134 Use g_list_prepend/reverse rather than append. Thanks to Paolo
137 2007-05-22 Ross Burton <ross@openedhand.com>
139 * libebook/e-address-western.c:
140 Change a type from guchar to gchar, to stop compiler warnings.
142 * backends/ldap/e-book-backend-ldap.c:
143 Cast the data when assigning to EContactPhoto.
145 * backends/groupwise/e-book-backend-groupwise.c:
146 Handle both the old and new errcall prototypes in Berkeley DB.
148 Now the addressbook builds without warnings!
150 2007-05-22 Srinivasa Ragavan <sragavan@novell.com>
152 ** Downstream fixes from SUSE.
154 * backends/groupwise/e-book-backend-groupwise.c:
155 (e_book_backend_groupwise_get_contact_list):
156 * libedata-book/e-data-book-view.c:
157 (e_data_book_view_notify_update):
159 2007-05-21 Ross Burton <ross@openedhand.com>
161 * backends/file/e-book-backend-file.c:
162 Check the thread data is a book view before running it, just in
163 case something terrible has happened.
165 2007-05-21 Ross Burton <ross@openedhand.com>
167 * backends/file/e-book-backend-file.c:
168 Call set_errcall() earlier, so it can catch errors in env->open.
170 2007-05-21 Ross Burton <ross@openedhand.com>
172 * backends/file/e-book-backend-file.c:
173 Move a g_free to the correct place, to avoid calling g_free (NULL).
175 2007-05-20 Ross Burton <ross@openedhand.com>
177 * backends/file/e-book-backend-file.c:
178 Don't fetch the existing contact when modifying a contact,
179 allowing modifications to work if there is a UID set correctly.
180 This also will speed up modifications.
182 2007-05-18 Ross Burton <ross@openedhand.com>
184 * backends/file/e-book-backend-file.c:
185 Tiny changes: disable debug output, make a warning more useful,
186 and fix some whitespace.
188 2007-05-18 Ross Burton <ross@openedhand.com>
190 * backends/file/e-book-backend-file.c:
191 Don't duplicate the contact UID when modifying a contact.
193 2007-05-16 Jules Colding <colding@omesc.com>
195 * backends/vcf/e-book-backend-vcf.c (load_file): Fix file descriptor leak.
196 (save_file): Cleanup. Fix file descriptor leak.
198 * tests/vcard/dump-vcard.c (main): Fix file descriptor leak
200 2007-05-15 Ross Burton <ross@openedhand.com>
202 * tests/ebook/test-ebook-async.c:
203 Now that e_book_async_get_contact works, remove the Bonobo usage
204 here too. No more Bonobo in the test suite!
206 2007-05-15 Ross Burton <ross@openedhand.com>
209 Fix e_book_async_get_contact() which previously deadlocked.
211 2007-05-15 Ross Burton <ross@openedhand.com>
213 * tests/ebook/test-stress-bookviews.c:
214 * tests/ebook/test-self.c:
215 * tests/ebook/test-ebook.c:
216 * tests/ebook/test-search.c:
217 * tests/ebook/test-ebook-view.c:
218 * tests/ebook/test-changes.c:
219 Don't use bonobo_init() when g_type_init() will do.
221 2007-05-15 Ross Burton <ross@openedhand.com>
223 * tests/ebook/test-untyped-phones.c:
224 * tests/ebook/test-categories.c:
225 * tests/ebook/test-photo.c:
226 * tests/ebook/test-undefinedfield.c:
227 * tests/ebook/test-string.c:
228 * tests/ebook/test-date.c:
229 Don't use bonobo_init() when g_type_init() will do.
231 2007-05-15 Ross Burton <ross@openedhand.com>
233 * libebook/e-book-view-private.h:
234 * libebook/e-book-listener.h:
235 * libebook/e-book-view-listener.h:
236 * libebook/Makefile.am:
237 Don't install implementation detail headers (#438577).
239 2007-05-15 Ross Burton <ross@openedhand.com>
241 * libedata-book/e-book-backend-db-cache.c:
242 Fix compile warnings by casting gpointer to char*.
244 2007-05-04 Milan Crha <mcrha@redhat.com>
246 ** Fix for bug #274035 from Jonty Wareing
248 * libebook/e-contact.c: (photo_getter): added test
249 for "base64" encoding, because it could be in vCard 2.1
251 2007-05-14 Srinivasa Ragavan <sragavan@novell.com>
253 ** Fix for bug #431135 from Øystein Gisnås
255 * libebook/e-book.c: (e_book_is_self): Simple typo with strcmp.
257 2007-05-10 Oystein Gisnas <oystein@gisnas.net>
259 * libebook/e-vcard.c: Optimise vCard folding (#433782 and #336574).
260 Contribution also from Milan Crha.
262 2007-05-12 Ross Burton <ross@openedhand.com>
264 * libedata-book/e-book-backend.[ch]:
265 Add e_book_backend_sync(), to request that a backend flush any
268 * backends/file/e-book-backend-file.c:
269 Implement the sync method.
273 2007-05-11 Loïc Minier <lool@dooz.org>
275 * libebook/e-contact.h:
276 Use gsize for length of data fields, not int; use unsigned int insted
277 of int for year, month, and day. (#414191)
279 2007-05-07 Matthew Barnes <mbarnes@redhat.com>
281 * backends/ldap/e-book-backend-ldap.c:
283 * libebook/e-contact.c:
284 * libebook/e-vcard.c:
285 * tests/ebook/test-photo.c:
286 * tests/vcard/dump-vcard.c:
287 Fix warnings reported by 'sparse'. Patch from Kjartan Maraas.
289 2007-04-20 Srinivasa Ragavan <sragavan@novell.com>
291 ** Fix for bug #426893 from Caolan McNamara
292 * backends/ldap/e-book-backend-ldap.c: (getormakeEContactAddress),
293 (address_populate), (work_city_populate), (work_state_populate),
294 (work_po_populate), (work_zip_populate), (work_country_populate),
295 (home_city_populate), (home_state_populate), (home_zip_populate),
296 (home_country_populate), (home_address_populate),
297 (work_address_populate), (other_address_populate): Added support from
298 address fields in LDAP addressbook.
300 2007-04-20 Srinivasa Ragavan <sragavan@novell.com>
302 ** Fix for bug #422883 from Wang Xin
304 * backends/ldap/e-book-backend-ldap.c:
305 (e_book_backend_ldap_connect): Fix for build fix with SUN LDAP.
307 2007-04-19 Ross Burton <ross@openedhand.com>
309 * backends/file/e-book-backend-file.c:
310 Allow contact creation to fail, and propagate the error back
313 2007-04-19 Ross Burton <ross@openedhand.com>
315 * libebook/e-contact.c:
316 Relax the checks in e_contact_get_const so that it works on string
317 fields outside the initial few (#422932).
319 2007-04-10 Ross Burton <ross@openedhand.com>
321 * backends/file/e-book-backend-file.c:
322 Use g_list_prepend instead of _append when constructing lists.
323 Show human-readable messages instead of error codes.
324 Don't output spurious new lines (#428183)
326 2007-04-09 simon.zheng <simon.zheng@sun.com>
328 ** Fix for bug #425512
330 * backends/file/e-book-backend-file.c:
331 (e_book_backend_file_load_source):
332 According to docs of Berkeley DB of manpage regarding db->open,
333 "The DB->open method returns a non-zero error value on failure
334 and 0 on success. If DB->open fails, the DB->close method must
335 be called to discard the DB handle"
336 So add calling db->close() after every failure of db->open().
338 2007-04-05 Ross Burton <ross@openedhand.com>
340 * libebook/e-contact.c:
341 Misc cleanups, g_new0 rather than g_new, and prepend to a list
342 then reverse rather then append. (#426564).
344 2007-04-05 Ross Burton <ross@openedhand.com>
346 * backends/file/e-book-backend-file.c:
347 (e_book_backend_file_load_source):
348 * backends/groupwise/e-book-backend-groupwise.c:
349 (e_book_backend_groupwise_authenticate_user),
350 (e_book_backend_groupwise_load_source):
351 * backends/vcf/e-book-backend-vcf.c:
352 (e_book_backend_vcf_load_source):
353 Use g_mkdir_with_parents (#383686).
355 2007-04-05 Ross Burton <ross@openedhand.com>
357 * libebook/e-contact.c:
358 Don't go via GObject properties when calling
359 e_contact_get. (#385078).
361 2007-04-04 Ross Burton <ross@openedhand.com>
363 * libebook/e-book-listener.c:
364 * libebook/e-destination.c:
365 * libebook/e-book-view-listener.c:
367 * libebook/e-book-view.c:
368 * libebook/Makefile.am:
369 * libebook/e-book-marshal.list:
370 * libedata-book/e-data-book-marshal.list:
371 * libedata-book/e-book-backend.c:
372 * libedata-book/e-book-backend-sync.c:
373 * libedata-book/e-data-book.c:
374 * libedata-book/Makefile.am:
375 * libedata-book/e-data-book-factory.c:
376 Remove marshallers that are in GLib (#400970).
378 2007-04-03 Ross Burton <ross@openedhand.com>
380 * libebook/e-vcard.c:
381 Use slice allocator, g_list_prepend/reverse and some other
382 micro-optimisations (#425464).
384 2007-04-01 Matthew Barnes <mbarnes@redhat.com>
386 ** Various code clean-ups from Kjartan Maraas.
388 * libebook/e-book.c (e_book_new_system_address_book),
389 (e_book_new_default_addressbook):
390 * libebook/e-vcard.c (e_vcard_attribute_get_param),
391 (_evc_base64_encode_simple):
392 * backends/ldap/e-book-backend-ldap.c
393 (e_book_backend_ldap_get_contact_list), (member_compare):
394 * libedata-book/e-book-backend-db-cache.c
395 (e_book_backend_db_cache_add_contact):
396 * tests/ebook/test-ebook.c (print_email):
397 * tests/ebook/test-ebook-async.c (print_email):
398 Fix some compiler warnings.
400 * backends/ldap/e-book-backend-ldap.c:
401 Disable some unused functions.
403 * libedata-book/e-book-backend-cache.c
404 (e_book_backend_cache_constructor):
405 Use the global 'parent_class' variable.
407 * libedata-book/e-book-backend-cache.c
408 (e_book_backend_cache_set_time):
409 Return a duplicated string.
411 2007-03-26 Matthew Barnes <mbarnes@redhat.com>
413 * backends/groupwise/e-book-backend-groupwise.c:
414 * libedata-book/e-book-backend-cache.c:
415 Don't mix declarations and code (#405495).
416 Patch from Jens Granseuer.
418 2007-03-25 Ross Burton <ross@openedhand.com>
420 * backends/file/e-book-backend-file.c:
421 Return decent error codes, and convert errors to human readable
422 strings for the console. (#422652).
424 2007-03-25 Ross Burton <ross@openedhand.com>
426 * libebook/Makefile.am:
427 Don't remove e-name-western-tables.h on clean, and don't install
428 it either. (#421445).
430 2007-03-25 Ross Burton <ross@openedhand.com>
432 * backends/file/e-book-backend-file.c:
433 Clean up dispose() and split part of it into finalise() (#421683).
435 2007-03-16 Matthew Barnes <mbarnes@redhat.com>
437 ** Fixes part of bug #360240
439 * backends/ldap/e-book-backend-ldap.c (e_book_backend_ldap_connect):
440 Remove an unused variable
442 2007-02-12 Ross Burton <ross@openedhand.com>
444 * libebook/Makefile.am:
445 Fix distcheck (#400629)
447 2006-12-11 Ross Burton <ross@openedhand.com>
449 * libebook/e-contact.c:
450 Remove an unused function that was missing from the previous
453 2006-12-11 Ross Burton <ross@openedhand.com>
455 * libebook/e-contact.c:
456 Don't use weak references to clean up the cache (#363445).
458 2006-12-01 Srinivasa Ragavan <sragavan@novell.com>
460 * libedata-book/e-book-backend-cache.c:
461 (e_book_backend_cache_get_contacts): Fixed few memory leaks and some
463 (e_book_backend_cache_set_time), (e_book_backend_cache_get_time):
464 Added new api for GAL cache.
465 * libedata-book/e-book-backend-cache.h:
467 2006-11-18 Harish Krishnaswamy <kharish@novell.com>
469 * libebook/Makefile.am:
470 * libebook/e-book-view-private.h:
471 * libebook/e-book-view.c:
472 * libebook/e-book-view.h:
475 Hide Bonobo from public EBook API. Fix for #348123.
476 Patch submitted by Ross Burton.
478 2006-11-06 Claudio Saavedra <csaavedra@alumnos.utalca.cl>
480 * libebook/e-book.c: (e_book_get_self): Fix memory leak (#365000).
482 2006-09-29 Devashish Sharma <sdevashish@novell.com>
484 * backends/ldap/e-book-backend-ldap.c :
487 2006-09-29 Devashish Sharma <sdevashish@novell.com>
489 * backends/ldap/e-book-backend-ldap.c :
490 Code cleanups and fixes for some crashers in ldap addressbook.
492 2006-09-29 Ross Burton <ross@openedhand.com>
494 * addressbook/libebook/e-address-western.h:
495 * addressbook/libebook/e-book-view.h:
496 * addressbook/libebook/e-book.c:
497 * addressbook/libebook/e-book.h:
498 * addressbook/libebook/e-contact.c:
499 * addressbook/libebook/e-contact.h:
500 * addressbook/libebook/e-destination.c:
501 * addressbook/libebook/e-destination.h:
502 * addressbook/libebook/e-vcard.c:
503 * addressbook/libebook/e-vcard.h:
504 Sync headers and source to fix gtk-doc, and add more API docs.
506 2006-08-09 Devashish Sharma <sdevashish@novell.com>
508 * backends/file/e-book-backend-file.c :
509 (e_book_backend_file_get_changes) : Dont leak libdb allocated
510 buffers when checking for changes.
513 2006-08-07 Wouter Bolsterlee (uws) <uws+gnome@xs4all.nl>
515 * libebook/e-contact.c: Fix a build breaker.
517 2006-08-07 Ross Burton <ross@burtonini.com>
519 * libebook/e-contact.c: (e_contact_class_init),
520 (e_contact_set_property), (e_contact_get_property),
521 (e_contact_field_name), (e_contact_pretty_name),
522 (e_contact_vcard_attribute), (e_contact_field_id),
523 (e_contact_get_attributes), (e_contact_set_attributes):
524 Sort the table into the same order as the enumeration,
525 so instead of doing a linear search, it can lookup the data
526 directly (O(1)). Fixes #318880.
528 2006-08-07 Hans Petter Jansson <hpj@novell.com>
530 * addressbook/libebook/e-book.c (fetch_corba_book): Free factory list when
532 * e-book-view-listener.c (e_book_view_listener_dispose): Free the pending
533 events sitting in the async queue.
535 2006-08-03 Devashish Sharma <sdevashish@novell.com>
537 * addressbook/libebook/e-book.c:
538 (e_book_new_from_uri) :set relative uri to NULL.
540 2006-07-31 Devashish Sharma <sdevashish@novell.com>
542 * backends/file/e-book-backend-file.c :Fix for Bug #347495.
544 2006-07-28 Devashish Sharma <sdevashish@novell.com>
546 * libedata-book/e-data-book-view.c :
547 Fix for a crash in addressbook while loading.
549 2006-07-28 Devashish Sharma <sdevashish@novell.com>
551 * backends/groupwise/e-book-backend-groupwise.c :
552 In groupwise there is no way to put arbitrary members into a group. There's no
553 mechanism for a group to contain members that are not already present in a system
554 or personal addressbook as a contact, and so they cant be saved and will be lost.
555 In order to save them we first need to create groupwise based contacts for these
556 arbitrary contacts and then add them as members to the group.
559 2006-07-25 Harish Krishnaswamy <kharish@novell.com>
561 * libebook/Makefile.am: Distribute e-name-western-tables.h.in
562 and the python script to generate the header.
564 2006-07-24 Devashish Sharma <sdevashish@novell.com>
566 * libebook/e-contact.[ch] : Added support for Gadu Gadu IM
569 2006-07-24 Ross Burton <ross@openedhand.com>
571 * libebook/e-book-query.[ch]:
572 Add e_book_query_vcard_field_exists().
574 * libedata-book/e-book-backend-sexp.c:
575 Add vcard_exists symbol.
579 2006-07-24 Ross Burton <ross@openedhand.com>
581 * libebook/e-name-western-tables.h:
582 * libebook/e-name-western-tables.h.in:
583 Add name tables as a machine readable form (.h.in) and provide a
584 pre-generated file (.h).
586 * libebook/gen-western-table.py:
587 And have a script to generate packed arrays from it.
589 * libebook/e-name-western.c:
590 Update to parse the packed array.
592 * libebook/Makefile.am:
593 Generate the file as required.
595 This removes many relocations and puts the name data in shared
598 2006-07-24 Ross Burton <ross@openedhand.com>
600 * libebook/e-vcard.[ch]:
601 Add e_vcard_attribute_remove_value and
602 e_vcard_attribute_remove_param_value() (#347899).
604 2006-07-18 Ross Burton <ross@openedhand.com>
606 * backends/groupwise/Makefile.am:
607 * libedata-book/Makefile.am:
608 Fix build when using the system DB by using the defined symbols
609 for the libdb include/link arguments (#347891).
611 2006-07-18 Ross Burton <ross@openedhand.com>
613 * backends/ldap/e-book-backend-ldap.c:
614 Finish up fixing for new API (#313533).
616 2006-07-17 Sushma Rai <rsushma@novell.com>
618 backends/ldap/e-book-backend-ldap.c: Incorporating the EContactPhoto
619 Changes, so that e-d-s build doesn't break. See #313533.
621 2006-07-17 Ross Burton <ross@openedhand.com>
623 * libebook/e-contact.[ch]:
624 Change the EContactPhoto structure to allow the photo to be either
625 inline or a remote reference. This is an API/ABI break. (#313533).
627 2006-07-17 Ross Burton <ross@openedhand.com>
629 * libebook/e-vcard.[ch]:
630 Add e_vcard_get_param() (#347752)
632 2006-07-14 Devashish Sharma <sdevashish@novell.com>
634 * libedata-book/e-book-backend-summary.c : Fixed a crasher in
635 e_book_backend_summary_load.
637 2006-07-14 Devashish Sharma <sdevashish@novell.com>
639 * backends/groupwise/e-book-backend-groupwise.c : Fixed a crasher in
642 2006-07-07 Ross Burton <ross@openedhand.com>
644 * libedatabook/e-data-book-view.[ch]:
645 Add e_data_book_view_notify_update_prefiltered_vcard() to
648 * backends/file/e-book-backend-file.c:
649 Use the new function, and ask libdb to use the GLib allocators so
650 we don't have to copy every contact.
654 2006-07-05 Ross Burton <ross@openedhand.com>
656 * backends/file/e-book-backend-file.c:
657 Allow builds against system libdb 4.3 or greater to work (#346655).
659 2006-07-05 Ross Burton <ross@openedhand.com>
661 * backends/file/e-book-backend-file.c:
662 Whenever libdb can give a warning, print it in a uniform way. Also
663 remove a debugging printf. (#346661).
665 2006-06-16 Devashish Sharma <sdevashish@novell.com>
667 * libebook/e-contact.c : Added translator comment for
671 2006-06-16 Tor Lillqvist <tml@novell.com>
673 Make addressbook work on Win32 also with non-ASCII chars in home
676 * backends/file/e-book-backend-file.c (my_exists, my_rename)
677 (my_unlink): Need to wrap more file name using functions in libdb.
678 (e_book_backend_file_class_init): Register the above with libdb.
680 2006-06-15 Andre Klapper <a9016009@gmx.de>
683 changing "cancelled" to "canceled" in user-visible strings.
686 2006-06-15 Andre Klapper <a9016009@gmx.de>
688 * addressbook/libebook/e-book.c:
689 * camel/camel-folder.c:
690 * camel/providers/nntp/camel-nntp-folder.c:
691 * camel/providers/pop3/camel-pop3-folder.c:
692 changing "uri" to "URI" in user-visible strings.
695 2006-06-13 Andre Klapper <a9016009@gmx.de>
698 changing "couldn't", "can't" and "didn't" to proper
699 English. Fixes bug #342160.
701 2006-06-13 Ross Burton <ross@openedhand.com>
703 * libebook/e-vcard.[ch]:
704 Add e_vcard_get_attribute() (#334411)
706 2006-06-12 simon.zheng <simon.zheng@sun.com>
709 * backends/ldap/e-book-backend-ldap.c:
710 (e_book_backend_ldap_connect), (e_book_backend_ldap_class_init):
711 * backends/ldap/openldap-extract.h:
712 Add SunLDAP library support - a variant of Netscape LDAP.
714 2006-06-12 Devashish Sharma <sdevashish@novell.com>
716 * addressbook/libebook/e-book.c : Fix for bug #342162.
718 2006-06-07 Devashish Sharma <sdevashish@novell.com>
720 * addressbook/backends/groupwise/e-book-backend-groupwise.c :
721 Changed the xml hash based cache mechanism for groupwise addressbook
723 * addressbook/libedata-book/e-book-backend-db-cache.[ch]:
724 Addeed APIs for handling db based cache.
726 2006-06-07 Ross Burton <ross@openedhand.com>
728 * libebook/e-book-query.c:
729 Fix the x-evolution-any-field serialisation so that server-side
730 optimsations that so literal string compares actually
733 2006-05-24 Ross Burton <ross@burtonini.com>
735 * libebook/e-book-view.c:
737 * libebook/e-vcard.c:
738 Add more API documentation (#342678)
740 2006-05-15 Harish Krishnaswamy <kharish@novell.com>
742 * libebook/e-vcard.[ch]: Restore the two functions removed from the
743 header in the last commit. DO NOT TINKER WITH API FUNCTIONS. Preserve
746 2006-05-12 Devashish Sharma <sdevashish@novell.com>
748 * libebook/e-vcard.c : Chages to vcard parsing so that it handles
749 quoted printable characters correctly.
750 * tests/vcard/12.vcf :
751 * tests/vcard/13.vcf :Added new test vcards.
753 Patch given by <ralf-engels@gmx.de>
755 2006-05-04 Ross Burton <ross@openedhand.com>
757 * libedata-book/e-book-backend-sexp.c:
758 Fix memory leak in and optimize the performance of compare_im
761 2006-04-21 Devashish Sharma <sdevashish@novell.com>
763 Fixes https://bugzilla.novell.com/show_bug.cgi?id=163664:
765 * libebook/e-vcard.c (parse): Turn the incoming vcard string into
767 (make_valid_utf8): New helper function, stolen from Glib. This
768 replaces invalid UTF-8 with U+FFFD REPLACEMENT CHARACTER.
769 Patch given by Federico Mena Quintero <federico@novell.com>
771 2006-04-18 Ross Burton <ross@openedhand.com>
773 * libebook/e-address-western.c:
774 Protect against possible NULL dereference (#338880).
776 2006-04-06 Devashish Sharma <sdevashish@novell.com>
778 * backends/groupwise/e-book-backend-groupwise.c : Made the function
779 update_address_book_deltas thread safe.
780 Fixes the Bug#336687.
782 2006-03-21 Devashish Sharma <sdevashish@novell.com>
784 * backends/groupwise/e-book-backend-groupwise.c : Use double values for
785 server_last_sequence, server_first_sequence and cache_last and first_sequence, as
786 sometimes these values can be outside the range of int.
787 Added some NULL checks to prevent some random crashes.
789 * libedata-book/e-data-book.c : Ref the backend before for future use.
791 2006-01-16 Ross Burton <ross@openedhand.com>
793 * libedata-book/e-data-book-view.h:
794 * libedata-book/e-data-book-view.c:
795 Add e_data_book_view_notify_update_vcard().
797 * backends/file/e-book-backend-file.c:
798 Use e_data_book_view_notify_update_vcard to avoid useless
799 vCard->EContact->vCard round-trip.
801 2006-01-16 Sushma Rai <rsushma@novell.com>
803 * backends/ldap/e-book-backend-ldap.c prop_info: Added GROUP_PROP.
804 (check_schema_support): Considering "groupOfNames".
805 (add_objectclass_mod): Similar.
806 (build_mods_from_contacts): Handling the list object.
807 (e_book_backend_ldap_create_contact): similar.
808 (modify_contact_search_handler): similar. Also added debug messages.
809 (member_populate): Added new, populates the contact list members.
810 (member_ber): Added new, returns member information.
811 (member_compare): Added new, compares two contact lists.
812 (build_contact_from_entry): Handling "groupOfNames" object. For the
813 groupOfNames object, for each member DN, reading the cn and e-mail ids,
814 and calling member_populate.
815 (e_book_backend_ldap_get_static_capabilities): Added contact-lists.
818 2006-01-12 Harish Krishnaswamy <kharish@novell.com>
820 * libebook/e-book.c: (activate_factories_for_uri):
821 The Book Factory oafid should reflect
822 the API version rather than the BASE version.
825 2006-01-10 Ross Burton <ross@openedhand.com>
827 * libebook/e-book-query.c
828 * libebook/e-vcard.c:
829 Fix GList leaks (#320065).
831 2006-01-10 Simon Zheng <simon.zheng@sun.com>
833 * backends/file/e-book-backend-file.c:
834 * backends/groupwise/e-book-backend-groupwise.c:
835 * backends/vcf/e-book-backend-vcf.c:
836 * libebook/e-address-western.c:
837 * libebook/e-contact.c:
838 * libedata-book/e-book-backend-sexp.c:
839 * libedata-book/e-book-backend-summary.c:
840 As file e-util.h is renamed, replace "libedataserver/e-util.h"
841 as "libedataserver/e-data-server-util.h".
843 2006-01-09 Ross Burton <ross@openedhand.com>
846 * libebook/e-book-view.c:
847 * libebook/e-book-view.h:
848 Add e_book_view_get_book().
850 2006-01-02 Srinivasa Ragavan <sragavan@novell.com>
852 * libebook/e-destination.c (e_destination_init),
853 (e_destination_copy), (e_destination_set_contact),
854 (e_destination_is_ignored), (e_destination_set_ignored),
855 (e_destination_get_address): Added functions to set/unset a email in a
857 * libebook/e-destination.h:
859 2005-12-16 Veerapuram Varadhan <vvaradhan@novell.com>
861 * libebook/e-name-western.c: (e_name_western_reorder_asshole):
862 Check for invalid combination of prefix and comma separation
863 before reordering the name.
866 2005-12-09 Tor Lillqvist <tml@novell.com>
868 * libedata-book/e-book-backend-summary.c: Use gstdio wrappers.
869 (is_helper): Use e_util_utf8_strcasecmp() instead of strcasecmp().
871 * libedata-book/e-book-backend-sexp.c (is_helper): Use
872 e_util_utf8_strcasecmp() instead of strcasecmp().
874 2005-12-08 Tor Lillqvist <tml@novell.com>
876 * libebook/e-name-western.c (e_name_western_fixup): Use UTF-8 case
877 folding and collation. Yeah, maybe this is over-engineering for
880 * libebook/e-name-western-tables.h: Add correct spellings of
881 "fräulein" and "señor*" correctly. Add "doktor". Add "af".
883 * backends/file/e-book-backend-file.c: Use gstdio wrappers. On
884 Win32, register own open and close methods for libdb so that the
885 UTF-8 file names that we use will work. (A small patch to libdb
886 was also required, see ../ChangeLog.)
888 * backends/groupwise/e-book-backend-groupwise.c
889 * backends/vcf/e-book-backend-vcf.c: Use gstdio wrappers. Open
890 files in binary mode.
892 * tests/ebook/test-changes.c: Use g_get_tmp_dir() instead of
893 hardcoding /tmp. Use g_filename_to_uri() instead of just prefixing
896 2005-11-30 Harish Krishnaswamy <kharish@novell.com>
898 * backends/ldap/e-book-backend-ldap.c: (poll_ldap):
899 Allow environment override of the LDAP result timeout.
901 2005-11-29 Sushma Rai <rsushma@novell.com>
903 * backends/ldap/e-book-backend-ldap.c: Added support for environment
904 variable LDAP_DEBUG and printing log messages if it is set.
906 2005-11-25 Tor Lillqvist <tml@novell.com>
908 * libebook/e-contact.c: Include e-util.h and redefine
909 EVOLUTION_LOCALEDIR as e_util_get_localedir() on Windows.
911 * backends/ldap/e-book-backend-ldap.c: Use <winldap.h> and
912 openldap-extract.h on Windows.
913 (get_ldap_library_info): Use ldap_init() instead of the
914 non-standard ldap_create().
915 (get_ldap_library_info, e_book_backend_ldap_connect,
916 e_book_backend_ldap_set_mode, e_book_backend_ldap_dispose) Use
917 ldap_unbind() instead of the non-standard
918 ldap_unbind_ext_s(). Calling ldap_unbind_ext_s() passing NULL for
919 the sctrls and cctrls parameters is exactly equivalent to calling
920 ldap_unbind() anyway, see OpenLDAP sources.
921 (e_book_backend_ldap_connect): No LDAP_OPT_X_TLS in winldap, set
922 LDAP_OPT_SSL instead.
923 (e_book_backend_ldap_authenticate_user): Use g_ascii_strncasecmp()
924 instead of strncasecmp().
925 (ldap_cancel_op): Use ldap_abandon() instead of the non-standard
926 ldap_abandon_ext(). Calling ldap_abandon_ext() passing NULL for
927 sctrls and cctrls is equivalent to calling ldap_abandon().
929 * backends/ldap/openldap-extract.h: New file. Contains various
930 things lifted from OpenLDAP for use on Windows where we use
931 Microsoft's LDAP implementation.
933 * backends/ldap/Makefile.am: Link with more libraries to avoid
934 unresolved externals on Windows. Distribute openldap-extract.h.
936 2005-10-26 Ross Burton <ross@burtonini.com>
938 * libebook/e-destination.c:
939 Add casts to stop newer gcc moaning about libxml (#319612).
941 2005-10-20 Sushma Rai <rsushma@novell.com>
943 * backends/ldap/e-book-backend-ldap.c: Added variable to
944 _EBookBackendLDAPPrivate to store LDAP search filter, and using that
945 instead of hardcoded "objectclass=person".
946 (e_book_backend_ldap_load_source): Reading the search filter from
948 (e_book_backend_ldap_build_query): Using the search filter set in LDAP
950 (e_book_backend_ldap_dispose): free ldap search filter.
953 2005-10-14 Ross Burton <ross@burtonini.com>
955 * libedata-book/e-book-backend-summary.c:
956 Fix writing race to avoid recalculating the index (#316955).
958 2005-10-14 Ross Burton <ross@burtonini.com>
960 * libebook/e-destination.c:
961 Fix typo when writing escaped names.
963 2005-10-04 Sushma Rai <rsushma@novell.com>
965 * backends/ldap/e-book-backend-ldap.c: Added a mutext for ldap
966 connection handler, so that it is not accessed during ldap_reconnect.
969 2005-09-27 Tor Lillqvist <tml@novell.com>
971 * libebook/e-contact.c (e_contact_date_from_string): Use strchr()
974 2005-09-19 Jürg Billeter <j@bitron.ch>
976 * libebook/e-contact.c: (e_contact_date_from_string):
977 Don't discard date part in date-time value.
980 2005-09-15 Tor Lillqvist <tml@novell.com>
982 * backends/file/e-book-backend-file.c
983 (e_book_backend_file_extract_path_from_uri): Use
984 g_ascii_strncasecmp() instead of strncasecmp() for
985 well-definedness. Use g_filename_from_uri() instead of just
986 stripping off a "file://" prefix. (On Win32, a file URI for a
987 pathname that includes a drive letter looks like
988 "file:///x:/dir/sub/file.ext", so stripping off "file://" leaves
989 an extra slash in front of the drive letter.)
991 * backends/groupwise/e-book-backend-groupwise.c: Use
992 g_get_current_time() instead of gettimeofday() for portability.
994 * backends/vcf/e-book-backend-vcf.c
995 * libebook/e-contact.c
996 * libebook/e-vcard.c: Use g_ascii_str(n)casecmp() instead of
997 str(n)casecmp() for well-definedness.
999 * libebook/e-book.c (e_book_new_system_addressbook): Use
1000 g_filename_to_uri() instead of simple prefixing "file://".
1002 2005-08-22 Not Zed <NotZed@Ximian.com>
1004 * backends/groupwise/e-book-backend-groupwise.c
1005 (e_book_backend_groupwise_get_contact_list): initialise contacts
1008 * libebook/e-book-listener.c
1009 (impl_BookListener_report_auth_required): fix the type of this
1010 function to match the idl.
1012 2005-08-18 Ross Burton <ross@burtonini.com>
1014 * libedata-book/e-book-backend.c:
1015 Unref the ESource on dispose.
1017 2005-08-16 Ross Burton <ross@burtonini.com>
1019 * libedata-book/e-book-backend-summary.c:
1020 Mark the summary clean when saved.
1022 2005-08-16 Ross Burton <ross@burtonini.com>
1024 * libebook/e-contact.c:
1025 Fix a leak when returning boxed types.
1027 2005-08-13 Sushma Rai <rsushma@novell.com>
1029 * backends/ldap/e-book-backend-ldap.c (func_beginswith): Ignoring the
1030 null query for LDAP addressbook, so that we don't download the book and
1031 try to show all the entries in name selector dialog.
1033 2005-08-13 Sushma Rai <rsushma@novell.com>
1035 * backends/ldap/e-book-backend-ldap.c
1036 (e_book_backend_ldap_authenticate_user): Return error if we fail to
1037 get the DN for the user.
1040 2005-08-13 Sushma Rai <rsushma@novell.com>
1042 * libedata-book/e-book-backend-cache.c
1043 (e_book_backend_cache_get_contacts): Fixed memory leak.
1045 2005-08-10 Ross Burton <ross@burtonini.com>
1047 * libebook/e-vcard.c: Removed the assignment of g_string_append()
1048 return value to a variable, which is not used anywhere.
1051 2005-08-05 Sushma Rai <rsushma@novell.com>
1053 * backends/ldap/e-book-backend-ldap.c (ldap_error_to_response):
1054 Handling LDAP_INVALID_DN_SYNTAX error code, so that we don't get the
1055 misleading error message "contact not found".
1057 2005-08-05 Sushma Rai <rsushma@novell.com>
1059 * backends/groupwise/e-book-backend-groupwise.c
1060 (e_book_backend_groupwise_get_contact_list): If cache is up-to-date and
1061 the query has a summary item, then reply from cache, for GroupWise
1062 system address book, as we update the system address book cache
1063 periodically and server does't support get_items_from_ids() is for
1064 system address book.
1065 Freeing ids array in offline case.
1066 (build_cache): Added debug message.
1068 2005-08-02 Sushma Rai <rsushma@novell.com>
1070 * backends/groupwise/e-book-backend-groupwise.c
1071 (e_book_backend_groupwise_get_static_capabilities): do-initial-query
1072 for all the GroupWIse address books, so that we get the book view for
1073 notifying cache download progress for all the address books.
1074 (func_contains): Ignoring the null query for GroupWise system
1075 addressbook, so that we don't download the book while loading.
1076 (func_beginswith): Similar.
1078 2005-07-26 Sushma Rai <rsushma@novell.com>
1080 * backends/ldap/e-book-backend-ldap.c (email_ber): Setting the proper
1081 array lenght for emails. Patch submitted by
1082 "weo@weo1.de (Wolfgang Ocker)" fixes #311684.
1084 2005-07-26 Sushma Rai <rsushma@novell.com>
1086 * backends/groupwise/e-book-backend-groupwise.c: Added summary file
1087 support, to make cache file access faster.
1088 (set_organization_in_gw_item): updating the summary file.
1089 (e_book_backend_groupwise_create_contact): Similar.
1090 (e_book_backend_groupwise_remove_contacts): Similar.
1091 (e_book_backend_groupwise_modify_contact): Similar.
1092 (e_book_backend_groupwise_get_contact_list): If the summary file
1093 exists, reading uids from summary, otherwise reading theim from cache.
1094 (get_contacts_from_cache): Given the uids, reading the contacts from
1095 cache and updating the view.
1096 (book_view_thread): If the summary file exists, reading the uids from
1097 summary. If the cache is up-to-date, for GroupWise system address book
1098 reading the entries and replying from cache. For other GW address books,
1099 reading the contacts from server, for the uids found in summary file.
1100 If the cache is not sane, reading the entries from server.
1101 (e_book_backend_groupwise_start_book_view): building summary file, along
1103 (build_summary): Reading the cache file and build summary file with the
1104 entries found in cache.
1105 (update_cache): If the summary file is missing or not up-to-date,
1106 re-build summary file. Update the cache and summry files.
1107 (update_addressbook_deltas): Update the GW system addressbook summary
1108 along with cache. Update these files, only if the changes found in
1110 (e_book_backend_groupwise_authenticate_user): Initialize and load the
1112 (e_book_backend_groupwise_load_source): Forming the summary file name.
1113 (e_book_backend_groupwise_dispose): Flush summary to disk and destroy
1117 2005-07-25 Sushma Rai <rsushma@novell.com>
1119 * backends/groupwise/e-book-backend-groupwise.c
1120 (update_address_book_deltas): Freezing the file cache for
1121 GroupWise system address book at the proper place.
1123 2005-07-25 Sushma Rai <rsushma@novell.com>
1125 * libebook/e-book.c: Handling gcc specific "__PRETTY_FUNCTION__" macro
1126 for other compilers. Patch by
1127 "The Written Word <bugzilla-novell@thewrittenword.com>" for #271837
1129 2005-07-25 Sushma Rai <rsushma@novell.com>
1131 * backends/groupwise/e-book-backend-groupwise.c: Added summary file
1132 related members and some void pointers for future use, to
1133 EBookBackendGroupwisePrivate structure.
1134 (e_book_backend_groupwise_init)(e_book_backend_groupwise_dispose):
1135 Initialize and free newly added members.
1136 * backends/ldap/e-book-backend-ldap.c: Similar.
1137 * backends/file/e-book-backend-file.c: Similar.
1138 * backends/vcf/e-book-backend-vcf.c: Similar.
1140 2005-07-25 Sushma Rai <rsushma@novell.com>
1142 * backends/groupwise/e-book-backend-groupwise.c
1143 (e_book_backend_groupwise_init): Checking for the environment variable
1144 value for GROUPWISE_DEBUG and using value 2 for addressbook specific
1147 2005-07-23 Sushma Rai <rsushma@novell.com>
1149 * libedata-book/e-book-backend-summary.c
1150 (e_book_backend_summary_add_contact): Checking for the NULL uid. Fixes
1151 the crash when GroupWise server sends contacts with NULL UID.
1153 2005-07-23 Sushma Rai <rsushma@novell.com>
1155 * backends/groupwise/e-book-backend-groupwise.c
1156 (e_book_backend_groupwise_authenticate_user): Added the support for
1157 refreshing the GW system address book cache at every 10 minutes or
1158 at the interval specified by user using BOOK_CACHE_REFESH_INTERVAL.
1159 (update_address_book_cache): spawns a thread to update the cache after
1160 specifed time interval.
1161 (e_book_backend_groupwise_init): Initializing the time out to zero.
1162 (e_book_backend_groupwise_dispose): Cleanup time out.
1164 2005-07-23 Sushma Rai <rsushma@novell.com>
1166 * backends/groupwise/e-book-backend-groupwise.c
1167 (update_address_book_deltas): Updating the cache fully. Previously only
1168 CURSOR_ITEM_LIMIT items were getting upddated.
1169 Also using better variable names.
1171 2005-07-13 Sushma Rai <rsushma@novell.com>
1173 * backends/groupwise/e-book-backend-groupwise.c (build_cache)
1174 (update_cache)(update_address_book_deltas): Freezing the cache while
1175 updating and writing to disk at once. Fixes the problem of high CPU
1176 usage during huge cache updates.
1178 * addressbook/backends/ldap/e-book-backend-ldap.c
1179 (generate_cache_handler): Similar.
1181 2005-07-09 Sushma Rai <rsushma@novell.com>
1183 * libebook/e-vcard.h: Defined EVC_X_BOOK_URI.
1185 * libebook/e-contact.[ch]: Added field E_CONTACT_BOOK_URI, to store
1186 the URI of the book to which the contact belongs to.
1188 * backends/groupwise/e-book-backend-groupwise.c: Setting the book uri
1189 in the contact, whenever a contact is created. This is useful for
1190 GroupWise address book, for getting the e-mail ids from a contact list
1191 during autocompletion, as we don't get the list members from server for
1193 (e_book_backend_groupwise_get_contact): Setting the view as
1194 "name email default members".
1196 2005-07-06 Kjartan Maraas <kmaraas@gnome.org>
1198 * backends/file/e-book-backend-file.c:
1199 (e_book_backend_file_load_source): Free filename and dirname
1202 2005-07-06 Ross Burton <ross@burtonini.com>
1204 * libebook/e-book-listener.c:
1205 Free the private data.
1207 2005-07-06 Sushma Rai <rsushma@novell.com>
1209 * libedata-book/e-book-backend-cache.c
1210 (e_book_backend_cache_is_populated): Returning FALSE on error.
1212 2005-07-06 Sushma Rai <rsushma@novell.com>
1214 * backends/groupwise/e-book-backend-groupwise.c
1215 (e_book_backend_groupwise_authenticate_user): Updating system address
1216 book, only if marked for offline usage.
1218 2005-07-05 Sushma Rai <rsushma@novell.com>
1220 * libebook/e-contact.[ch]: Using gconstpointer instead of
1221 const gpointer for return value of e_contact_get_const(). Fixes #309175.
1223 2005-07-04 Sushma Rai <rsushma@novell.com>
1225 * libedata-book/e-book-backend-sexp.c (prop_info_table[]): Added
1226 E_CONTACT_UID. Fixes #309276.
1227 (entry_compare): Skipping the any-field search for UID, so that we
1228 we try not to show contacts those match the query partially.
1231 2005-07-01 Sushma Rai <rsushma@novell.com>
1233 * backends/file/e-book-backend-file.c (book_view_thread): Checking for
1234 database fatal error. Fixes the crash in case of corrupted db file.
1236 2005-06-25 Sushma Rai <rsushma@novell.com>
1238 * libebook/e-contact.c (e_contact_set_property): Setting TYPE=OTHER
1239 default parameter to email attribute. Fixes #240756
1241 2005-06-22 Tor Lillqvist <tml@novell.com>
1243 * backends/*/Makefile.am (*_LIBADD): Add libebook, libedata-book,
1244 libedataserver, libdb and EVOLUTION_ADDRESSBOOK_LIBS as needed to
1245 satisfy -no-undefined.
1246 (*_LDFLAGS): Use NO_UNDEFINED (expands to -no-undefined on
1249 * backends/file/e-book-backend-file-factory.c
1250 * libedata-book/e-book-backend-factory.c
1251 * libedata-book/e-book-backend.c
1252 * libedata-book/e-data-book-factory.c: Drop superfluous inclusion
1253 of <pthread.h>. No pthread API was used in these files.
1255 * backends/file/e-book-backend-file.c (set_revision)
1256 * backends/vcf/e-book-backend-vcf.c (set_revision): Use
1257 g_get_current_time() instead of gettimeofday().
1259 * libebook/Makefile.am
1260 * libedata-book/Makefile.am: Use NO_UNDEFINED.
1262 * libebook/e-book-view-listener.c: Don't include <pthread.h>. In
1263 the (normally not even compiled) debugging output print the value
1264 of g_thread_self() instead of pthread_self().
1266 * libebook/e-book.c: Use GThread API instead of pthreads to start
1267 the mainloop thread.
1269 * libedata-book/e-book-backend-summary.c: Drop inclusion of
1270 <netinet/in.h>. Use g_ntoh*() and g_hton*().
1272 2005-06-16 Sushma Rai <rsushma@novell.com>
1274 * backends/ldap/e-book-backend-ldap.c (func_contains): Ignoring
1275 "any field contains" query with NULL value, so that we don't display
1276 all the contacts while loading or refreshing the LDAP address book.
1277 (e_book_backend_ldap_get_static_capabilities): Added do-initial-query,
1278 so that we get a view, for notifying cache update.
1279 (e_book_backend_ldap_search): Ignoring NULL LDAP query.
1280 (ldap_search_handler): Using the error code
1281 GNOME_Evolution_Addressbook_InvalidQuery, so that proper error message
1282 is displayed for not handled search results.
1283 (generate_cache_handler): Notifying cache update progress.
1284 (e_book_backend_ldap_get_required_fields): Fixed some compile time
1286 (e_book_backend_ldap_search): Similar.
1287 (e_book_backend_ldap_set_mode): Similar.
1288 (query_ldap_root_dse): Similar.
1290 2005-06-10 Sushma Rai <rsushma@novell.com>
1292 * backends/groupwise/e-book-backend-groupwise.c:
1293 (add_sequence_to_cache): Adds the sequence information to the system
1295 (build_cache): Moved out system address book cache sequence update from
1296 here to add_sequence_to_cache().
1297 (update_cache): Notifying status while, both replaing the cache item
1298 and adding a new item to the cache.
1299 (update_address_book_deltas): If the sequnces are reset at the server,
1300 not adding them to cache too.
1301 If all the sequences are not available in the server or PO is rebuilt,
1302 re-building the cache with the new sequence information.
1303 Notifying status while updating the cache.
1304 (e_book_backend_groupwise_authenticate_user): Building the system address
1305 book cache if marked for offline usage.
1307 2005-06-10 Sushma Rai <rsushma@novell.com>
1309 * backends/groupwise/e-book-backend-groupwise.c
1310 (book_view_notify_status): Notifying status if view is not null.
1311 (find_book_view): Getting the list of views and returning the first.
1312 (build_cache): Notifying the cache build progress.
1313 (update_cache): Notifying the cache update progress.
1314 (update_address_book_deltas): Fixed compile time warnings.
1316 2005-06-08 Srinivasa Ragavan <sragavan@novell.com>
1318 * backends/groupwise/e-book-backend-groupwise.c (update_cache):
1319 For the GroupWise system address book, finding the changes in server
1320 and updating the cache.
1321 (update_address_book_deltas): Added new. Reads the sequence ids,
1322 and adds the new items added in server, or deletes the items deleted
1324 (e_book_backend_groupwise_authenticate_user): Calling
1325 update_address_book_deltas().
1327 2005-05-24 Chenthill Palanisamy <pchenthill@novell.com>
1329 Commiting for Daniel van Eeden <daniel_e@dds.nl>
1330 * libebook/e-contact.c: fixes naming consistency for
1334 2005-05-20 Ross Burton <ross@burtonini.com>
1336 * backends/file/e-book-backend-file.c:
1337 Fix a large memory leak (the cursor was not being freed).
1339 2005-05-14 Hans Petter Jansson <hpj@novell.com>
1341 * libedata-book/e-book-backend-cache.c:
1342 * libedata-book/e-book-backend-factory.c:
1343 * libedata-book/e-book-backend-sexp.c:
1344 * libedata-book/e-book-backend-summary.c:
1345 * libedata-book/e-book-backend-sync.c:
1346 * libedata-book/e-book-backend.c:
1347 * libedata-book/e-data-book-factory.c:
1348 * libedata-book/e-data-book-view.c:
1349 * libedata-book/e-data-book.c: Wrote API docs.
1351 2005-05-11 Sushma Rai <rsushma@novell.com>
1353 * libedata-book/e-book-backend-sexp.c (compare_name): Considering
1354 nickname also in full name query. Fixes #255756
1356 2005-05-09 Sushma Rai <rsushma@novell.com>
1358 * backends/vcf/e-book-backend-vcf.c
1359 (e_book_backend_vcf_get_required_fields): Removed unused variable i.
1360 (do_create): Checking if last revision time (E_CONTACT_REV) is set on
1361 contact, if not setting it.
1362 (set_revision): Reading the system time and setting it as last revision
1365 2005-05-09 Sushma Rai <rsushma@novell.com>
1367 * backends/groupwise/e-book-backend-groupwise.c: Added E_CONTACT_REV
1370 2005-05-09 Sushma Rai <rsushma@novell.com>
1372 * libedata-book/e-book-backend-cache.c
1373 (e_book_backend_cache_constructor): Freeing cache file name.
1375 2005-05-06 Sushma Rai <rsushma@novell.com>
1377 * libebook/e-vcard.c (e_vcard_attribute_add_param): Handling encoding
1380 * libebook/e-contact.c (n_getter): If FN attribute is not present,
1381 forming FN value from N and adding it to the vcard.
1384 2005-05-06 Sushma Rai <rsushma@novell.com>
1386 * libedata-book/e-book-backend-cache.c
1387 (e_book_backend_cache_get_contacts): Freeing the list of cache objects
1389 (e_book_backend_cache_search): Freeing list of contacts matching the
1392 2005-05-04 Hans Petter Jansson <hpj@novell.com>
1394 * libebook/e-address-western.c:
1395 * libebook/e-book-listener.c:
1396 * libebook/e-book-query.c:
1397 * libebook/e-book-view-listener.c:
1398 * libebook/e-book-view.c:
1399 * libebook/e-book.c:
1400 * libebook/e-contact.c:
1401 * libebook/e-destination.c:
1402 * libebook/e-name-western.c:
1403 * libebook/e-vcard.c: Wrote API docs.
1405 2005-04-27 Sushma Rai <rsushma@novell.com>
1407 * libebook/e-book.c (e_book_response_add_contact): Setting the status
1408 for both synchronous and asynchronous operations.
1409 (e_book_response_get_required_fields): Similar.
1410 (e_book_response_get_supported_fields): Similar.
1411 (e_book_response_get_supported_auth_method): Similar.
1412 (e_book_response_get_contacts): Setting the status outside the
1413 operation type condition check.
1414 (e_book_response_generic): Similar.
1415 (e_book_response_open): Similar.
1416 (e_book_response_remove): Similar.
1419 2005-04-27 Ross Burton <ross@burtonini.com>
1421 * libebook/e-book-listener.c:
1422 * libebook/e-book-view-listener.c:
1423 * libedata-book/e-data-book-factory.c:
1424 * libedata-book/e-data-book-view.c:
1425 * libedata-book/e-data-book.c:
1426 Use a static POA instead of creating a new one every time.
1428 2005-04-26 Ross Burton <ross@burtonini.com>
1430 * addressbook/libedata-book/e-data-book-factory.c:
1431 Don't leak a BookListener.
1433 * addressbook/backends/file/e-book-backend-file.c:
1436 2005-04-11 Harish Krishnaswamy <kharish@novell.com>
1438 * libebook/Makefile.am, libedata-book/Makefile.am:
1441 2005-03-15 JP Rosevear <jpr@novell.com>
1443 Fixes #68533 (hackily)
1445 * libedata-book/e-data-book-factory.c (out_of_proc_check): call
1446 back to check for out of proc backends
1447 (e_data_book_factory_get_n_backends): if no out of proc clients
1448 are left, report no backends
1450 * libedata-book/e-book-backend.h: new proto
1452 * libedata-book/e-book-backend.c
1453 (e_book_backend_has_out_of_proc_clients): see if the remaining
1454 clients are all in proc
1456 2005-03-09 Not Zed <NotZed@Ximian.com>
1458 * backends/file/e-book-backend-file.c
1459 (e_book_backend_file_load_source): use a single global ref-counted
1460 db-env for all opened db's.
1461 (e_book_backend_file_dispose): clean up the env when finished.
1463 2005-03-07 Sivaiah Nallagatla <snallagatla@novell.com>
1465 * backends/groupwise/e-bbok-backend-groupwise.c
1466 (e_book_backend_groupwise_set_mode) : notify writable
1467 state after looking at priv->is_writable. Some books
1468 are read only for groupwise.
1472 2005-03-02 JP Rosevear <jpr@novell.com>
1476 * libebook/e-destination.c (e_destination_list_get_dests): get a
1477 list of destination addresses
1479 * libebook/e-destination.h: add proto
1481 2005-03-01 Not Zed <NotZed@Ximian.com>
1485 * libebook/e-destination.c (e_destination_copy): copy the raw
1488 2005-02-28 Sivaiah Nallagatla <snallagatla@novell.com>
1490 * backends/groupwise/e-bbok-backend-groupwise.c
1491 (e_book_backend_groupwise_get_contact_list)
1492 (book_view_thread) (build_cache) : pass "name email
1493 default members" as the view instead of just "members"
1494 need to work well with latest server.
1496 2005-02-25 Sivaiah Nallagatla <snallagatla@novell.com>
1498 * libedata-book/e-book-backend.c (e_book_backend_notify_writable)
1499 : save the writable status in priv->writable also so that
1500 when new clients are created for an existing backend we report
1501 correct writable status .
1502 Fixes editors being editable in some cases in offline mode
1504 2005-02-24 Harish Krishnaswamy <kharish@novell.com>
1506 * backends/groupwise/e-book-backend-groupwise.c: (build_cache):
1507 update the e_gw_connection_read_cursor to use the new prototype
1508 that uses a position argument.
1510 2005-02-22 Sivaiah Nallagatla <snallagatla@novell.com>
1512 * backends/groupwise/e-book-backend-groupwise.c
1513 (e_book_backend_groupwise_create_contact) : Return permission denied
1514 error when the book is read only. In case of read/write books
1515 Make sure that server returns proper id for created contact.
1516 (e_book_backend_groupwise_modify_contact)
1517 (e_book_backend_groupwise_remove_contacts) : Return
1518 permission denied in case of read only book.
1519 Also use cursor version of update_cache instead of getItems
1523 2005-02-19 Sivaiah Nallagatla <snallagatla@novell.com>
1525 * libebook/e-vcard.c (e_vcard_remove_attributes) :
1526 When passed in group is NULL, remove all the attributes
1527 with name as passed in attribute name even when a attribute
1532 2005-02-17 Chenthill Palanisamy <pchenthill@novell.com>
1534 * backends/groupwise/e-book-backend-groupwise.c:
1535 (e_book_backend_groupwise_authenticate_user): changed
1536 the syntax of the get_categories call.
1537 (e_book_backend_groupwise_dispose),
1538 (e_book_backend_groupwise_init): The hash table need not
1539 be created or destroyed here, since connection handles it.
1541 2005-02-14 Sivaiah Nallagatla <snallagatla@novell.com>
1543 * libebook/e-vcard.c (read_attribute_value) :
1544 Make sure that we decode only hex digits followed
1545 by '=' while decoding from quoted printable encoding.
1546 (read_attribute) : Reset the encoding as RAW for values
1547 which are encoded in Quoated printable encoding in the
1548 original vcard. We are not going encodwe them again
1549 using quoated printable
1550 (e_vcard_to_string_vcard_30) : use utf-8 version
1551 of strlen and other functions while folding lines
1552 as some the chars may be represented by more than one byte
1554 Fixes an issue related to data loss in 1.4 -> 2.0
1557 2005-02-10 Sivaiah Nallagatla <snallagatla@novell.com>
1559 * backends/ldap/e-book-backend-ldap.c
1560 (e_book_backend_ldap_authenticate_user) : reconnect to
1561 ldap server if simple bind returns LDAP_SERVER_DOWN
1565 2005-02-06 Sivaiah Nallagatla <snallagatla@novell.com>
1567 * libebook/e-contact.h : place the E_CONTACT_REV
1568 field before E_CONTACT_NAME_ORG. It seems
1569 all strings fields should be before that, doh
1571 2005-02-06 Sivaiah Nallagatla <snallagatla@novell.com>
1573 * libebook/e-contact.[ch] : Added
1574 new field E_CONTACT_REV which reprsnets
1575 the revision (last updated time of the contact)
1576 Also Changed File As to File Under to match with ui
1578 * backends/file/e-book-backend-file.c (do_create)
1579 (e_book_backend_file_modify_contact) : set/update
1580 the revsion field of the contact with current UTC time
1584 2005-02-04 Ross Burton <ross@burtonini.com>
1586 * backends/groupwise/create-account.c:
1587 * tests/ebook/test-categories.c:
1588 * tests/ebook/test-changes.c:
1589 * tests/ebook/test-date.c:
1590 * tests/ebook/test-ebook-async.c:
1591 * tests/ebook/test-ebook-view.c:
1592 * tests/ebook/test-ebook.c:
1593 * tests/ebook/test-nonexistent-id.c:
1594 * tests/ebook/test-photo.c:
1595 * tests/ebook/test-query.c:
1596 * tests/ebook/test-search.c:
1597 * tests/ebook/test-self.c:
1598 * tests/ebook/test-stress-bookviews.c:
1599 * tests/ebook/test-string.c:
1600 * tests/ebook/test-undefinedfield.c:
1601 * tests/ebook/test-untyped-phones.c:
1602 Remove useless libgnome usage.
1604 2005-02-04 Vivek Jain <jvivek@novell.com>
1606 * backends/groupwise/e-book-backend-groupwise.c
1607 e_book_backend_groupwise_authenticate_user: (included one
1608 condition to check for the server version)
1609 * idl/Evolution-DataServer-Addressbook.idl
1610 included InvalidServerVersion in enum callstatus
1611 * libebook/e-book-tpes.h added enum in callstatus
1612 * libebook/e-book-listner.c
1613 (e_book_listner_conver_status): added conversion of InvalidServerVersion
1614 * libedata-book/e-book-backend.c
1615 (e_book_backend_open)
1616 (e_book_backend_load_store) : added InvalidServerVersion as a
1617 response to be accepted as success
1619 2005-02-02 Ross Burton <ross@burtonini.com>
1621 * backends/file/e-book-backend-file.c:
1622 * backends/groupwise/e-book-backend-groupwise.c:
1623 * backends/ldap/e-book-backend-ldap.c:
1624 * backends/vcf/e-book-backend-vcf.c:
1625 * libebook/e-book.c:
1626 * libebook/e-contact.c:
1627 * libebook/e-destination.c:
1630 2005-01-31 Hans Petter Jansson <hpj@novell.com>
1632 * backends/vcf/Makefile.am:
1633 * backends/ldap/Makefile.am:
1634 * backends/groupwise/Makefile.am:
1635 * backends/file/Makefile.am:
1638 2005-01-30 Sivaiah Nallagatla <snallagtla@novell.com>
1640 * libebook/e-vcarc.c (skip_until) :
1641 advancd to next char in the loop
1642 (read_attribute_params) : If we reach
1643 end of line after skipping invalid parameter
1647 2005-01-31 Sivaiah Nallagatla <snallagatla@novell.com>
1649 * backends/ldap/e-book-backend-ldap.c
1650 (e_book_backend_ldap_load_source) : return
1651 OfflineAvailable error code if book is not marked for
1652 offline. Call _notify_connection_stautus in online case too
1655 2005-01-29 Sivaiah Nallagatla <snallagatla@novell.com>
1657 * backends/groupwise/e-book-backend-groupwise.c
1658 (e_book_backend_groupwise_load_source) : Change the default
1661 2005-01-28 Sivaiah Nallagatla <snallagatla@novell.com>
1663 * libedata-book/e-book-backend-sexp.c
1664 (compare_name) : while comparing name
1665 use given name too along with surname and full_name strings
1666 Just using full name breaks completion based on given name
1667 where full name has prefixes like Mr
1671 2005-01-28 Sivaiah Nallagatla <snallagatla@novell.com>
1673 * libedata-book/e-book-backend-summary.c (do_compare) :
1674 use surname, givenname and full_name for searches on name
1675 not just full_name value
1679 2005-01-28 Sivaiah Nallagatla <snallagatla@novell.com>
1681 * libebook/e-book.c (e_book_cancel)
1682 (do_open) (e_book_load_uri) (fetch_corba_book)
1683 (e_book_get_self) (e_book_set_default_source) :
1684 Generalize the messages marked for
1685 translation. Fixes #68172
1687 2005-01-27 Christophe Fergeau <teuf@gnome.org>
1689 * libebook/e-contact.c (e_contact_pretty_name):
1690 Replace the textdomain call with bind_textdomain_codeset
1694 2005-01-24 Hans Petter Jansson <hpj@novell.com>
1696 * libebook/e-destination.c (e_destination_set_contact): Ref the new
1697 contact before unreffing the old one. Safe if it's the same one.
1699 2005-01-23 Sivaiah Nallagatla <snallagatla@novell.com>
1701 * backends/groupwise/e-book-backend-groupwise.c
1702 (e_book_backend_groupwise_load_source) : change if
1703 condtion from if(marked_offline) to if (!marked_offline), Doh
1705 2005-01-17 Sivaiah Nallagatla <snallagatla@novell.com>
1707 * backends/groupwise/e-book-backend-groupwise.c (
1708 e_book_backend_groupwise_load_source) : use https always except
1709 when use_ssl is "never". This change is part of the changes done to remove
1710 separate settings for ssl for soap in account config
1712 2005-01-13 Sivaiah Nallagatla <snallagatla@novell.com>
1714 * libedatabook/e-book-backend-summary.c (do_compare):
1715 compare full_name against string instead of given name
1716 and surname.This fixes is full_name query on summary
1718 * backends/file/e-bbok-backend-file.c
1719 (e_book_backend_file_get_contact_list) : see if
1720 query is a summary query and search over summary
1721 to get matching contacts instead of iterating
1722 over all contacts in db. Improves Performance
1724 2005-01-10 Hans Petter Jansson <hpj@novell.com>
1726 * backends/file/e-book-backend-file.c
1727 * backends/file/e-book-backend-file.h
1728 * backends/file/e-book-backend-file-factory.c
1729 * backends/vcf/e-book-backend-vcf.c
1730 * backends/vcf/e-book-backend-vcf.h
1731 * backends/vcf/e-book-backend-vcf-factory.c
1732 * backends/ldap/e-book-backend-ldap.c
1733 * backends/ldap/e-book-backend-ldap.h
1734 * backends/ldap/e-book-backend-ldap-factory.c
1735 * backends/groupwise/e-book-backend-groupwise.c
1736 * backends/groupwise/e-book-backend-groupwise.h
1737 * backends/groupwise/e-book-backend-groupwise-factory.c: Update
1738 copyright and license notices.
1740 2005-01-10 Hans Petter Jansson <hpj@novell.com>
1742 * backends/ldap/e-book-backend-ldap.c
1743 (check_schema_support): Add robustness against not being connected.
1744 (query_ldap_root_dse): Ditto.
1745 (e_book_backend_ldap_reconnect): Ditto, and against not having a
1746 book_view to signal.
1747 (ldap_op_finished): Robustness.
1748 (create_contact_handler): Ditto, and add the contact to cache too.
1749 (e_book_backend_ldap_create_contact): Robustness.
1750 (remove_contact_handler): Ditto, and remove the contact from cache.
1751 (e_book_backend_remove_contacts): Ditto, and fix a memory leak.
1752 (modify_contact_modify_handler): Robustness, and modify the cached
1754 (modify_contact_search_handler): Robustness.
1755 (e_book_backend_ldap_modify_contact): Ditto.
1756 (get_contact_handler): Ditto.
1757 (e_book_backend_ldap_get_contact): Robustness, and implement offline
1759 (contact_list_handler): Robustness.
1760 (e_book_backend_ldap_get_contact_list): Robustness, and implement
1762 (poll_ldap): Robustness, and set the poll_timeout to -1 when we return
1763 FALSE. Otherwise we might never poll again.
1764 (ldap_search_handler): Robustness.
1765 (e_book_backend_ldap_search): Robustness, and implement offline case.
1766 (generate_cache_handler): Implement.
1767 (generate_cache_dtor): Implement.
1768 (generate_cache): Implement.
1769 (e_book_backend_ldap_authenticate_user): Robustness, implement offline
1771 (ldap_cancel_op): Robustness.
1772 (e_book_backend_ldap_load_source): Implement offline case. Cache when
1774 (stop_views): Implement.
1775 (start_views): Implement.
1776 (e_book_backend_ldap_set_mode): Do nothing if mode didn't change. Kick
1777 off a cache attempt when going online. Cancel running operations when
1779 (call_dtor): Robustness.
1781 * libedata-book/e-book-backend-cache.c
1782 (e_book_backend_cache_get_contacts): Check that objects we retrieve
1783 are likely to be vcards before trying to parse them. Fixes some
1786 2004-12-24 Sivaiah Nallagatla <snallagatla@novell.com>
1788 * backends/ldap/e-book-backend-ldap.c
1789 (e_book_backend_ldap_set_mode) : unbind when going to offline mode
1790 (e_book_backend_ldap_authenticate_user) : call e_book_backend_ldap_connect
1791 after checking priv->connected state. We may not be connected here
1792 when switching from offline to online
1794 2004-12-22 Sivaiah Nallagatla <snallagatla@novell.com>
1796 * backends/ldap/e-book-backend-ldap.c
1797 (e_book_backend_ldap_create_contact)
1798 (e_book_backend_ldap_modify_contact)
1799 (e_book_backend_ldap_remove_contacts)
1800 (e_book_backend_ldap_get_contact)
1801 (e_book_backend_ldap_get_contact_list)
1802 (e_book_backned_ldap_search)
1803 (e_book_backend_ldap_autheniticate_user) :
1804 Don not try to connect to server when called in offline mode instead
1805 return Repository offline error
1807 2004-12-22 Sivaiah Nallagatla <snallagatla@novell.com>
1809 Part of merge from e-d-s offline branch
1811 * idl/Evolution-DataServer-Addressbook.idl : added notifyAuthRequired
1812 api for backends to request password from clients . Added
1813 OfflineUnavailable error code
1815 * libedata-book/e-data-book.[ch] : added new method
1816 e_data_book_report_auth_required
1818 * libedata-book/e-book-backend.[ch] : added new method
1819 e_book_backend_notify_auth_required
1821 * libedata-book/e-book-backend-cache.[ch] : added nw methods
1822 e_book_backend_cache_set_populated and
1823 e_book_backend_cache_is_populated to set and get
1824 a flag on cache to see whehter it is completely popluated
1825 or not. new mehod e_book_backend_cache_search returns
1826 the ids matchingg contacts
1828 * backends/groupwise/e-book-backend-groupwise.c :
1829 (build_summary) (update_summary) : removed.
1830 (build_cache) (update_cache) : use these instead
1832 * libebook/e-boo-listener.[ch] : new method
1833 impl_BookListener_report_auth_required;
1834 (e_book_listener_convert_status) : added OfflineUnavailable error handling
1836 * libebook/e-book-types.h : added error code E_BOOK_ERROR_OFFLINE_UNAVAILABLE
1838 * libebook/e-book.[ch] :
1839 added new signal AUTH_REQUIRED
1840 (e_book_handle_response) : added handling for AuthRequiredEvent
1841 (e_book_idle_auth_required) : new function to emit AUTH_REQUIRED signal
1844 2004-12-22 Sivaiah Nallagatla <snallagatla@novell.com>
1846 Part of merge from e-d-s offline branch
1847 * libebook/e-book.c (e_book_handle_response) :
1848 put a break statment in LinkStateEvent case
1850 2004-12-22 Sivaiah Nallagatla <snalalgatla@novell.com>
1852 Part of merge from e-d-s offline branch
1854 * backends/groupwise/e-book-backend-groupwise.c
1855 (e_book_backend_groupwise_class_init) : assingn the corresponding
1856 function for new _mode virtual method.
1857 (e_book_backend_groupwise_set_mode) : new function to set mode
1858 (e_book_backend_groupwise_create_contact)
1859 (e_book_backend_groupwise_remove_contacts)
1860 (e_book_backend_groupwise_modify_contact ) : Added online/offline
1861 handling. When offline return repository offline
1862 error and when online do the stuff as usual
1863 (e_book_backend_groupwise_get_contact) :
1864 (e_book_backend_groupwise_get_contact_list) :
1865 (book_view_thread) : Added online /offline handling
1866 When offline read the items from cache and do not try to contact server
1867 When offline read from server as usual
1868 (e_book_backend_groupwise_authenticate_user) : Added online/offline
1869 handling. When in offline just return success and when online
1870 reeally auth to server
1871 (e_book_backend_groupwise_load_source) : Store the original uri
1872 as it is present in incoming ESource in priv struct. We need it for creating
1873 cache file. Create and cache and summary files here
1874 (populate_cache) : function to download the items from server
1875 and to populate cache
1877 2004-12-22 Sivaiah Nallagatla <snallagatla@novell.com>
1879 Part of merge from e-d-s offline branch
1880 * backends/file/e-book-backend-file.c
1881 (e_book_backend_file_class_init) : assingn the corresponding
1882 function for new _mode virtual method.
1883 (e_book_backend_file_set_mode) : new function to set mode
1884 . After setting mode it notifies all the clients
1885 about any changes in the connection status and writable status
1886 * backends/vcf/e-book-backend-vcf.c : ditto
1887 * backends/ldap/e-book-bakcend-ldap.c : ditto
1889 2004-12-22 Sivaiah Nallagatla <snallagatla@novell.com>
1891 Part of merge from e-d-s offline branch
1892 * libedata-book/e-book-backend.[ch] : new functions
1893 (e_book_backend_set_mode) : a virtual method
1894 to set online/offline mode on backends
1895 (e_book_backend_notify_writable) : A function
1896 using which a backend can notify all of its clients
1897 about changge in its writable status
1898 (e_book_backend_notify_connection_status) : A fcuntion using
1899 which a backend can notify all of its clients
1900 about change in the online/offline status
1902 * libedata-book/e-data-book.[ch] : new function
1903 (e_data_book_report_connection_status) : notifes the corresponding
1904 EBook client about change in connection status via
1907 * libedata-book/e-data-book-factory.[ch] : new functions
1908 (e_data_book_factory_set_backend_mode) : sets the online/offline
1909 mode on all the backends created by it
1910 (set_backend_online_status) : sets the online/offline status on a backend
1911 (impl_GNOME_Evolution_Addressbook_BookFactory_getBook) : changed this
1912 function set online/offline mode on the backend after creating it
1914 * idl/Evolution-DataServer-Addressbook.idl : Define constants
1915 MODEL_LOCAL, MODE_REMOTE etc for online/offline modes
1916 Added notifyConnectionStatus method to BookListner interface
1918 * libebook/e-book-listner.c : new function
1919 (impl_BookListener_report_link_status) : informs Ebook about
1920 change in the online status of the backend it is talking to
1922 * libebook/e-book.[ch] :
1923 Added a new signal connection_status which gets emitted whenever
1924 there is change in the connection status of the book (because
1925 of the change in the online status of the corresponding backend)
1926 (e_book_is_online) : new function to get online status
1927 (e_book_handle_response) : added the handling for LinkStatusEvent
1928 (e_book_idle_connection) : new idle functions which emits
1929 connection_status signal on EBook
1932 2004-12-22 Sivaiah Nallagatla <snallagatla@novell.com>
1934 Part of merge from e-d-s offline branch
1935 * libedata-book/e-book-backend-cache.[ch] :
1936 added new functions e_book_backend_check_contact
1937 and e_book_backend_cache_exists
1940 2004-12-22 Sivaiah Nallagatla <snallagatla@novell.com>
1942 Part of merge from e-d-s offline branch
1944 * libedata-book/Makefile.am : added e-book-backend-cache.c to
1945 SOURCES and e-book-backend-cache.h to HEADERS sections
1947 2004-12-22 Sivaiah Nallagatla <snallagatla@novell.com>
1949 Part of merge from e-d-s offline branch
1950 * libedata-book/e-book-backend-cache.[ch] : A new class
1951 to cache contacts on local file system to use in offline
1952 mode. Based on e-file-cache.
1954 2004-12-20 Hans Petter Jansson <hpj@novell.com>
1956 * libebook/e-book.c (e_book_is_opened): Implement a simple
1957 accessor so we can see if a book has been successfully opened
1960 2004-12-19 Sivaiah Nallagatla <snallagatla@novell.com>
1962 * backends/ldap/e-book-backend-ldap.c
1963 (e_book_backend_ldap_build_query) : add filter
1964 objectclass=person so that we don't get objects O, OU and other unwanted
1965 objects in search results.
1969 2004-12-11 Hans Petter Jansson <hpj@novell.com>
1971 * libebook/e-destination.h: Add "changed" signal.
1973 * libebook/e-destination.c: Add "changed" signal.
1974 (e_destination_class_init): Init changed signal.
1975 (e_destination_set_book): Emit changed signal. Additionally, fix
1976 something that looks like a long standing bug; a negated test would
1977 make it crash if dest->priv->source_uid was NULL when the book was
1979 (e_destination_set_contact_uid)
1980 (e_destination_set_source_uid)
1981 (e_destination_set_name)
1982 (e_destination_set_email)
1983 (e_destination_set_auto_recipient)
1984 (e_destination_set_raw)
1985 (e_destination_set_html_mail_pref)
1986 (e_destination_set_contact): Emit changed signal.
1988 2004-12-09 Hans Petter Jansson <hpj@novell.com>
1990 * libebook/e-destination.c: Remove antiquated comments.
1992 2004-12-08 Hans Petter Jansson <hpj@novell.com>
1994 * libebook/Makefile.am: Build e-destination.c, install e-destination.h.
1997 * libebook/e-contact.h: Include E_CONTACT_FIELD_FIRST in the field
1998 enum (currently, the fields are numbered starting at 1).
2000 * libebook/e-destination.c: Remove bogus includes.
2001 (utf8_casefold_collate_len)
2002 (utf8_casefold_collate): Keep local copies of these functions for now.
2003 (e_destination_equal): Use local utf8_casefold_collate ().
2005 2004-12-08 Rodney Dawes <dobey@novell.com>
2007 * libebook/e-book-contact.c: #include <config.h>
2008 (e_contact_pretty_name): Bind and set the textdomain for eds so that
2009 we get translated strings when we call this outside of eds, as it is
2012 2004-12-05 Sivaiah Nallagatla <snallagatla@novell.com>
2014 * backends/groupwise/e-book-backend-groupwise.c
2015 (e_book_backend_groupwise_modify_contact)
2016 (e_book_backend_groupwise_get_contact) : use the
2017 changed prototype of e_gw_connection-get_item
2019 2004-11-28 Sivaiah Nallagatla <snallagatla@novell.com>
2021 * libebook/e-book.[ch] :
2022 (e_book_get_required_fields)
2023 (e_book_async_get_required_fields)
2024 (do_get_required_fields)
2025 (e_book_response_get_required_fields)
2026 (e_book_response_get_required_fields): new methods
2027 to required fields defined by backends
2028 (e_book_handle_response) : added handling for
2029 GetRequiredFieldsResponse case
2031 * libebook/e-book-listener.[ch]
2032 Added GetRequiredFieldsResponse to book listener
2034 (impl_BookListener_respond_get_required_fields):
2035 new method for required fields
2036 (e_book_listener_class_init) : init notifyRequiredFields
2037 with corresponding implementation method
2039 * idl/Evolution-DataServer-Addressbook.idl : added getRequiredFields
2040 and notifyRequiredFields to book and book listener interfaces
2042 * libedatabook/e-data-book.[ch] :
2043 (impl_GNOME_Evolution_Addressbook_Book_getRequiredFields)
2044 (e_data_book_respond_get_required_fields) : new methods for required
2046 (e_data_book_class_init) : init notifyRequiredFields
2047 with corresponding implementation method
2049 * libedatabook/e-book-backend.[ch] :
2050 (e_book_backend_get_required_fields) : new methods
2051 for required fields handling.
2053 * libedatabook/e-book-backend-sync.[ch] :
2054 (e_book_backend_sync_get_required_fields)
2055 (_e_book_backend_get_required_fields) : ditto
2056 (e_book_backend_sync_class_init) : init the new get_required_fields
2059 * backends/file/e-book-backend-file.c :
2060 (e_book_backend_file_get_required_fields) : get_required_fields
2062 (e_book_backend_file_class_init) : init get_requires_method
2064 * backends/vcf/e-book-backend-vcf.c :
2065 (e_book_backend_vcf_get_required_fields)
2066 (e_book_backend_vcf_class_init) :ditto
2068 * backends/ldap/e-book-backend-ldap.c :
2069 (e_book_backend_ldap_get_required_fields)
2070 (e_book_backend_ldap_class_init) : ditto
2072 * backends/groupwise/e-book-backend-groupwise.c :
2073 (e_book_backend_groupwise_get_required_fields)
2074 (e_book_backend_groupwise_class_init) :ditto
2078 2004-10-30 Sivaiah Nallagatla <snallagatla@novell.com>
2080 * backends/groupwise/e-book-backend-groupwise.c (
2081 e_book_backend_groupwise_get_contact_list) : move e_book_backend_sexp_match_contact
2082 inside if(match_needed) sp that contact won't be returned
2083 where match is needed but contact does not match the criteria
2085 2004-10-29 Diego Gonzalez <diego@pemas.net>
2087 * backends/file/e-book-backend-file.c (e_book_backend_file_modify_contact):
2088 don't crash if the UID of the contact being commited is NULL.
2090 2004-10-29 Diego Gonzalez <diego@pemas.net>
2092 * libebook/e-book.c (do_commit_contact): when doing a e_book_commit_contact,
2093 several times, the first time that this funcion was called with the
2094 sync flag it cleared the UID of the contact, in the next operation the
2095 server would crash due to the UID being null. This fixes the client side
2096 and seems to work without a glitch.
2098 I just removed the e_contact_set as it seems (from visual inspection of
2099 e_contact_set) that this operation doesn't cause any call in the backend,
2100 and thus it will not force the previous operation to be completed.
2102 2004-10-26 Sivaiah Nallagatla <snallagatla@novell.com>
2104 * libedata-book/e-book-backend-sexp.c : Remove E_CONTACT_UID
2105 from the list of feilds we search in.
2108 2004-10-25 JP Rosevear <jpr@novell.com>
2110 From Anders Carlsson <andersca@gnome.org>
2112 * libedata-book/e-book-backend-factory.c
2113 (e_book_backend_factory_get_type): allocate the right size for the
2116 2004-10-24 Nat Friedman <nat@novell.com>
2118 * libedata-book/e-book-backend-sexp.c (compare_im_groupwise): Make
2119 GroupWise IM names searchable.
2121 2004-10-14 Rodney Dawes <dobey@novell.com>
2123 * backends/*/Makefile.am: Add -avoid-version to LDFLAGS for all
2126 2004-10-13 Sivaiah Nallagatla <snallagatla@novell.com>
2128 * backend/groupwise/e-book-backend-groupwise.c (
2129 e_book_backend_groupwise_create_contact)
2130 (e_book_backend_groupwise_get_contact_list)
2131 (book_view_thread) (e_book_backend_groupwise_authenticate_user)
2132 : call the e_gw_connection_* api again if the retuned status
2133 code is E_GW_CONNECTION_STATUS_INVALID_CONNECTION. Part of the fix
2136 2004-10-04 Chris Toshok <toshok@ximian.com>
2138 * backends/groupwise/e-book-backend-groupwise-factory.c: use the new
2139 E_BOOK_BACKEND_FACTORY_SIMPLE macro.
2141 * backends/groupwise/e-book-backend-groupwise-factory.h: nuke
2143 * backends/groupwise/Makegroupwise.am (libebookbackendgroupwise_la_SOURCES):
2144 remove e-book-backend-groupwise-factory.h.
2146 * backends/ldap/e-book-backend-ldap-factory.c: use the new
2147 E_BOOK_BACKEND_FACTORY_SIMPLE macro.
2149 * backends/ldap/e-book-backend-ldap-factory.h: nuke
2151 * backends/ldap/Makeldap.am (libebookbackendldap_la_SOURCES):
2152 remove e-book-backend-ldap-factory.h.
2154 * backends/vcf/e-book-backend-vcf-factory.c: use the new
2155 E_BOOK_BACKEND_FACTORY_SIMPLE macro.
2157 * backends/vcf/e-book-backend-vcf-factory.h: nuke
2159 * backends/vcf/Makevcf.am (libebookbackendvcf_la_SOURCES):
2160 remove e-book-backend-vcf-factory.h.
2163 * backends/file/e-book-backend-file-factory.c: use the new
2164 E_BOOK_BACKEND_FACTORY_SIMPLE macro.
2166 * backends/file/e-book-backend-file-factory.h: nuke
2168 * backends/file/Makefile.am (libebookbackendfile_la_SOURCES):
2169 remove e-book-backend-file-factory.h.
2171 * libedata-book/e-book-backend-factory.h: add a macro for all the
2172 factory boilerplate.
2174 2004-10-04 Sivaiah Nallagatla <snallagatla@novell.com>
2176 * backends/groupwise-ebook-backend-groupwise.c :
2177 (e_book_backend_groupwise_build_gw_filter) : add an argument
2178 to get the search string present in query
2179 (book_view_thread) : create a gw filter with just firstName
2180 and lastNmae in case of system address book. This is to simplify the
2181 auto completion query. Server team believes that this improves scalability limit
2182 (e_book_backend_groupwise_get_contact_list) : pass NULL to
2183 extra arument added to e_book_backend_groupwise_build_gw_filter
2184 . We do't need top get back serch string here
2188 2004-09-30 Hans Petter Jansson <hpj@ximian.com>
2192 * libebook/e-contact.c (e_contact_new_from_vcard): If the constructed
2193 vcard does not have a file_as attribute, try to generate one.
2195 2004-09-30 Chris Toshok <toshok@ximian.com>
2197 * libedata-book/e-data-book-factory.c
2198 (e_data_book_factory_register_backend): this function takes an
2199 EBookBackendFactory* now, instead of an EBookBackendFactoryFn.
2200 (e_data_book_factory_register_backends): new function. Get the
2201 extensions that implement E_TYPE_BOOK_BACKEND_FACTORY, and
2203 (e_data_book_factory_lookup_backend_factory): use an
2204 EBookBackendFactory instead of EBookBackendFactoryFn.
2205 (impl_GNOME_Evolution_Addressbook_BookFactory_getBook): change to
2206 match the EBookBackendFactoryFn -> EBookBackendFactory switch.
2208 * libedata-book/e-book-backend.h: remove typedef for
2209 EBookBackendFactoryFn.
2211 * libedata-book/e-book-backend-sync.h: remove typedef for
2212 EBookBackendSyncFactoryFn, since it wasn't ever used (and even the
2213 non-sync version is obsolete now.)
2215 * libedata-book/e-book-backend-factory.[ch]: new file, superclass
2216 for all dynamically loaded addressbook factories.
2218 * libedata-book/Makefile.am (libedata_book_la_SOURCES): add
2219 e-book-backend-factory.c
2220 (libedata_bookinclude_HEADERS): add e-book-backend-factory.h
2222 * libebook/e-book.c (activate_factories_for_uri): don't look for
2223 factories based on the supported_protocol property, since we can't
2224 use those anymore with dynamically loaded backends.
2226 * backends/file/e-book-backend-file-factory.[ch]: new files,
2227 subclass EBookBackendFactory.
2229 * backends/file/Makefile.am (extension_LTLIBRARIES):
2230 libebookbackendfile.la is no longer noinst.
2231 (libebookbackendfile_la_SOURCES): add
2232 e-book-backend-file-factory.[ch].
2234 * backends/groupwise/e-book-backend-groupwise-factory.[ch]: new
2235 files, subclass EBookBackendFactory.
2237 * backends/groupwise/Makefile.am (extension_LTLIBRARIES):
2238 libebookbackendgroupwise.la is no longer noinst.
2239 (libebookbackendfile_la_SOURCES): add
2240 e-book-backend-groupwise-factory.[ch].
2242 * backends/ldap/e-book-backend-ldap-factory.[ch]: new files,
2243 subclass EBookBackendFactory.
2245 * backends/ldap/Makefile.am (extension_LTLIBRARIES):
2246 libebookbackendldap.la is no longer noinst.
2247 (libebookbackendfile_la_SOURCES): add
2248 e-book-backend-ldap-factory.[ch].
2250 * backends/vcf/e-book-backend-vcf-factory.[ch]: new files,
2251 subclass EBookBackendFactory.
2253 * backends/vcf/Makefile.am (extension_LTLIBRARIES):
2254 libebookbackendvcf.la is no longer noinst.
2255 (libebookbackendfile_la_SOURCES): add
2256 e-book-backend-vcf-factory.[ch].
2258 2004-09-23 Diego Gonzalez <diego@pemas.net>
2262 * libebook/e-book.c (e_book_get_self): open the book before
2263 getting the contact.
2265 2004-09-23 JP Rosevear <jpr@novell.com>
2267 * libebook/Makefile.am: build a versioned lib, don't hard
2268 code the pkgconfig version
2270 * libedata-book/Makefile.am: ditto
2272 * backends/file/Makefile.am: link against the correct library
2275 * backends/groupwise/Makefile.am: ditto
2277 * backends/vcf/Makefile.am: ditto
2279 * backends/ldap/Makefile.am: ditto
2281 * tests/vcard/Makefile.am: ditto
2283 * tests/ebook/Makefile.am: ditto
2285 2004-09-22 William Jon McCann <mccann@jhu.edu>
2287 * libebook/e-book.c (emit_async_open_response)
2288 (e_book_response_open):
2289 * libebook/e-book-view-listener.c (d): Disable debugging noise.
2291 2004-09-16 Sivaiah Nallagatla <snallagatla@novell.com>
2293 * backends/gropwise/e-book-backend-groupwise.c
2294 (e_book_backend_groupwise_get_contact_list) :
2295 don't try to search over summary in case of system addr book
2296 as we don't maintain one.
2298 2004-09-13 Hans Petter Jansson <hpj@ximian.com>
2300 * backends/ldap/e-book-backend-ldap.c: Revert the LDAP attribute names
2301 changed by Sivaiah's last commit.
2303 2004-09-09 Hans Petter Jansson <hpj@ximian.com>
2307 * libebook/e-book.c (fetch_corba_book): Use g_signal_connect_object ()
2308 to connect to the listener, so we won't be destroyed in another thread
2309 while processing signals from it.
2310 (e_book_dispose): Only disconnect the listener signal if it hasn't
2311 already been done by GLib. Bug compatibility.
2313 2004-09-06 Sivaiah Nallagatla <snallagatla@novell.com>
2315 * backends/ldap/e-book-backend-ldap.c : Update
2316 the ldap attribute names for calendar ui and free busy uri
2317 fileds to match with what is present in evolutionPerson.schema
2318 (add_to_supported_fields) : add E_CONTACT_EMAIL_1 also to list of supported fields.
2319 Also use e_contact_field_name function instead of hardcodring field names
2320 (anniversary_populate) : correct incorrect contact date
2321 parameter passing. Also free the contact date
2323 Fixes some of the issues mentioned in #59582
2325 2004-08-26 Sivaiah Nallagatla <snallagatla@novell.com>
2327 * backends/groupwise/e-book-backend-groupwise.c
2328 (e_book_backend_groupwise_authenitcate_user) : don' try
2329 to get container id and categories if we have already authenitcated
2333 2004-08-25 Frederic Crozat <fcrozat@mandrakesoft.com>
2335 * tests/ebook/test-photo.c:
2336 Add missing prototype.
2338 2004-08-23 Sivaiah Nallagatla <snallagatla@novell.com>
2340 * backends/groupwise/e-book-backend-groupwise.c
2341 (e_book_backend_groupwise_get_contact_list)
2343 (set_members_in_gw_item) : add "members" view
2344 while getting items explicitly to take care of change in server
2346 (e_book_backnd_groupwise_start_book_view) : make the thread
2348 (e_book_backend_groupwise_stop_book_view) : don;'t try to join
2349 the thread as it is acusing gui blokcing when server response is slow
2351 2004-08-20 Chris Toshok <toshok@ximian.com>
2353 * backends/ldap/e-book-backend-ldap.c
2354 (e_book_backend_ldap_dispose): free bl->priv->schema_dn.
2356 2004-08-20 Sivaiah Nallagatla <snallagatla@novell.com>
2358 * backend/groupwise/e-book-backend-groupwise.c (populate_full_name) :
2359 ignore the name prefix returned by server as it is reurning incorrect values
2362 2004-08-19 Chris Toshok <toshok@ximian.com>
2364 [ part of fix for #60889 ]
2365 * backends/file/e-book-backend-file.c
2366 (e_book_backend_file_load_source): add DB_THREAD flag to all calls
2368 (string_to_dbt): set dbt->flags to DB_DBT_USERMEM.
2369 (e_book_backend_file_modify_contact): set dbt->flags to
2370 DB_DBT_MALLOC and free the dbt's data when we're done.
2371 (e_book_backend_file_get_contact): same.
2372 (book_view_thread): same.
2373 (e_book_backend_file_changes_foreach_key): same.
2374 (e_book_backend_file_maybe_upgrade_db): same.
2376 2004-08-17 Sivaiah Nallagatla <snallagatla@novell.com>
2378 * backends/groupwise/e-book-backend-groupwise.c (func_begins_with):
2379 do a OR operation insted of assinging BEGINS_WITH_FILE_AS
2381 2004-08-17 Sivaiah Nallagatla <snallagatla@novell.com>
2383 * backends/groupwise/e-book-backend-groupwise.c (book_view_thread) :
2384 don't update the view with contact when id is not present. Send the
2385 "name email" view to server when the query is for auto-completion
2386 don't try to search on system address book with out filter
2387 (e_book_backend_groupwise_build_gw_filter) : add an extra argument to know
2388 whether the query is auto-completion one or not
2389 (e_book_backend_groupwise_get_contact_list) : call the updated build_gw_filter
2391 (e_book_backend_groupwise_remove) : return error when
2392 there is an attempt to remove System adddress book
2393 (e_book_backend_groupwise_get_supported_auth_methods ) : return plain/password
2395 2004-08-16 Chris Toshok <toshok@ximian.com>
2397 * backends/vcf/e-book-backend-vcf.c: keep both a hash table and a
2398 GList around for the contacts.
2399 (insert_contact): insert the contact into the GList and insert the
2400 GList* into the hashtable.
2401 (save_file): just use the GList directly instead of building it up
2402 from the hash table.
2403 (do_create): call insert_contact instead of directly inserting
2404 into the hash table.
2405 (e_book_backend_vcf_remove_contacts): remove the contact from both
2406 the hashtable and the list.
2407 (e_book_backend_vcf_modify_contact): just update the GList.
2408 (e_book_backend_vcf_get_contact): the hashtable contains GList*'s.
2409 (foreach_get_contact_compare): this is a GFunc now, not a GHFunc.
2410 (e_book_backend_vcf_get_contact_list): iterate over the list, not
2412 (foreach_search_compare): nuke.
2413 (book_view_thread): do the iteration here, and break out properly
2414 when the search is stopped.
2415 (e_book_backend_vcf_load_source): use g_hash_table_new instead of
2417 (e_book_backend_vcf_dispose): destroy the list and free the hash
2420 2004-08-13 Sivaiah Nallagatla <snallagatla@novell.com>
2422 * backends/groupwise/e-book-backend-groupwise.c
2423 (populate_birth_date), (populate_full_name),
2424 (set_emails_in_gw_item) : patch
2425 from Vincent Noel (vnoel@cox.net) to fix
2428 2004-08-12 Sivaiah Nallagatla <snallagatla@novell.com>
2430 * backends/ldap/e-book-backend-ldap.c
2431 (e_book_backend_ldap_get_static_capabilities) : add "anon-access"
2434 2004-08-09 Chris Toshok <toshok@ximian.com>
2436 * tests/vcard/README (Test): add note about 11.vcf.
2438 2004-08-03 Chris Toshok <toshok@ximian.com>
2441 * libebook/e-vcard.c (read_attribute_params): fix the one
2442 remaining g_assert_not_reached case.
2444 2004-08-03 Chris Toshok <toshok@ximian.com>
2446 * tests/vcard/Makefile.am (EXTRA_DIST): add 11.vcf.
2448 * tests/vcard/11.vcf: new test, for missing attribute parameters.
2450 2004-07-23 Sivaiah Nallagatla <snallagatla@novell.com>
2452 * backends/groupwise/e-book-backend-groupwise.c
2453 (e_book_backend_groupwise_load_source) : read the "use_ssl"
2454 property from ESource and form the uri accrodingly
2455 (e_book_backend_groupwise_authenticate_user) : when "use_ssl" is
2456 "when-posible", try with https first and then http if that fails.
2457 (e_book_backend_groupwise_init) (e_book_backend_groupwise_dispose) :
2458 initialize and free the newly added priv member use_ssl
2460 2004-07-19 Hans Petter Jansson <hpj@ximian.com>
2462 Really fixes #61052, #61466, #61160. Tested.
2464 * libebook/e-book.c (e_book_op_remove): Don't lock the book's
2465 mutex here, for symmetry with e_book_new_op ().
2466 (do_add_contact): Lock book around op removal.
2467 (do_commit_contact): Ditto.
2468 (do_get_supported_fields): Ditto.
2469 (do_get_supported_auth_methods): Ditto.
2470 (do_authenticate_user): Ditto.
2471 (do_get_contact): Ditto.
2472 (do_get_contacts): Ditto.
2473 (do_get_changes): Ditto.
2476 (emit_async_add_contact_response): Widen the scope of the
2478 (emit_async_elist_response): Ditto.
2479 (emit_async_get_contact_response): Ditto.
2480 (emit_async_get_book_view_response): Ditto.
2481 (emit_async_get_contacts_response): Ditto.
2482 (emit_async_get_changes_response): Ditto.
2483 (emit_async_generic_response): Ditto.
2484 (emit_async_open_response): Ditto.
2485 (e_book_response_add_contact): Lock book around op manipulation,
2487 (e_book_response_get_supported_fields): Ditto.
2488 (e_book_response_get_supported_auth_methods): Ditto.
2489 (e_book_response_get_contact): Ditto.
2490 (e_book_response_get_book_view): Ditto.
2491 (e_book_response_get_contacts): Ditto.
2492 (e_book_response_get_changes): Ditto.
2493 (e_book_response_generic): Ditto.
2494 (e_book_response_open): Ditto.
2495 (e_book_response_remove): Ditto.
2497 2004-07-19 Sivaiah Nallagatla <snallagatla@novell.com>
2499 * libedata-book/e-book-backend-sexp.c (compare_address) : provided
2500 implementation, search in all fileds of all types of addresses
2504 2004-07-16 Chris Toshok <toshok@ximian.com>
2508 * libebook/e-book.c (e_book_op_remove): lock the book's mutex
2509 around operations on the id_to_op hashtable, as is done in all
2510 other e_book_* functions.
2511 (emit_async_add_contact_response): lock the book's mutex around
2512 operations on the pending_idle list.
2513 (e_book_response_add_contact): same.
2514 (emit_async_elist_response): same.
2515 (e_book_response_get_supported_fields): same.
2516 (e_book_response_get_supported_auth_methods): same.
2517 (emit_async_get_contact_response): same.
2518 (e_book_response_get_contact): same.
2519 (emit_async_get_book_view_response): same.
2520 (e_book_response_get_book_view): same.
2521 (emit_async_get_contacts_response): same.
2522 (e_book_response_get_contacts): same.
2523 (emit_async_get_changes_response): same.
2524 (e_book_response_get_changes): same.
2525 (emit_async_generic_response): same.
2526 (e_book_response_generic): same.
2527 (emit_async_open_response): same.
2528 (e_book_response_open): same.
2529 (e_book_response_remove): same.
2531 2004-07-14 Chris Toshok <toshok@ximian.com>
2533 * libebook/e-book.c (e_book_idle_writable): simplify this a bit,
2534 since we don't need to pass the writable state in a closure - we
2535 can just get it from the book. also wrap stuff up in a mutex
2536 since we can get multiple report_writable calls from a backend.
2537 (e_book_handle_response): make sure we only have 1 idle call at a
2538 time going, and simplify the closure passing to be just the EBook.
2539 same with the mutex juju.
2540 (e_book_dispose): remove the writable idle callback if there is
2543 2004-07-13 Chris Toshok <toshok@ximian.com>
2545 * libebook/e-book.c (e_book_get_self): only propagate the GError
2546 if @error != NULL. Fixes some console warnings.
2547 (e_book_set_default_source): same.
2548 (e_book_new_system_addressbook): same.
2549 (e_book_new_default_addressbook): same.
2551 2004-07-13 Chris Toshok <toshok@ximian.com>
2555 * libebook/e-book-listener.c (impl_BookListener_respond_get_view):
2556 no need to wrap the g_signal_emit with dup_ref/release_unref. the
2557 construct for EBookView does a dup_ref of its own.
2559 * libedata-book/e-data-book-view.c
2560 (e_data_book_view_notify_update): don't call
2561 e_data_book_view_notify_remove when the pending_mutex is already
2562 called. call notify_remove directly.
2564 2004-07-09 Chris Toshok <toshok@ximian.com>
2566 [ part of fix for #56520 ]
2568 * backends/groupwise/e-book-backend-groupwise.c
2569 (e_book_backend_groupwise_get_static_capabilities): add
2572 * backends/vcf/e-book-backend-vcf.c
2573 (e_book_backend_vcf_get_static_capabilities): add "contact-lists".
2575 * backends/file/e-book-backend-file.c
2576 (e_book_backend_file_get_static_capabilities): add
2579 2004-07-03 Sivaiah Nallagatla <snallagatla@novell.com>
2581 * backends/groupwise/e-book-backend-groupwise.c
2582 (book_view_thread) : fix the problem
2583 of returning from the fucntion without singalling the
2584 parent thread when cnc is null. A probable fix for #60947
2585 Also send the query to server when summary is not present
2586 (build_summary), (update_summary) : set priv->is_summary_ready
2587 to TRUE when summary loading is done
2589 2004-06-26 Chris Toshok <toshok@ximian.com>
2591 * backends/ldap/e-book-backend-ldap.c (get_ldap_library_info): use
2593 (e_book_backend_ldap_connect): same.
2594 (e_book_backend_ldap_dispose): unbind our LDAP* when we're shut
2597 * libedata-book/e-data-book-view.h: add prototype for
2598 e_data_book_view_set_thresholds.
2600 2004-06-24 Hans Petter Jansson <hpj@ximian.com>
2604 * backends/vcf/e-book-backend-vcf.c (e_book_backend_vcf_load_source):
2605 Don't add a default vcard to new books.
2607 * backends/file/e-book-backend-file.c
2608 (e_book_backend_file_load_source): Don't add default vcard to new
2611 2004-06-23 Chris Toshok <toshok@ximian.com>
2613 * libebook/e-book.c (e_book_response_add_contact): ref in the
2615 (e_book_response_get_supported_fields): same.
2616 (e_book_response_get_supported_auth_methods): same.
2617 (emit_async_get_contact_response): unref the book before
2619 (e_book_response_get_contact): ref the book in the assignment.
2620 (emit_async_get_book_view_response): unref the book before
2622 (e_book_response_get_book_view): ref the book in the assignment.
2623 (e_book_response_get_contacts): same.
2624 (emit_async_get_changes_response): unref the book before
2626 (e_book_response_get_changes): ref the book in the assignment.
2627 (emit_async_generic_response): we ref before registering the idle
2629 (e_book_response_generic): ref the book in the assignment.
2630 (emit_async_open_response): unref the book before returning
2631 (e_book_response_open): ref the book in the assignment.
2632 (e_book_response_remove): same.
2634 2004-06-23 Hans Petter Jansson <hpj@ximan.com>
2636 * libebook/e-book.c (emit_async_generic_response): Keep a ref on
2637 the book while we're accessing it, since the callback might unref
2638 it to zero, causing a crash.
2640 2004-06-22 Chris Toshok <toshok@ximian.com>
2642 * libedata-book/e-data-book-view.c
2643 (e_data_book_view_set_thresholds): allow consumers of
2644 EDataBookView to control the thresholds used in aggregating
2645 contacts before sending them to the gui. allows us to implement
2646 the different thresholds that were used in the 1.4.x ldap and file
2649 * libedata-book/e-data-book-view.h: add prototype for
2650 e_data_book_view_set_thresholds.
2652 2004-06-21 Chris Toshok <toshok@ximian.com>
2654 * backends/ldap/e-book-backend-ldap.c
2655 (e_book_backend_ldap_search): clamp the search result limit to the
2656 ldap backend's limit.
2658 2004-06-21 Chris Toshok <toshok@ximian.com>
2660 * libebook/e-contact.c (e_contact_get_const): reorder some stuff
2661 so we only generate 1 free per string on object destruction.
2663 2004-06-21 Chris Toshok <toshok@ximian.com>
2665 * libebook/e-contact.c (e_contact_get_const): cache the most
2666 recently fetched const pointer so we can hand it out more than
2667 once (unless there's an intervening _set). Should substantially
2668 lessen the number of allocations we do because of this function.
2669 (e_contact_set): clear the cached slot for this field, so we'll
2670 allocate/return a new const string from e_contact_get_const.
2672 2004-06-18 Chris Toshok <toshok@ximian.com>
2676 * backends/ldap/e-book-backend-ldap.c (photo_ber): implement
2677 (photo_compare): same.
2678 (prop_info): set add ber/compare functions for E_CONTACT_PHOTO.
2680 2004-06-18 Chris Toshok <toshok@ximian.com>
2682 * libebook/e-book.c (e_book_new_system_addressbook): "oops".
2684 2004-06-18 Chris Toshok <toshok@ximian.com>
2688 * libebook/e-book.c (e_book_new_system_addressbook): use the
2689 new_default_addressbook model, and search for a property on
2690 sources (system=true). If we find one, use that source, otherwise
2691 default to ~/.evolution/local/system.
2693 2004-06-17 Chris Toshok <toshok@ximian.com>
2695 * tests/ebook/test-ebook-async.c: down with e-book-async.h, up
2698 * libedata-book/e-data-book.h: add @opid args to all the
2699 e_data_book_respond* functions.
2701 * libedata-book/e-data-book.c
2702 (impl_GNOME_Evolution_Addressbook_Book_open): add @opid arg and
2704 (impl_GNOME_Evolution_Addressbook_Book_remove): same.
2705 (impl_GNOME_Evolution_Addressbook_Book_getContact): same.
2706 (impl_GNOME_Evolution_Addressbook_Book_getContactList): same.
2707 (impl_GNOME_Evolution_Addressbook_Book_authenticateUser): same.
2708 (impl_GNOME_Evolution_Addressbook_Book_addContact): same.
2709 (impl_GNOME_Evolution_Addressbook_Book_removeContacts): same.
2710 (impl_GNOME_Evolution_Addressbook_Book_modifyContact): same.
2711 (impl_GNOME_Evolution_Addressbook_Book_getBookView): same.
2712 (impl_GNOME_Evolution_Addressbook_Book_getChanges): same.
2713 (impl_GNOME_Evolution_Addressbook_Book_getSupportedFields): same.
2714 (impl_GNOME_Evolution_Addressbook_Book_getSupportedAuthMethods): same.
2715 (e_data_book_respond_open): same.
2716 (e_data_book_respond_remove): same.
2717 (e_data_book_respond_create): same.
2718 (e_data_book_respond_remove_contacts): same.
2719 (e_data_book_respond_modify): same.
2720 (e_data_book_respond_authenticate_user): same.
2721 (e_data_book_respond_get_supported_fields): same.
2722 (e_data_book_respond_get_supported_auth_methods): same.
2723 (e_data_book_respond_get_book_view): same.
2724 (e_data_book_respond_get_contact): same.
2725 (e_data_book_respond_get_contact_list): same.
2726 (e_data_book_respond_get_changes): same.
2728 * libedata-book/e-book-backend.h: add @opid args everywhere.
2730 * libedata-book/e-book-backend.c (e_book_backend_open): add @opid
2731 arg, and pass it along to the backend subclass, as well as all
2732 calls to e_data_book_respond_*.
2733 (e_book_backend_remove): same.
2734 (e_book_backend_create_contact): same.
2735 (e_book_backend_remove_contacts): same.
2736 (e_book_backend_modify_contact): same.
2737 (e_book_backend_get_contact): same.
2738 (e_book_backend_get_contact_list): same.
2739 (e_book_backend_start_book_view): same.
2740 (e_book_backend_stop_book_view): same.
2741 (e_book_backend_get_changes): same.
2742 (e_book_backend_authenticate_user): same.
2743 (e_book_backend_get_supported_fields): same.
2744 (e_book_backend_get_supported_auth_methods): same.
2746 * libedata-book/e-book-backend-sync.h: add @opid args everywhere.
2748 * libedata-book/e-book-backend-sync.c
2749 (e_book_backend_sync_create_contact): add @opid arg and pass it
2751 (e_book_backend_sync_remove): same.
2752 (e_book_backend_sync_remove_contacts): same.
2753 (e_book_backend_sync_modify_contact): same.
2754 (e_book_backend_sync_get_contact): same.
2755 (e_book_backend_sync_get_contact_list): same.
2756 (e_book_backend_sync_get_changes): same.
2757 (e_book_backend_sync_authenticate_user): same.
2758 (e_book_backend_sync_get_supported_fields): same.
2759 (e_book_backend_sync_get_supported_auth_methods): same.
2760 (_e_book_backend_remove): same.
2761 (_e_book_backend_create_contact): same.
2762 (_e_book_backend_remove_contacts): same.
2763 (_e_book_backend_modify_contact): same.
2764 (_e_book_backend_get_contact): same.
2765 (_e_book_backend_get_contact_list): same.
2766 (_e_book_backend_get_changes): same.
2767 (_e_book_backend_authenticate_user): same.
2768 (_e_book_backend_get_supported_fields): same.
2769 (_e_book_backend_get_supported_auth_methods): same.
2771 * libebook/e-book.c (struct EBookOp): augment this structure with
2772 enough info to handle the asynchronous operations.
2773 (struct _EBookPrivate): remove the current_op pointer and add a
2774 hashtable mapping ids to ops. The current sync op is always id 0.
2775 (e_book_new_op): add @sync arg.
2776 (e_book_get_op): add @opid arg, and look up the op in the
2778 (e_book_get_current_sync_op): convenience function to lookup the
2780 (e_book_op_remove): remove the op from the hashtable.
2781 (do_add_contact): split out all the code from e_book_add_contact
2782 here, and make it handle both synchronous and async calling
2784 (e_book_add_contact): call do_add_contact.
2785 (e_book_async_add_contact): same.
2786 (e_book_response_add_contact): handle both sync/async ops. sync =
2787 notify on our cvar and return. async = add idle handler that will
2788 call the op's callback.
2789 (emit_async_add_contact_response): idle handler for adding
2790 contacts asynchronously.
2791 (do_commit_contact): same pattern as above...
2792 (do_get_supported_fields): same.
2793 (do_get_supported_auth_methods): same.
2794 (do_authenticate_user): same.
2795 (do_get_contact): same.
2796 (do_remove_contacts): same.
2797 (do_get_book_view): same.
2798 (do_get_contacts): same.
2799 (do_get_changes): same.
2803 * libebook/e-book.h: move all the async api foo here.
2805 * libebook/e-book-listener.h (struct _EBookListenerResponse): add
2808 * libebook/e-book-listener.c
2809 (impl_BookListener_respond_create_contact): add @opid arg and add
2810 it to the response struct.
2811 (impl_BookListener_respond_remove_contacts): same.
2812 (impl_BookListener_respond_modify_contact): same.
2813 (impl_BookListener_respond_get_contact): same.
2814 (impl_BookListener_respond_get_contact_list): same.
2815 (impl_BookListener_respond_get_view): same.
2816 (impl_BookListener_respond_get_changes): same
2817 (impl_BookListener_respond_open_book): same.
2818 (impl_BookListener_respond_remove_book): same.
2819 (impl_BookListener_respond_authentication_result): same.
2820 (impl_BookListener_respond_get_supported_fields): same.
2821 (impl_BookListener_respond_get_supported_auth_methods): same.
2823 * libebook/Makefile.am (libebook_la_SOURCES): remove
2825 (libebookinclude_HEADERS): remove e-book-async.h
2827 * idl/Evolution-DataServer-Addressbook.idl: add opid args to all
2828 the oneway void Book methods, and to all the responses in
2831 * backends/vcf/e-book-backend-vcf.c
2832 (e_book_backend_vcf_create_contact)
2833 (e_book_backend_vcf_remove_contacts)
2834 (e_book_backend_vcf_modify_contact)
2835 (e_book_backend_vcf_get_contact)
2836 (e_book_backend_vcf_get_contact_list)
2837 (e_book_backend_vcf_authenticate_user)
2838 (e_book_backend_vcf_get_supported_fields): add @opid arg.
2839 (init_closure): make this more like the file:// backend.
2840 (closure_destroy): free the cvar.
2841 (book_view_thread): move the search code into another thread.
2842 (e_book_backend_vcf_start_book_view): steal this from the file
2844 (e_book_backend_vcf_stop_book_view): same.
2846 * backends/ldap/e-book-backend-ldap.c (struct LDAPOp): add opid.
2847 (ldap_op_add): add @opid arg.
2848 (create_contact_handler): use op->opid in calls to
2849 e_data_book_respond_*.
2850 (e_book_backend_ldap_create_contact): same.
2851 (remove_contact_handler): same.
2852 (e_book_backend_ldap_remove_contacts): same.
2853 (modify_contact_modify_handler): same.
2854 (modify_contact_search_handler): same.
2855 (e_book_backend_ldap_modify_contact): same.
2856 (get_contact_handler): same.
2857 (e_book_backend_ldap_get_contact): same.
2858 (contact_list_handler): same.
2859 (e_book_backend_ldap_get_contact_list): same.
2860 (e_book_backend_ldap_authenticate_user): same.
2861 (e_book_backend_ldap_get_supported_fields): same.
2862 (e_book_backend_ldap_get_supported_auth_methods): same.
2863 (e_book_backend_ldap_get_changes): add @opid arg.
2864 (e_book_backend_ldap_remove): same.
2866 * backends/groupwise/e-book-backend-groupwise.c
2867 (e_book_backend_groupwise_create_contact)
2868 (e_book_backend_groupwise_remove_contacts)
2869 (e_book_backend_groupwise_modify_contact)
2870 (e_book_backend_groupwise_get_contact)
2871 (e_book_backend_groupwise_get_contact_list)
2872 (e_book_backend_groupwise_get_changes)
2873 (e_book_backend_groupwise_authenticate_user)
2874 (e_book_backend_groupwise_get_supported_fields)
2875 (e_book_backend_groupwise_get_supported_auth_methods)
2876 (e_book_backend_groupwise_remove): : add @opid arg, and pass it to
2877 e_data_book_respond_* functions.
2879 * backends/file/e-book-backend-file.c
2880 (e_book_backend_file_create_contact)
2881 (e_book_backend_file_remove_contacts)
2882 (e_book_backend_file_modify_contact)
2883 (e_book_backend_file_get_contact)
2884 (e_book_backend_file_get_contact_list)
2885 (e_book_backend_file_get_changes)
2886 (e_book_backend_file_authenticate_user)
2887 (e_book_backend_file_get_supported_fields)
2888 (e_book_backend_file_remove): add @opid arg.
2890 2004-06-16 Not Zed <NotZed@Ximian.com>
2892 * backends/groupwise/e-book-backend-groupwise.c
2893 (e_book_backend_groupwise_cancel_operation): implement, noop
2894 currently. Saves an assert exploding the server.
2896 * backends/ldap/e-book-backend-ldap.c
2897 (e_book_backend_ldap_cancel_operation): implement.
2898 (ldap_cancel_op): cancel each operation synchronously (?).
2901 2004-06-15 Sivaiah Nallagatla <snallagatla@novell.com>
2903 * backends/groupwise/e-book-backend-groupwise.c
2904 (populate_contact_members) : set EVC_X_DEST_CONTACT_UID
2905 EVC_X_DEST_NAME parameters also
2906 (set_members_in_gw_item) : read the uid's of contacts
2907 and use them instead of searching based on email values
2910 2004-06-09 Chris Toshok <toshok@ximian.com>
2912 [ probable fix for #58803 ]
2914 * backends/ldap/e-book-backend-ldap.c (ldap_search_handler):
2915 remove the ref/unref of the book view here.
2916 (e_book_backend_ldap_search): move the dup_ref of the book view
2918 (ldap_search_dtor): and the release_unref to here.
2920 2004-06-09 Chris Toshok <toshok@ximian.com>
2922 * backends/ldap/e-book-backend-ldap.c (ldap_search_dtor): we don't
2923 need to lock/unlock the view's mutex anymore.
2925 2004-06-07 Chris Toshok <toshok@ximian.com>
2927 [ fixes bug #58606 ]
2929 * libebook/e-vcard.c (read_attribute_params): actually do what the
2930 commend above this block says - if there aren't values, free the
2931 parameter and skip past the character (unless it's a :).
2933 2004-06-03 Sivaiah Nallagatla <snallagatla@novell.com>
2935 * backends/groupwise/e-book-backend-groupwise.c
2936 (update_summary) : new function to update the summary after
2937 getting the changes from server
2939 2004-06-01 Sivaiah Nallagatla <snallagatla@novell.com>
2941 * backends/groupwise/e-book-backend-groupwise.c
2942 (e_book_backend_groupwise_remove_contacts) : use the new
2943 e_gw_connection_remove_items which removes all the items form the
2944 server at once instead of sending one request for each item
2946 2004-05-28 Sivaiah Nallagatla <snallagatla@novell.com>
2948 * backends/groupwise/e-book-backend-groupwise.c
2949 ( e_book_backend_groupwise_authenicate_user) : form the summary
2950 (e_book_backend_groupwise_start_book_view),
2951 (e_book_backend_groupwise_get_contact_list) : search over the
2952 summary to get ids and retrieve those items from the summary
2954 2004-05-25 Sivaiah Nallagatla <snallagatla@novell.com>
2956 * backends/groupwise/e-book-backend-groupwise.c
2957 (e_book_backend_groupwise_load_source) : port is no longer part of
2958 uri, read it from e-source
2959 (set_memebers_in_groupwise_item) : compare emails with ignore case
2962 2004-05-25 Chris Toshok <toshok@ximian.com>
2964 * libebook/e-book-query.c (e_book_query_to_string): encode the
2965 values we place in the sexp.
2967 2004-05-20 Chris Toshok <toshok@ximian.com>
2969 [ fixes bug #58495 ]
2971 * libebook/e-book-async.c (worker): this is now a thread pool
2972 function, so there's no to_worker_queue to pop things off of.
2973 (init_async): create the thread pool with MAX_WORKERS threads
2975 (e_book_async_open, e_book_async_get_supported_fields)
2976 (e_book_async_get_supported_auth_methods)
2977 (e_book_async_authenticate_user, e_book_async_get_contact)
2978 (e_book_async_remove_contacts, e_book_async_add_contact)
2979 (e_book_async_commit_contact, e_book_async_get_book_view)
2980 (e_book_async_get_contacts): use g_thread_pool_push here.
2982 2004-05-19 Chris Toshok <toshok@ximian.com>
2984 * tests/ebook/*.c: port to new e_book_new/e_book_open apis.
2986 * libebook/e-book-types.h (EBookStatus): URI -> SOURCE.
2988 * libebook/e-book-async.c (e_book_async_open): new function,
2989 mostly the same as e_book_async_load_source was.
2990 (e_book_async_load_local_addressbook, e_book_async_load_source,
2991 e_book_async_load_uri, e_book_async_get_default_addressbook):
2994 * libebook/e-book-async.h: remove prototypes for
2995 e_book_async_load_uri/source/local_address, and
2996 e_book_async_get_default_addressbook.
2998 * libebook/e-book.c (EBookLoadState): URI -> SOURCE.
2999 (e_book_add_contact): URI -> SOURCE, and "e_book_load_uri" ->
3001 (e_book_commit_contact): same.
3002 (e_book_get_supported_fields): same.
3003 (e_book_get_supported_auth_methods): same.
3004 (e_book_authenticate_user): same.
3005 (e_book_get_contact): same.
3006 (e_book_remove_contacts): same.
3007 (e_book_get_book_view): same.
3008 (e_book_get_contacts): same.
3009 (e_book_get_changes): same.
3010 (e_book_open): new function, mostly split out from the old
3011 contents of fetch_corba_book. call Book::open here.
3012 (e_book_remove): we no longer require the book is loaded here, as
3013 the source (and corba book) is associated at e_book_new time.
3014 (e_book_unload_uri): URI -> SOURCE.
3015 (backend_died_cb): same.
3016 (fetch_corba_book): split out roughly half of the inner loop (the
3017 part that calls Book::open). This does nothing more than find a
3018 factory that will hand us a reference to a corba book.
3019 (e_book_load_source, e_book_load_uri,
3020 e_book_load_local_addressbook, e_book_get_default_addressbook):
3022 (e_book_get_static_capabilities): URI -> SOURCE.
3023 (e_book_get_self): use new e_book_new* api.
3024 (e_book_set_default_addressbook): URI -> SOURCE.
3025 (e_book_new): set the source and call fetch_corba_book here.
3026 (e_book_new_from_uri): new function, implement in terms of the new
3028 (e_book_new_system_addressbook): new function, implement in terms
3029 of e_book_new_from_uri.
3030 (e_book_new_default_addressbook): new function, implement in terms
3031 of the new e_book_new.
3032 (e_book_init): URI -> SOURCE.
3033 (e_book_dispose): same.
3035 * libebook/e-book.h: rework the e_book_new_* api to be more like
3036 the calendar. gone is the constructor with no args. now you
3037 associate a source/uri/etc with an ebook at creation time. Also,
3038 add e_book_open, and remove all the e_book_load_* calls.
3040 2004-05-19 Hans Petter Jansson <hpj@ximian.com>
3042 * backends/ldap/e-book-backend-ldap.c (add_to_supported_fields):
3044 (email_ids): Add EMAIL_4.
3045 (email_populate): Ditto.
3048 * libebook/e-contact.c (field_info): Add EMAIL_4 field.
3050 * libebook/e-contact.h: Add EMAIL_4 field.
3052 * libedata-book/e-book-backend-sexp.c (compare_email): Add
3055 * libedata-book/e-book-backend-summary.c: Add EMAIL_4 to structs,
3056 bump version to 5000 (5.0).
3057 (free_summary_item): Add EMAIL_4.
3058 (e_book_backend_summary_load_item): Ditto.
3059 (e_book_backend_summary_save_item): Ditto.
3060 (e_book_backend_summary_add_contact): Ditto.
3061 (do_compare): Ditto.
3062 (e_book_backend_summary_get_summary_vcard): Ditto.
3064 2004-05-18 Chris Toshok <toshok@ximian.com>
3066 [ fixes #58522, and some other misc update problems ]
3068 * libedata-book/evolutionperson.schema: make both evolutionPerson
3069 and evolutionPersonList AUXILIARY classes, so they can be added to
3070 inetOrgPerson objects in openldap 2.1.x+ servers.
3072 * backends/ldap/e-book-backend-ldap.c (free_mods): guard against
3073 mod->mod_bvalues/mod->mod_values being NULL... this shouldn't ever
3074 happen, but it seem to, and is causing a crash.
3075 (category_ber): simpler check to see if there are categories - get
3076 the CATEGORIES property and check if it's NULL/0-length.
3078 * libebook/e-contact.c (e_contact_set_property): remove the
3079 CATEGORIES attribute if the string is empty or NULL, and do the
3080 same for non-synthetic string attributes.
3082 2004-05-18 Sivaiah Nallagatla <snallagatla@novell.com>
3084 * backends/groupwise/e-book-backend-groupwise.c (set_members_in_gw_item) :
3085 make sure not to add more than one item id for single email
3087 (set_organization_in_gw_item) (set_organization_changes_in_gw_item) :
3088 new functions to add organization field le storing contact on server
3091 2004-05-17 Rodney Dawes <dobey@ximian.com>
3093 * libebook/Makefile.am (libebook_la_LIBADD):
3094 * libedata-book/Makefile.am (libedata_book_la_LIBADD):
3095 Add $(EVOLUTION_ADDRESSBOOK_LIBS) to link to all the right dependencies
3096 so that the mono bindings will work correctly
3100 2004-05-17 Chris Toshok <toshok@ximian.com>
3102 [ fixes bug #57505 ]
3104 * backends/ldap/e-book-backend-ldap.c (category_ber): only include
3105 category list elements in the ber if they're non-empty.
3106 (category_compare): don't free the const char*'s.
3107 (address_ber): make static.
3108 (add_to_supported_fields): make sure "categories" gets included in
3109 the list if we support "category_list", since the contact editor
3110 uses the former, not the latter (and they're really the same thing
3111 as far as the backend is concerned.)
3113 2004-05-10 Sivaiah Nallagatla <snallagatla@novell.com>
3115 * backends/groupwise/e-book-backend-groupwise.c (populate_ims) :
3116 if im does not correspond to one supported in evo, ignore it
3119 2004-05-04 Sivaiah Nallagatla <snallagatla@novell.com>
3121 * backends/groupwise/e-book-backend-groupwise.c (populate_ims) :
3122 set type paraemter with value as WORK on attributes while setting ims in
3123 contact so that they appear in preview pane
3124 (free_attr_list) : new function to free list of attributes
3128 2004-05-03 William Jon McCann <mccann@jhu.edu>
3130 * addressbook/libebook/e-address-western.h:
3131 * addressbook/libebook/e-contact.h:
3132 * addressbook/libebook/e-name-western-tables.h:
3133 * addressbook/libebook/e-name-western.h:
3134 * addressbook/libebook/e-vcard.h:
3135 * addressbook/libedata-book/e-book-backend-sexp.h:
3136 * addressbook/libedata-book/e-book-backend-summary.h:
3137 * addressbook/libedata-book/e-book-backend-sync.h:
3138 * addressbook/libedata-book/e-book-backend.h:
3139 * addressbook/libedata-book/e-data-book-types.h:
3140 * addressbook/libedata-book/e-data-book-view.h:
3141 * addressbook/libedata-book/e-data-book.h:
3142 Add missing G_BEGIN_DECLS and G_END_DECLS
3144 2004-05-02 Chris Toshok <toshok@ximian.com>
3146 * libedata-book/e-book-backend-sexp.c (prop_info_table): add
3147 BLOG_URL, CALENDAR_URI, FREEBUSY_URL, ICS_CALENDAR, and VIDEO_URL.
3149 * libedata-book/e-book-backend-summary.c (check_symbols): add
3152 2004-04-28 Sivaiah Nallagatla <snallagatla@novell.com>
3154 * backends/groupwise/e-book-backend-groupwise.c
3155 (set_member_changes) : new function added to apply changes
3156 in the contact-list on server
3158 2004-04-27 Jeffrey Stedfast <fejj@ximian.com>
3160 * backends/file/e-book-backend-file.c
3161 (e_book_backend_file_changes_foreach_key): Revert yesterday's
3164 2004-04-26 Jeffrey Stedfast <fejj@ximian.com>
3166 * backends/file/e-book-backend-file.c
3167 (e_book_backend_file_changes_foreach_key): Updated to take 3
3168 arguments (change to e_dbhash_foreach_key).
3170 2004-04-23 Chris Toshok <toshok@ximian.com>
3172 * backends/ldap/e-book-backend-ldap.c
3173 (e_book_backend_ldap_connect): always set the protocol level to 3
3174 first (even if we're not doing TLS/SSL) so we can attempt a v3
3175 bind before falling back to the v2 bind.
3177 2004-04-22 Sivaiah Nallagatla <snallagatla@novell.com>
3179 * backends/groupwise/e-book-backend-groupwise.c
3180 (populate_contact_members) : set the emails using EVC_X_DEST_EMAIL
3183 2004-04-21 Chris Toshok <toshok@ximian.com>
3185 * libebook/e-contact.c (E_CONTACT_COMPANY): make this an
3186 ATTR_TYPE_STR field, using EVC_X_COMPANY as the TYPE.
3188 * libebook/e-vcard.h (EVC_X_COMPANY): add new parameter type.
3190 2004-04-21 Chris Toshok <toshok@ximian.com>
3192 * libebook/e-contact.c (photo_setter): setters aren't called with
3197 (date_setter): same.
3198 (cert_setter): same.
3199 (e_contact_set_property): only call struct_setter if the data is
3200 non-NULL and non-empty. otherwise remove the newly created
3203 * libebook/e-book-view-listener.h: doh, really add _start
3206 * libebook/e-book-query.c (func_exists): new function - we weren't
3207 parsing the "exists" query before, so duplicating a query
3208 containing one failed (duplication = unparse + parse).
3210 * libebook/e-book-listener.c (impl_BookListener_respond_get_view):
3211 don't rely on bonobo_object_dup_ref returning the same object.
3213 2004-04-21 Sivaiah Nallagatla <snallagatla@novell.com>
3214 * backends/groupwise/e-book-backend-groupwise.c
3215 (e_book_backend_groupwise_load_source) : change the separtor used between uri
3216 and book name to ';' from '?'
3218 2004-04-20 Chris Toshok <toshok@ximian.com>
3220 * tests/ebook/Makefile.am: add test-nonexistent-id and test-query.
3222 * tests/ebook/test-nonexistent-id.c: test for both
3223 e_book_remove_contact (which was broken until recently) and the
3224 behavior of libebook when you try to remove a non-existent id.
3226 * tests/ebook/test-query.c: new test, to see if we correctly
3227 unparse/parse queries.
3229 2004-04-19 Sivaiah Nallagatla <snallagatla@novell.com>
3230 * e-book-backend-groupwise.c (book_view_thread) : the start_
3231 book_view implementation is moved this method and executed in a separate thread
3232 (e_book_backend_groupwise_start_book_view) : start the new thread for getting book view
3233 (e_book_backend_groupwise_stop_book_view ) : set the stopped closure
3234 field to TRUE and join on the thread.
3235 (e_book_backend_groupwise_load_source) : change the separtor used between uri
3236 and book name to ';' from '?'
3239 2004-04-17 Hans Petter Jansson <hpj@ximian.com>
3241 * libebook/e-vcard.c (e_vcard_remove_attributes): Don't pass NULL
3242 attr_group on to string comparison function.
3243 (e_vcard_escape_string)
3244 (e_vcard_attribute_new): Separate variable initialization from
3246 (e_vcard_unescape_string)
3247 (e_vcard_new_from_string)
3248 (e_vcard_to_string_vcard_30)
3249 (e_vcard_dump_structure)
3250 (e_vcard_attribute_new)
3251 (e_vcard_attribute_free)
3252 (e_vcard_remove_attribute)
3253 (e_vcard_add_attribute)
3254 (e_vcard_add_attribute_with_value)
3255 (e_vcard_add_attribute_with_values)
3256 (e_vcard_attribute_add_values)
3257 (e_vcard_attribute_remove_values)
3258 (e_vcard_attribute_param_free)
3259 (e_vcard_attribute_param_copy)
3260 (e_vcard_attribute_add_param)
3261 (e_vcard_attribute_param_add_value)
3262 (e_vcard_attribute_param_add_values)
3263 (e_vcard_attribute_add_param_with_value)
3264 (e_vcard_attribute_add_param_with_values)
3265 (e_vcard_attribute_param_remove_values)
3266 (e_vcard_get_attributes)
3267 (e_vcard_attribute_get_group)
3268 (e_vcard_attribute_get_name)
3269 (e_vcard_attribute_get_values)
3270 (e_vcard_attribute_get_values_decoded)
3271 (e_vcard_attribute_is_single_valued)
3272 (e_vcard_attribute_get_value)
3273 (e_vcard_attribute_get_value_decoded)
3274 (e_vcard_attribute_has_type)
3275 (e_vcard_attribute_param_get_name)
3276 (e_vcard_attribute_param_get_values)
3277 (_evc_base64_encode_simple)
3278 (_evc_base64_decode_simple): Insert preconditions.
3280 2004-04-16 Chris Toshok <toshok@ximian.com>
3282 * backends/ldap/e-book-backend-ldap.c
3283 (e_book_backend_ldap_start_book_view): remove the race prevention
3284 stuff from here, since we set up everything before returning and
3285 we know that stop_book_view won't be called before we return.
3286 (e_book_backend_ldap_stop_book_view): same.
3288 * backends/file/e-book-backend-file.c (FileBackendSearchClosure):
3289 add slots for a GCond and GThread, as well as for our backend
3291 (closure_destroy): destroy the cvar.
3292 (init_closure): init the cvar, thread, and backend slots.
3293 (book_view_thread): new function - this contains the majority of
3294 the code in the old ::start_book_view, except it lacks any of the
3295 race prevention code, which it no longer needs. We use the cvar
3296 to keep the ::start_book_view thread waiting until the view is
3297 actually set up and is about to enter the loop, so we know that
3298 the search closure has been initialized.
3299 (e_book_backend_file_start_book_view): start up the
3300 book_view_thread with the closure's mutex locked so it'll pause
3301 until we wait on the condition variable. by the time we return
3302 from this method we know the book view thread has started and is
3303 at the point where the loop starts.
3304 (e_book_backend_file_stop_book_view): set the stopped closure
3305 field to TRUE and join on the thread. remove all the race
3306 prevention code from here too. yay.
3308 * libedata-book/e-data-book-view.c (e_data_book_view_new): switch
3309 from PER_REQUEST to PER_OBJECT. This means that all requests are
3310 serialized per object, but come in on a thread specific to this
3312 (e_data_book_view_dispose): destroy the id's hash table.
3314 * libebook/e-book-view.c (e_book_view_start): start our
3316 (e_book_view_stop): stop the listener.
3318 * libebook/e-book-view-listener.h: add prototypes for
3319 e_book_view_listener_start and _stop.
3321 * libebook/e-book-view-listener.c
3322 (impl_BookViewListener_notify_contacts_added): add the thread id
3324 (impl_BookViewListener_notify_contacts_removed): same.
3325 (impl_BookViewListener_notify_contacts_changed): same.
3326 (impl_BookViewListener_notify_sequence_complete): same.
3327 (impl_BookViewListener_notify_progress): same.
3328 (e_book_view_listener_init): we start off in a stopped state.
3329 (e_book_view_listener_start): new function - set stopped to FALSE.
3330 The next message queued will create the idle handler.
3331 (e_book_view_listener_stop): remove the idle handler and set
3332 stopped to TRUE - this will cause all _queue_message calls to drop
3335 * libebook/e-contact.c (struct _EContactPrivate): add "int
3336 padding", just so that g_new (EContactPrivate, 1) doesn't return
3338 (e_contact_dispose): similar change to e-vcard's dispose method.
3339 don't return early if ->priv == NULL, as we need to chain up to
3340 the parent's dispoes method. this and/or the struct
3341 _EContactPrivate change plug a memory leak as well that was
3342 causing the EVCardPrivate to go unfreed.
3344 * libebook/e-vcard.c (e_vcard_dispose): don't return if evc->priv
3345 is NULL - we still need to chain up the parent's dispose method.
3347 2004-04-15 Sivaiah Nallagatla <snallagatla@novell.com>
3349 * backends/groupwise/e-book-backend-groupwise.c
3350 (set_categories_in_gw_item): store only that part of id which is before '@'
3353 2004-04-14 Chris Toshok <toshok@ximian.com>
3355 * libebook/e-contact.c (e_contact_set_property): remove the
3356 MULTI_ELEM attribute if the string is NULL or empty. This keeps
3357 us from writing out empty EMAIL attributes.
3359 2004-04-14 Chris Toshok <toshok@ximian.com>
3361 [ fixes part of bug #55776 ]
3363 * backends/ldap/e-book-backend-ldap.c
3364 (e_book_backend_ldap_remove): new method, we need this or else
3365 e-d-s exits when you try to remove an LDAP addressbook.
3366 (e_book_backend_ldap_class_init): hook up
3367 EBookBackendClass::remove.
3369 2004-04-14 Chris Toshok <toshok@ximian.com>
3371 * libebook/e-book.c (e_book_remove_contact): fix deadlock when
3372 calling this function - there's no reason to lock the book's mutex
3373 here, as all we do is build a list and call
3374 e_book_remove_contacts, which does the locking. Fixes
3375 gnomemeeting's e-d-s problem.
3377 2004-04-14 Chris Toshok <toshok@ximian.com>
3379 * backends/file/e-book-backend-file.c
3380 (e_book_backend_file_remove): fix c&p error, unlink filename and
3381 summary_filename, not filename twice.
3383 2004-04-10 Sivaiah Nallagatla <snallagatla@novell.com>
3385 * backends/groupwise/e-book-backend-groupwise.c
3386 (e_book_backend_groupwise_load_source) : retrieve the book name form uri instead
3388 (set_members_in_gw_item) : new function to set the ids of contact-list members into
3391 2004-04-07 Chris Toshok <toshok@ximian.com>
3393 * libebook/e-vcard.h: reorder the EVC_X #defines a bit, and add in
3394 all he EVC_X_DEST_* #defines (for use with the new EDestination
3397 2044-04-07 Sivaiah Nallagatla <snallagatla@novell.com>
3399 * backends/groupwise/e-book-backend-groupwise.c (func_is) :
3400 Correct a small type in field name FullName -> fullName
3402 2004-04-06 Chris Toshok <toshok@ximian.com>
3404 * backends/ldap/e-book-backend-ldap.c (struct
3405 _EBookBackendLDAPPrivate): add a mutex around our it_to_op
3407 (struct _EBookBackendLDAPCursorPrivate): nuke.
3408 (view_destroy): lock around access to id_to_op.
3409 (add_to_supported_fields): plug leak (don't strdup the arg to
3410 g_hash_table_lookup.)
3411 (query_ldap_root_dse): fix c&p bugs with
3412 supported_fields/supported_auth_methods.
3413 (e_book_backend_ldap_connect): add a check for
3414 LDAP_PARTIAL_RESULTS (which is apparently what certain versions of
3415 GWIA's ldap returns when we try a root dse query.) Also, try a v2
3416 bind if the v3 bind fails.
3417 (ldap_op_add): lock access to id_to_op hash.
3418 (ldap_op_finished): same.
3419 (create_contact_handler): add more debug spew (additional ldap
3421 (remove_contact_handler): same.
3422 (modify_contact_modify_handler): same.
3423 (modify_contact_search_handler): same.
3424 (get_contact_handler): same.
3425 (contact_list_handler): same.
3426 (poll_ldap): lock around id_to_op.
3427 (ldap_search_handler): add more spew, and just use view instead of
3429 (ldap_search_dtor): lock the book view's mutex here, and clear the
3430 ::search_op g_object_data.
3431 (e_book_backend_ldap_search): set the book view's ::search_op.
3432 (e_book_backend_ldap_start_book_view): add race detection with
3434 (e_book_backend_ldap_stop_book_view): same.
3435 (e_book_backend_ldap_load_source): make the default for
3436 unrecognized ssl type "NO" instead of "WHENEVER".
3437 (e_book_backend_ldap_dispose): lock access to id_to_op while we
3438 destroy it, and free our mutex. also free up some additional
3439 private data we were leaking before (the ->ldap_host,
3441 (e_book_backend_ldap_init): init the mutex.
3443 2004-04-06 Chris Toshok <toshok@ximian.com>
3445 * backends/file/e-book-backend-file.c (create_contact): new
3446 function, for use when creating a contact from the db. all the
3447 libedata-book machinery depends on the contact having a UID, so if
3448 it doesn't have one (i.e. it's been corrupted), set it to be the
3449 uid we pass in (the db key).
3450 (build_summary): use create_contact
3451 (e_book_backend_file_start_book_view): same.
3452 (e_book_backend_file_get_changes): same.
3453 (e_book_backend_file_upgrade_db): same.
3454 (e_book_backend_file_load_source): add lots more g_warning spew in
3455 the event the load fails.
3457 2004-04-05 Sivaiah Nallagatla <snallagatla@novell.com>
3459 * e-book-backend-groupwise.c : added code to build groupwise filter from
3460 the query passed to get_contact_list and start_book_view functions
3461 modified e_book_backend_groupwise_start_book_view and
3462 e_book_backend_groupwise_get_contact_list to make use of filter
3463 Also included gnome-i8n.h
3465 2004-04-02 Dan Winship <danw@ximian.com>
3467 * libedata-book/e-book-backend-sync.c
3468 (_e_book_backend_create_contact,
3469 _e_book_backend_remove_contacts,
3470 _e_book_backend_modify_contact,
3471 _e_book_backend_get_contact,
3472 _e_book_backend_get_supported_fields,
3473 _e_book_backend_get_supported_auth_methods): Don't try to free the
3474 returned data if the method didn't actually return anything
3476 2004-04-02 JP Rosevear <jpr@ximian.com>
3478 * backends/groupwise/Makefile.am: fix includes for builddir != srcdir
3480 2004-03-31 Chris Toshok <toshok@ximian.com>
3482 * libebook/e-contact.c (e_contact_get_first_attr): ignore the
3484 (e_contact_set_property): same.
3485 (e_contact_find_attribute_with_types): same.
3486 (e_contact_get_property): same.
3487 (e_contact_get_attributes): same.
3489 * libebook/e-vcard.c (e_vcard_to_string_vcard_30): ignore the
3490 attribute's group when looking for VERSION attributes.
3492 2004-03-30 Chris Toshok <toshok@ximian.com>
3494 [ backend portion of fix for #51977 ]
3495 * libedata-book/e-book-backend-sexp.c (prop_info_table): category
3498 * libebook/e-contact.c (e_contact_get_property): LIST fields (of
3499 which there is one, "category_list"), need to duplicate both the
3500 list and the list elements before returning from ::get_property.
3502 2004-03-30 Chris Toshok <toshok@ximian.com>
3504 [ backend portion of fix for #54528 ]
3505 * libebook/e-vcard.c (read_attribute_params): deal with vcards
3506 that specify the encoding as "BASE64", even though this isn't the
3507 proper encoding type for vcard 3.0 cards (that's 'b').
3509 2004-03-30 Chris Toshok <toshok@ximian.com>
3511 [ backend portion of fix for #48665 ]
3512 * libedata-book/e-data-book.c
3513 (impl_GNOME_Evolution_Addressbook_Book_getBookView): pass
3514 max_results to e_data_book_view_new.
3516 * backends/ldap/e-book-backend-ldap.c
3517 (e_book_backend_ldap_search): pass the book view's @max_results as
3518 the ldap search limit.
3520 * libedata-book/e-data-book-view.c (e_data_book_view_new): add
3521 @max_results and pass it to ::construct.
3522 (e_data_book_view_construct): add @max_results.
3523 (e_data_book_view_get_max_results): new function.
3525 * libedata-book/e-data-book-view.h: add max_results arg to ::new,
3526 and add prototype for e_data_book_view_get_max_results.
3528 2004-03-30 Chris Toshok <toshok@ximian.com>
3530 [ looks like this fixes #55527 ]
3531 * libedata-book/e-data-book-view.c (e_data_book_view_construct):
3532 use bonobo_object_dup_ref instead of CORBA_Object_duplicate here.
3534 2004-03-28 Sivaiah Nallagatla <snallagatla@novell.com>
3536 * backends/groupwise/e-book-backend-groupwise.c : added new functions
3537 set_categories_in_gw_item and set_categories_changes to store contact
3538 categories in gw contacts
3540 2004-03-19 Chris Toshok <toshok@ximian.com>
3542 * libebook/e-book-view-listener.c (main_thread_get_response):
3543 don't unref the listener in the loop.
3544 (e_book_view_listener_queue_response): don't ref the listener for
3546 (e_book_view_listener_dispose): add some debug spew.
3548 2004-03-18 Chris Toshok <toshok@ximian.com>
3550 * tests/ebook/Makefile.am (noinst_PROGRAMS): add test-stress-bookviews.
3552 * tests/ebook/test-stress-bookviews.c: create and dispose of a ton of
3553 EBookViews very quickly. designed to flush out races/problems in
3554 the way we use bonobo/orbit (and at the time of its writing it
3555 does show a problem).
3557 2004-03-17 Chris Toshok <toshok@ximian.com>
3559 * backends/vcf/e-book-backend-vcf.c (closure_destroy): new
3560 function, mostly lifted from EBookBackendFile.
3561 (init_closure): same.
3562 (get_closure): same.
3563 (e_book_backend_vcf_start_book_view): mostly copy the file
3564 backend's start/stop race fixing code.
3565 (e_book_backend_vcf_stop_book_view): same.
3566 (e_book_backend_vcf_load_source): create the directory before
3567 trying to open the database if !only_if_exists.
3569 2004-03-15 Chris Toshok <toshok@ximian.com>
3571 * libedata-book/e-data-book.c (e_data_book_respond_create): only
3572 look up the contact's UID if status == Success. otherwise, send
3575 2004-03-15 Rodney Dawes <dobey@ximian.com>
3577 * libebook/libebook-1.0.pc.in:
3578 * libedata-book/libedata-book-1.0.pc.in: Add @LIBBONOBO_REQUIRED@ for
3579 the libbonobo dependency
3581 2004-03-14 Harish K <kharish@novell.com>
3582 * backends/groupwise/e-book-backend-groupwise.c :
3583 Update calls to e_gw_connection_get_items with the new prototype.
3585 2004-03-12 Chris Toshok <toshok@ximian.com>
3587 * libedata-book/e-data-book-view.h: add prototype for
3588 e_data_book_view_get_mutex.
3590 * libedata-book/e-data-book-view.c (e_data_book_view_get_mutex):
3591 new function, return the book view's mutex.
3592 (e_data_book_view_dispose): free priv->mutex.
3593 (e_data_book_view_init): init priv->mutex.
3595 * backends/file/e-book-backend-file.c (closure_destroy):
3596 GDestroyNotify to clear up the search closure.
3597 (init_closure): initialize the object data we use to store search
3598 information (just a "stopped" flag at the moment)
3599 (get_closure): return the object data.
3600 (e_book_backend_file_start_book_view): add code to deal with the
3601 race between start and stop, locking the book_view's mutex around
3602 the initial get/set of the closure. also, switch from using
3603 g_object_ref to bonobo_object_ref on the book_view, and don't do
3604 any freeing of the search closure here. it's handled
3605 automatically for us by virtue of the GDestroyNotify.
3606 (e_book_backend_file_stop_book_view): flesh this out to fix the
3607 race between start/stop.
3609 2004-03-12 Chris Toshok <toshok@ximian.com>
3611 * libebook/e-contact.c (e_contact_set_property): in the CATEGORIES
3612 case when we're adding a new attribute to the vcard, make sure to
3613 call e_vcard_add_attribute after creating it. also, use
3614 EVC_CATEGORIES instead of hardcoding the string.
3615 (e_contact_get_property): use EVC_CATEGORIES.
3617 2004-03-12 Chris Toshok <toshok@ximian.com>
3619 * tests/ebook/test-categories.c (main): test setting CATEGORIES as
3620 well as CATEGORY_LIST.
3622 2004-03-09 Sivaioah Nallagatla <snallagatla@novell.com>
3624 * backends/groupwise/e-book-backend-groupwise.[ch] : added
3625 code to compare two e-gw-items and get the changes
3626 nd did some code formatting
3628 2004-03-02 Chris Toshok <toshok@ximian.com>
3630 * libebook/e-book-query.h (EBookQueryTest): comment out the
3631 unsupported query types.
3633 2004-02-26 Chris Toshok <toshok@ximian.com>
3635 * libebook/e-contact.h: add
3636 E_CONTACT_IM_GROUPWISE_{HOME,WORK}_{1,2,3}.
3638 * libebook/e-contact.c: add attributes
3639 E_CONTACT_IM_GROUPWISE_{HOME,WORK}_{1,2,3}.
3641 2004-02-25 Chris Toshok <toshok@ximian.com>
3643 * libebook/e-vcard.c (e_vcard_attribute_is_single_valued):
3644 predicate returning TRUE if there's only one value for the
3646 (e_vcard_attribute_get_value): return the first value in the list,
3647 if there is one. also, warn if called on a multi-valued
3649 (e_vcard_attribute_get_value_decoded): same, but return a GString.
3650 (e_vcard_attribute_has_type): predicate to check for TYPE=@typestr
3651 in the parameter list for an attribute.
3653 * libebook/e-vcard.h: add prototypes for
3654 e_vcard_attribute_is_single_valued and
3655 e_vcard_attribute_get_value{_decoded}. Also, add
3656 e_vcard_attribute_has_type.
3658 * libebook/e-contact.h: add prototypes for
3659 e_contact_{get,set}_attributes, and e_contact_vcard_attribute.
3661 * libebook/e-contact.c (e_contact_vcard_attribute): new function,
3662 return the vcard attribute for a given EContactField id.
3663 (e_contact_get_attributes): get a GList* of EVCardAttributes for
3664 the given EContactField. This allows you to get at the parameters
3665 to the attribute, which you can't get with e_contact_get.
3666 (e_contact_set_attributes): an analogous setter for
3667 e_contact_get_attributes.
3669 2004-02-25 Sivaiah Nallagatla <snallagatla@novell.com>
3671 * libebook/e-vcard.h : added EVC_X_GROUPWISE definition
3672 * libebook/e-contact.[ch] : added E_CONTACT_IM_GROUPWISE field to EContact
3673 to store groupwise im ids
3675 2004-02-24 Hans Petter Jansson <hpj@ximian.com>
3677 * libebook/e-book-async.c (_default_book_response_dtor): Don't
3678 unref the *new* book after returning it to user. This was causing
3679 hard to trace crashes.
3681 * libebook/e-book.c (e_book_get_default_addressbook): Correctly
3682 assert the pointer-to-pointer, not the pointed-to pointer.
3684 2004-02-23 Chris Toshok <toshok@ximian.com>
3686 * libebook/e-vcard.c (parse): wrap spew in "#define d(x)".
3687 (e_vcard_attribute_add_value_decoded): same.
3688 (_evc_base64_encode_close): same.
3689 (_evc_base64_encode_step): same.
3691 * libebook/e-contact.c (e_contact_set_property): wrap spew in
3693 (e_contact_set): same.
3694 (e_contact_get_email_list): nuke dead function.
3696 * libebook/e-book.c (e_book_add_contact): wrap spew in "#define
3698 (e_book_response_add_contact): same.
3699 (e_book_response_get_contact): same.
3700 (e_book_response_get_book_view): same.
3701 (e_book_response_get_contacts): reindent.
3702 (e_book_response_get_changes): same.
3703 (e_book_response_generic): same.
3704 (e_book_response_open): same.
3705 (e_book_response_remove): same.
3707 * libebook/e-book-view-listener.c
3708 (impl_BookViewListener_notify_contacts_added): wrap spew in
3710 (impl_BookViewListener_notify_contacts_removed): same.
3711 (impl_BookViewListener_notify_contacts_changed): same.
3712 (impl_BookViewListener_notify_sequence_complete): same.
3713 (impl_BookViewListener_notify_progress): same.
3715 * libebook/e-book-listener.c (impl_BookListener_respond_get_view):
3716 wrap spew in "#define d(x)".
3718 2004-02-23 JP Rosevear <jpr@ximian.com>
3720 * tests/vcard/Makefile.am: add extra includes for srcdir !=
3723 * tests/ebook/Makefile.am: ditto
3725 * libedata-book/Makefile.am: ditto
3727 * libebook/Makefile.am: ditto
3729 * backends/vcf/Makefile.am: ditto
3731 * backends/ldap/Makefile.am: ditto
3733 * backends/file/Makefile.am: ditto
3735 2004-02-23 Chris Toshok <toshok@ximian.com>
3737 * tests/ebook/test-search.c: add a utility so we can perform
3738 searches against addressbooks without having to bring up a gui.
3740 * tests/ebook/Makefile.am (test_search_LDADD): add.
3741 (noinst_PROGRAMS): add test-search
3743 2004-02-20 Chris Toshok <toshok@ximian.com>
3745 [ fixes bug #53994 ]
3747 * libebook/e-book-query.c (e_book_query_get_type): new function,
3748 supply e_book_query_copy as the CopyFunc, and e_book_query_unref
3750 (e_book_query_copy): new function, just convert @q to a string and
3751 reparse it, ala the EVCard copy function.
3753 * libebook/e-book-query.h: add prototypes for
3754 e_book_query_get_type and e_book_query_copy. also add
3757 * libebook/e-contact.h: add
3758 E_TYPE_CONTACT_{DATE,NAME,PHOTO,CERT,ADDRESS}.
3761 2004-02-20 Sivaiah Nallagatla <snallagatla@novell.com>
3763 * backends/groupwise/create-account.c : new file to create an acoount
3765 2004-02-20 Sivaiah Nallagatla <snallagatla@novell.com>
3767 * backends/Makefile.am : added groupwise to SUBDIRs
3768 * backends/groupwise/Makefile.am
3769 * backends/groupwise/e-book-backend-groupwise.[ch] : new
3770 groupwise address book backend class
3773 2004-02-12 Chris Toshok <toshok@ximian.com>
3775 * libebook/e-book-listener.c
3776 (impl_BookListener_respond_get_contact_list): unref the contacts
3777 and free the response.list.
3779 * libebook/e-book.c (e_book_response_get_contacts): copy the GList
3780 and ref the contacts in it.
3782 2004-02-12 Chris Toshok <toshok@ximian.com>
3784 * libebook/e-book-listener.c (e_book_listener_new): use
3785 ORBIT_THREAD_HINT_ON_CONTEXT, and specify _ebook_context.
3787 * libebook/e-book.c (e_book_activate): init _ebook_context.
3788 (startup_mainloop): fun the mainloop on _ebook_context.
3790 2004-02-11 Chris Toshok <toshok@ximian.com>
3792 * libebook/e-book-listener.c (e_book_listener_new): fix typo.
3794 2004-02-11 Chris Toshok <toshok@ximian.com>
3796 * libedata-book/e-data-book.c (view_listener_died_cb): nuke, moved
3797 to e-data-book-view.c.
3798 (impl_GNOME_Evolution_Addressbook_Book_getBookView): remove the
3799 call to ORBit_small_listen_for_broken. That's handled in
3800 e-data-book-view.c too, and don't g_object_unref the view (it's a
3801 BonoboObject anyway, and we can't unref it after the oneway corba
3802 call like we could before when it wasn't oneway.)
3803 (view_destroy): just call e_book_backend_remove_book_view.
3805 * libedata-book/e-data-book-view.c (view_listener_died_cb): move
3806 this here from e-data-book.c.
3807 (e_data_book_view_construct): call ORBit_small_listen_for_broken
3809 (impl_GNOME_Evolution_Addressbook_BookView_dispose): call
3810 ORBit_small_unlisten_for_broken, and unref the view.
3811 (e_data_book_view_get_card_query): add arg check.
3812 (e_data_book_view_get_backend): same.
3813 (e_data_book_view_get_listener): same.
3814 (e_data_book_view_class_init): fill in epv->dispose.
3816 * libedata-book/e-book-backend.c (e_book_backend_get_book_views):
3818 (e_book_backend_add_book_view): add a arg check.
3819 (e_book_backend_remove_book_view): same.
3820 (e_book_backend_init): don't use ref/unref for the EList
3821 functions, since we use a weakref to manage the contents of the
3824 * libebook/e-book-listener.c (impl_BookListener_respond_get_view):
3825 release_unref after the signal. the callee must ref to keep the
3828 * libebook/e-book-view.c (e_book_view_do_added_event): don't free
3829 up the response stuff here, it's handled in the listener code now.
3830 (e_book_view_do_modified_event): same.
3831 (e_book_view_do_removed_event): same.
3832 (e_book_view_do_status_message_event): same.
3833 (e_book_view_handle_response): add a comment about a useless (imo)
3834 check. also, don't g_free (resp).
3835 (e_book_view_construct):
3836 (e_book_view_dispose): call BookView::dispose before we
3839 * libebook/e-book-view-listener.c (free_response): new method.
3840 free up an EBookViewListenerResponse*.
3841 (main_thread_get_response): call free_response on the response
3842 after emitting the signal.
3843 (e_book_view_listener_queue_response): just call free_response
3844 here instead of duplicating its code.
3846 * libebook/e-book.c (e_book_response_get_book_view): we don't want
3847 to ref the listener here. *unref* it.
3848 (e_book_get_addressbooks): check addressbook_sources, not
3849 *addressbook_sources, in the precondition.
3851 * idl/Evolution-DataServer-Addressbook.idl (BookView): add dispose
3854 2004-02-09 Michael Meeks <michael@ximian.com>
3856 * libedata-book/e-data-book.c (view_destroy): tolerate NULL
3859 2004-02-08 Chris Toshok <toshok@ximian.com>
3861 * tests/ebook/Makefile.am (noinst_PROGRAMS): build
3864 * tests/ebook/test-ebook-async.c: async version of test-ebook.c
3866 * tests/ebook/test-ebook.c (main): remove the call to
3867 bonobo_main_quit here - we don't need it.
3869 2004-02-08 Chris Toshok <toshok@ximian.com>
3871 * libebook/e-book-async.c (main_thread_get_response): lock the
3872 idle mutex around this function, reset it to -1, and return FALSE.
3873 (push_response): abstract out all the g_async_queue_push stuff
3874 from the various handlers. do proper locking, and register the
3875 main thread idle handler if we need to.
3876 (e_book_async_load_local_addressbook): new function. async
3877 version of e_book_load_local_addressbok.
3878 (*_handler): use push_response instead of g_async_queue_push.
3879 (init_async): remove the timeout stuff. we register idle handlers
3880 when we need to. no more polling the async queue.
3882 * libebook/e-book-async.h: add prototype for
3883 e_book_async_load_local_addressbook.
3885 * libebook/e-book-view-listener.c (main_thread_get_response): new
3886 function to read responses from the CORBA request threads.
3887 (e_book_view_listener_queue_response): don't just emit a signal
3888 here, as that causes the response to be handled on the request
3889 thread, and hoists re-entrancy requirements on calling code.
3890 instead, push the response onto the async queue.
3891 (e_book_view_listener_new): initialize the
3892 queue/idle_mutex/idle_id.
3893 (e_book_view_listener_dispose): dispose of the idle foo/queue.
3895 2004-02-08 Chris Toshok <toshok@ximian.com>
3897 * backends/file/e-book-backend-file.c
3898 (e_book_backend_file_start_book_view): don't free the
3899 closure/mutex inside the loop, then access it again right after
3900 the loop. Should fix crashes when doing repeated searches (while
3901 stopping them often), like when autocompleting.
3905 2004-02-06 Hans Petter Jansson <hpj@ximian.com>
3907 * libebook/e-address-western.c (e_address_western_extract_region):
3908 Don't allow end index to go below start index when extracting the
3909 region. Also handle the case where there is no whitespace after comma
3912 2004-02-06 Chris Toshok <toshok@ximian.com>
3914 * libebook/e-book.c (e_book_activate): if bonobo hasn't been
3915 initialized, do it here. This should be enough to get
3916 evolution-sharp based programs up and running.
3917 (activate_factories_for_uri): include the bonobo exception text in
3920 2004-02-05 Chris Toshok <toshok@ximian.com>
3922 [ along with previous fixes, this fixes #53129 ]
3924 * backends/ldap/e-book-backend-ldap.c (find_book_view): we no
3925 longer use EBookBackendLDAPBookView.
3927 2004-02-05 Chris Toshok <toshok@ximian.com>
3929 * libebook/e-book.c (startup_mainloop): switch from using
3930 bonobo_main to using a separate GMainLoop attached to the default
3933 2004-02-04 Chris Toshok <toshok@ximian.com>
3935 * backends/file/e-book-backend-file.c
3936 (e_book_backend_file_remove_contacts): there's no reason to search
3937 for the card before removing it. the error condition is the same
3938 anyway, and it'll slow us down.
3940 2004-02-04 Chris Toshok <toshok@ximian.com>
3942 [ fixes bug #53130 ]
3944 * libedata-book/e-data-book-view.c (MAKE_REALLOC): this might end
3945 up being a bad assumption, but since it's only used for string
3946 sequences, assume it always will be. We need to make a deep copy
3947 of the sequence. a memcpy isn't enough, as freeing the buffer
3948 causes the child strings to be freed.
3950 2004-02-04 Chris Toshok <toshok@ximian.com>
3952 * libebook/e-book.c (e_book_op_free): remove the misleading "XXX
3953 more here" comment from here - there's nothing else to free here.
3955 2004-02-04 Chris Toshok <toshok@ximian.com>
3957 * libebook/e-book.c (e_book_load_source): lock the book's mutex
3958 before checking load_state. Also, set the load_state to
3959 E_BOOK_URI_LOADING before we relinquish the lock. It will be
3960 reset to URI_NOT_LOADED in fetch_corba_book if there's a problem.
3961 (e_book_load_uri): remove the e_return_error_if_fail about
3962 load_state. It'll be handled by e_book_load_source.
3963 (fetch_corba_book): reset load_state to E_BOOK_URI_NOT_LOADED in
3964 all the cases where we return FALSE.
3966 * libebook/e-contact.c (e_contact_set_property): for GETSET
3967 properties that aren't STRUCT's, it's a string, not a pointer.
3968 (e_contact_get_property): same.
3970 2004-02-04 Michael Meeks <michael@ximian.com>
3972 * libebook/e-book-async.c (_get_book_view_handler):
3973 g_new0 so we don't have a bogus uninitialized pointer
3974 to segv on in _get_book_view_response_dtor.
3976 2004-02-03 Chris Toshok <toshok@ximian.com>
3978 * libebook/e-vcard.c (e_vcard_to_string_vcard_30): use "VCARD"
3979 instead of "vCard" because gnome-vfs is busted and doesn't use a
3980 case insensitive string check.
3982 2004-02-02 Chris Toshok <toshok@ximian.com>
3984 * libebook/e-contact.c (GETSET_FIELD): these are also of type
3985 STRING. if you want a GETSET field that's a struct, use
3986 STRUCT_FIELD. Fixes a problem with FULL_NAME reflection for
3989 2004-02-02 Chris Toshok <toshok@ximian.com>
3991 * libebook/e-vcard.c (e_vcard_attribute_remove_params): clear
3992 attr->encoding_set and attr->encoding, since that is just cached
3993 information from the attribute parameters. Fixes a spurious
3996 2004-02-02 Chris Toshok <toshok@ximian.com>
3998 * libebook/e-vcard.c (e_vcard_attribute_remove_values): make sure
3999 to set attr->decoded_values to NULL as well. fixes oddness when
4000 overwriting the PHOTO attribute.
4002 2004-02-02 Hans Petter Jansson <hpj@ximian.com>
4004 * libebook/e-contact.c (photo_getter): Return NULL if image length is
4006 (photo_setter): Warn and don't set photo if image length is zero.
4008 2004-02-02 Hans Petter Jansson <hpj@ximian.com>
4010 * libebook/e-contact.c (photo_setter): Handle NULL.
4011 (fn_setter): Handle NULL.
4012 (n_setter): Handle NULL.
4013 (adr_setter): Handle NULL.
4014 (date_getter): Return NULL if attr present, but no value.
4015 (date_setter): Handle NULL.
4016 (cert_setter): Handle NULL.
4017 (e_contact_set_property): Don't pass NULL data to setters, remove the
4018 attribute (if present) instead.
4020 2004-02-02 Michael Meeks <michael@ximian.com>
4022 * backends/file/e-book-backend-file.c
4023 (e_book_backend_file_stop_book_view): unlock after
4026 2004-01-30 Hans Petter Jansson <hpj@ximian.com>
4028 * libebook/e-book-async.c (e_book_async_load_source)
4029 (e_book_async_load_uri)
4030 (e_book_async_get_default_addressbook)
4031 (e_book_async_get_supported_fields)
4032 (e_book_async_get_supported_auth_methods)
4033 (e_book_async_authenticate_user)
4034 (e_book_async_get_contact)
4035 (e_book_async_remove_contact)
4036 (e_book_async_remove_contact_by_id)
4037 (e_book_async_remove_contacts)
4038 (e_book_async_add_contact)
4039 (e_book_async_commit_contact)
4040 (e_book_async_get_book_view)
4041 (e_book_async_get_contacts): Add argument preconditions.
4043 * libebook/e-contact.c (e_contact_new_from_vcard)
4044 (e_contact_duplicate)
4045 (e_contact_name_from_string)
4046 (e_contact_name_copy)
4047 (e_contact_date_from_string): Add argument preconditions.
4049 2004-01-30 Chris Toshok <toshok@ximian.com>
4051 * libedata-book/e-book-backend.c (e_book_backend_remove_client):
4052 add ref/unref around this function body so that we don't get
4053 unreffed by something below last_client_gone.
4055 2004-01-29 Chris Toshok <toshok@ximian.com>
4057 * libedata-book/ximian-vcard.h (XIMIAN_VCARD): update for new
4058 office location, and change the FILE-AS/ORG fields to say Novell
4061 2004-01-30 Radek Doulik <rodo@ximian.com>
4063 * backends/ldap/e-book-backend-ldap.c (contact_list_dtor): don't
4064 g_object_unref contact list, it contains strings which are freed
4065 in e_data_book_respond_get_contact_list, the list is freed there
4067 (category_compare): make sure categories != NULL before calling
4069 (build_mods_from_contacts): make sure we don't introduce new empty
4071 (build_mods_from_contacts): make sure the ber_func and
4072 compare_func are non NULL before calling them
4074 2004-01-29 Chris Toshok <toshok@m198-139.dsl.rawbw.com>
4076 * backends/file/e-book-backend-file.c
4077 (e_book_backend_file_load_source): honor the @only_if_exists arg
4078 before creating the db or directory. i.e. fix this so it's not
4081 2004-01-28 Radek Doulik <rodo@ximian.com>
4083 * libebook/e-contact.c (e_contact_set_property): use "CATEGORIES"
4084 instead of null vcard_field_name
4085 (e_contact_set_property): check for NULL string value, test for
4088 2004-01-27 Chris Toshok <toshok@ximian.com>
4090 * libebook/e-book-async.h: nuke the prototype for
4091 e_book_async_unload_uri.
4093 * libebook/e-book-async.c (e_book_async_unload_uri): nuke.
4095 2004-01-27 Chris Toshok <toshok@ximian.com>
4097 * libebook/e-book.h: remove the prototype for e_book_unload_uri.
4098 If you want to unload the uri, unref the book and create a new
4101 * libebook/e-book.c (e_book_cancel): add some preconditions.
4102 (e_book_load_local_addressbook): same.
4103 (e_book_get_source): same.
4104 (e_book_get_static_capabilities): same. also, set the GError
4105 instead of generating a g_warning. This should probably return
4106 NULL in the error cases instead of g_strdup(""), but i'm not sure
4107 if that'll break things.
4108 (e_book_check_static_capability): add some preconditions.
4109 (e_book_is_writable): same.
4110 (e_book_set_self): same.
4111 (e_book_is_self): same.
4112 (e_book_set_default_addressbook): same.
4113 (e_book_set_default_source): same.
4114 (e_book_get_addressbooks): same.
4115 (e_book_unload_uri): make this static.
4117 * libebook/e-book-types.h (EBookStatus): add
4118 E_BOOK_ERROR_NO_SUCH_SOURCE.
4120 2004-01-27 Chris Toshok <toshok@ximian.com>
4122 * libebook/e-book.c (e_book_load_local_addressbook): change the
4123 local addressbook path to .evolution/addressbook/local/system, and
4124 pass FALSE for @only_if_exists, so it'll always be created if it's
4127 2004-01-27 Hans Petter Jansson <hpj@ximian.com>
4129 * libebook/e-book.c (e_book_unload_uri): If the load_state is
4130 E_BOOK_URI_LOADING, don't try to kill the book, just cancel the op
4131 and let fetch_corba_book() take care of it.
4132 (fetch_corba_book): Handle cancellation properly.
4134 2004-01-26 Chris Toshok <toshok@ximian.com>
4136 * tests/ebook/Makefile.am (noinst_PROGRAMS): add
4137 test-untyped-phones.
4138 (test_untyped_phones_LDADD): new variable.
4140 * tests/ebook/test-untyped-phones.c: new test for 40013.
4142 2004-01-26 Chris Toshok <toshok@ximian.com>
4144 [ fixes bug #53228 ]
4146 * tests/ebook/test-categories.c: new test.
4148 * tests/ebook/Makefile.am (noinst_PROGRAMS): add test-categories.
4150 * libebook/e-vcard.c (e_vcard_to_string_vcard_30): this is really
4151 gross. We don't escape the ,'s if we're generating the value for
4152 a CATEGORIES attribute. I can't believe the RFC specifies commas
4153 for use as a toplevel list separator for CATEGORIES. That's what
4155 (read_attribute_value): split the CATEGORIES attribute up like a
4156 normal list would be, only use ','s for it.
4158 * libebook/e-contact.c (e_contact_set_property): implement the
4159 setter portion of CATEGORIES support.
4160 (e_contact_get_property): implement the CATEGORIES getter.
4162 2004-01-26 Chris Toshok <toshok@ximian.com>
4164 * libebook/e-book.c (e_book_get_default_addressbook): implement
4165 this the right way by searching for the "default" property over
4166 all sources, and returning that source, or the local addressbook
4167 if there isn't a default source.
4168 (e_book_set_default_addressbook): new function.
4169 (e_book_set_default_source): new function.
4171 * libebook/e-book.h: add prototypes for
4172 e_book_set_default_addressbook/e_book_set_default_source.
4174 2004-01-23 Chris Toshok <toshok@ximian.com>
4176 * libebook/e-vcard.c (e_vcard_unescape_string): make public.
4177 (e_vcard_escape_string): same.
4178 (e_vcard_to_string_vcard_30): use the public escape_string
4180 (e_vcard_dump_structure): same.
4182 * libebook/e-vcard.h (e_vcard_unescape_string): expose this
4183 (e_vcard_escape_string): and this.
4185 * libebook/e-contact.h: rearrange the enum again, to keep
4186 strings/structs separate.
4188 * libebook/e-book.c (e_book_get_default_addressbook): might as
4189 well switch this to the new folder layout.
4190 (e_book_load_local_addressbook): same.
4192 * libebook/e-contact.c (e_contact_find_attribute_with_types): only
4193 find the attribute that matches the types explicitly. this is the
4194 only way to implement "other phone/fax" currently.
4195 (e_contact_set_property): same.
4197 2004-01-21 Nat Friedman <nat@novell.com>
4199 * libedata-book/e-book-backend-sexp.c (compare_im): New function
4200 to allow searching of IM fields.
4201 * libedata-book/e-book-backend-sexp.c (compare_im_aim): Likewise.
4202 * libedata-book/e-book-backend-sexp.c (compare_im_msn): Likewise.
4203 * libedata-book/e-book-backend-sexp.c (compare_im_icq): Likewise.
4204 * libedata-book/e-book-backend-sexp.c (compare_im_yahoo):
4206 * libedata-book/e-book-backend-sexp.c (compare_im_jabber):
4208 * libedata-book/e-book-backend-sexp.c (prop_info_table): Added
4209 entries for IM field searching.
4211 2004-01-20 Hans Petter Jansson <hpj@ximian.com>
4213 * libedata-book/e-data-book-view.c (e_data_book_view_new): Pass a
4214 threaded POA policy to g_object_new (). Fixes deadlocks.
4216 2004-01-16 JP Rosevear <jpr@ximian.com>
4218 * libebook/e-book.c (e_book_idle_writable): idle handler to emit
4219 the writable signal on the main thread
4220 (e_book_handle_response): use above
4222 2003-01-11 Christian Hammond <chipx86@gnupdate.org>
4224 * addressbook/libebook/e-contact.[ch]: Changed the IM account field
4225 types from LIST_FIELD to MULTI_LIST_FIELD, as discussed with Chris
4226 Toshok. Added convenience fields for WORK and HOME entries for each
4227 IM account list. Add support for setting LIST_FIELD types.
4229 2004-01-09 Jeffrey Stedfast <fejj@ximian.com>
4231 * tests/ebook/test-date.c (main): Don't let control reach the end
4232 of a non-void function
4234 * backends/ldap/e-book-backend-ldap.c (find_book_view): Don't let
4235 control reach the end of a non-void function
4237 * libebook/e-contact.c (cert_getter): Don't let control reach the
4238 end of a non-void function
4240 * tests/ebook/test-string.c: Same as below.
4242 * tests/ebook/test-photo.c: #include <string.h> for strlen and
4244 (main): Don't let control reach the end of a non-void function
4246 2004-01-09 Ross Burton <ross@burtonini.com>
4248 * libebook/e-book-async.h:
4249 * libebook/e-book-async.c:
4250 Change the API of e_book_async_get_book_view and
4251 e_book_async_get_contacts to match e-book.h.
4253 2004-01-08 Ross Burton <ross@burtonini.com>
4255 * libebook/e-contact.c:
4256 * libebook/e-contact.h:
4257 Add a video conferencing URL field.
4259 2004-01-07 JP Rosevear <jpr@ximian.com>
4261 * libedata-book/Makefile.am: remove DISABLE_DEPRECATED flags
4263 * libebook/Makefile.am: ditto
4265 2004-01-06 Chris Toshok <toshok@ximian.com>
4267 * backends/file/e-book-backend-file.c
4268 (e_book_backend_file_load_source): use e_util_mkdir_hier here
4270 (do_create): add the db_error to the spew.
4271 (e_book_backend_file_load_source): don't use mkdir here, use
4274 2004-01-05 Christian Neumair <chris@gnome-de.org>
4276 * libebook/e-book.c: Generalize some strings.
4278 2003-12-29 Chris Toshok <toshok@ximian.com>
4280 * tests/ebook/test-undefinedfield.c: new test - make sure we
4281 return NULL for undefined/unimplemented fields.
4283 * tests/ebook/Makefile.am (noinst_PROGRAMS): add
4284 test-undefinedfield.
4286 2003-12-29 Chris Toshok <toshok@ximian.com>
4288 * libebook/e-contact.c (e_contact_get_property): reset the GValue
4289 if there's a problem getting it (will force it to NULL).
4291 2003-12-29 Chris Toshok <toshok@ximian.com>
4293 * libebook/e-contact.c (e_contact_get): initialize value to NULL
4294 so that if the field is unknown (meaning we haven't gotten around
4295 to implementing it yet, like the category list stuff), we don't
4296 return an invalid pointer.
4298 2003-12-19 Chris Toshok <toshok@ximian.com>
4300 * libebook/e-vcard.h: add lots more #defines, some EVC_X ones for
4301 attribute TYPE's, as well as the vcard specified "KEY" attribute.
4303 * libedata-book/e-book-backend.c (e_book_backend_remove_client):
4304 reorder some code so we hold the lock up until we're done with
4305 backend->priv->clients.
4307 * backends/ldap/e-book-backend-ldap.c (prop_info): add an entry
4308 for E_CONTACT_X509_CERT, and map it to the userCertificate ldap
4309 attribute. not sure if this is strictly correct... the
4310 inetOrgPerson schema mentions using userSMIMECertificate (which
4311 contains the full certificate chain in pkcs#7 form) in favor of
4312 userCertificate for S/MIME applications.
4314 * libebook/e-contact.h: add the CERT field types, the EContactCert
4315 struct type, and prototypes for e_contact_cert_get_type and
4316 e_contact_cert_free.
4318 * libebook/e-contact.c (field_info): add E_CONTACT_X509_CERT
4319 (cert_getter, cert_setter): new functions, implement
4320 getting/setting of certs.
4321 (e_contact_cert_free): new function.
4322 (e_contact_cert_copy): same.
4323 (e_contact_cert_get_type): same.
4325 2003-12-17 Chris Toshok <toshok@ximian.com>
4327 * libebook/e-book-async.c (_get_book_view_response_dtor): if
4328 there's a crash in the wombat and we're left with an invalid
4329 EBook, resp->book_view will be NULL here. don't unref it.
4331 2003-12-16 Hans Petter Jansson <hpj@ximian.com>
4333 * libebook/e-book.c (fetch_corba_book): Ref and keep the loaded
4334 ESource around. Unref old source if present.
4335 (e_book_get_source): Implement.
4336 (e_book_init): Init source pointer.
4337 (e_book_dispose): Unref source, if any.
4339 2003-12-15 Hans Petter Jansson <hpj@ximian.com>
4341 * libebook/e-contact.c (adr_getter): Initialize the address_format
4342 field. Absence of this was causing crashes.
4343 (e_contact_set_property): For synthetic attr_type fields, add a
4344 case for struct/get_set alongside strings. This makes addresses work.
4345 (e_contact_get_property): For multi_elem strings, count the matching
4346 attributes instead of trying to get a list from the first attribute
4347 encountered (which is what list_elem does). This makes e-mail
4350 2003-12-10 Hans Petter Jansson <hpj@ximian.com>
4352 * backends/ldap/e-book-backend-ldap.c
4353 (e_book_backend_ldap_load_source): Get attributes from source, not URI.
4355 2003-12-09 Chris Toshok <toshok@ximian.com>
4357 * backends/file/e-book-backend-file.c (select_changes): change to
4358 return gboolean and take the filename, not the struct dirent *.
4359 (e_book_backend_file_remove): switch from using scandir to
4362 2003-12-07 JP Rosevear <jpr@ximian.com>
4364 * libedata-book/e-data-book-factory.c: version the OAFIID
4366 * libebook/e-book.c (activate_factories_for_uri): update repo id
4368 2003-12-07 JP Rosevear <jpr@ximian.com>
4370 * libebook/e-book.c (activate_factories_for_uri): use the
4373 2003-12-05 Chris Toshok <toshok@ximian.com>
4375 * libebook/e-contact.c (e_contact_get_const): make this only work
4376 for strings, since really that's all it works for now.
4378 2003-12-05 Hans Petter Jansson <hpj@ximian.com>
4380 * libebook/e-contact.c (e_contact_get_property): Return boxed type
4382 (e_contact_name_from_string): Never pass NULL to
4383 e_name_western_parse ().
4385 2003-12-04 Chris Toshok <toshok@ximian.com>
4387 * tests/ebook/test-ebook.c (print_email): print out the
4388 NAME_OR_ORG of the contact too.
4390 * libebook/e-contact.h (EContactField): add NAME_OR_ORG.
4392 * libebook/e-contact.c (field_info): add NAME_OR_ORG.
4393 (e_contact_get_property): handle NAME_OR_ORG.
4395 2003-12-01 Hans Petter Jansson <hpj@ximian.com>
4397 * libebook/e-book.c (e_book_unload_uri): When clearing the cached
4398 capabilities, also clear the cap_queried flag.
4400 2003-12-01 Hans Petter Jansson <hpj@ximian.com>
4402 * libebook/e-book.c (fetch_corba_book): If the book failed to load,
4403 set load_state to E_BOOK_URI_NOT_LOADED, so _unload () won't crash.
4405 2003-12-01 Hans Petter Jansson <hpj@ximian.com>
4407 * libebook/e-book-async.c (_load_uri_response_handler)
4408 (_load_uri_response_dtor)
4411 (_default_book_response_handler)
4412 (_default_book_response_dtor): Pass source instead of URI, and
4414 (e_book_async_load_source): Implement.
4415 (e_book_async_load_uri): Create a source and pass that to worker.
4417 2003-11-28 Chris Toshok <toshok@ximian.com>
4419 * tests/ebook/Makefile.am (test_ebook_view_LDADD): new variable.
4420 (noinst_PROGRAMS): add test-ebook-view
4422 * tests/ebook/test-ebook-view.c: new test for ebook view's.
4424 2003-11-26 Hans Petter Jansson <hpj@ximian.com>
4426 * backends/file/e-book-backend-file.c (e_book_backend_file_load_uri):
4427 Rename to e_book_backend_file_load_source () and take an ESource
4429 (e_book_backend_file_dispose): Don't free URI anymore.
4430 (e_book_backend_file_class_init): load_uri -> load_source.
4431 (e_book_backend_file_init): Don't init URI anymore.
4433 * backends/ldap/e-book-backend-ldap.c (e_book_backend_ldap_load_uri):
4434 Rename to e_book_backend_ldap_load_uri () and take an ESource instead
4436 (e_book_backend_ldap_dispose): Don't free URI anymore.
4437 (e_book_backend_ldap_class_init): load_uri -> load_source.
4439 * backends/vcf/e-book-backend-vcf.c (e_book_backend_vcf_load_uri):
4440 Rename to e_book_backend_vcf_load_source () and take an ESource
4442 (e_book_backend_vcf_dispose): Don't free URI anymore.
4443 (e_book_backend_vcf_class_init): load_uri -> load_source.
4444 (e_book_backend_vcf_init): Don't init URI anymore.
4446 * idl/Evolution-DataServer-Addressbook.idl (getBook): In parameter
4447 "uri" renamed to "source". Takes standalone source XML.
4449 * libebook/e-book.c (fetch_corba_book): Implement, taking ESource.
4450 (e_book_load_source): Implement.
4451 (e_book_load_uri): Create a source based on the URI and use
4452 e_book_load_source () to load that.
4454 * libedata-book/e-book-backend.c (e_book_backend_load_uri): Renamed
4455 to e_book_backend_load_source () and takes ESource instead of URI.
4456 (e_book_backend_get_uri): Renamed to e_book_backend_get_source ()
4457 and returns ESource instead of URI.
4458 (e_book_backend_open): Use e_book_backend_load_source ().
4459 (e_book_backend_init): Don't init URI anymore.
4460 (e_book_backend_dispose): Don't free URI anymore.
4462 * libedata-book/e-data-book-factory.c (backend_last_client_gone_cb):
4463 Get URI from backend's ESource.
4464 (impl_GNOME_Evolution_Addressbook_BookFactory_getBook): Take
4465 standalone source XML, construct an ESource, and fetch a backend
4468 * libedata-book/e-data-book.c (e_data_book_get_uri): Renamed to
4469 e_data_book_get_source () and return ESource.
4470 (e_data_book_construct): Take ESource instead of URI.
4471 (e_data_book_new): Take ESource instead of URI.
4472 (e_data_book_dispose): Don't free URI. Instead, unref ESource.
4474 2003-11-25 Chris Toshok <toshok@ximian.com>
4476 * tests/ebook/test-self.c: new file/test, print out the current
4479 * tests/ebook/test-ebook.c (print_email): fix the email printing.
4481 * libebook/e-vcard.c (parse): if the vcard doesn't begin with a
4482 "begin" attribute, we still want to add the attribute to the
4485 * libebook/e-contact.c (field_info): add GETSET_FIELD for fields
4486 that don't have a structured type associated with them (such as
4487 FN) but that need getter/setter methods for some reason. add a
4488 GType getter function to STRUCT_FIELD, and fill in the getter
4489 (e_contact_class_init): use boxed types for STRUCT fields.
4490 (adr_setter): implement.
4491 (e_contact_set_property): use g_value_get_boxed for STRUCT types.
4492 (e_contact_get_property): implement GETSET getter.
4493 (e_contact_name_get_type): implement.
4494 (e_contact_date_copy): same.
4495 (e_contact_date_get_type): same.
4496 (e_contact_date_new): same.
4497 (e_contact_photo_copy): same.
4498 (e_contact_photo_get_type): same.
4499 (e_contact_address_copy): same.
4500 (e_contact_address_get_type): same.
4502 * libebook/e-contact.h: add prototypes for
4503 e_contact_{date,name,photo,address}_get_type.
4505 * libebook/e-book-types.h: add E_BOOK_ERROR_NO_SELF_CONTACT.
4507 * libebook/e-book.c (e_book_get_self): implement.
4508 (e_book_set_self): same.
4509 (e_book_is_self): same.
4510 (e_book_get_default_addressbook): add more to the comment telling
4511 how this *really* should be implemented.
4512 (e_book_get_addressbooks): implement.
4514 * libebook/e-book.h: add prototype for e_book_is_self, change
4515 e_book_set_self to take an EContact instead of just the uid.
4516 Also, unifdef the prototype for e_book_get_addressbooks.
4518 2003-11-23 Chris Toshok <toshok@ximian.com>
4520 * backends/file/e-book-backend-file.c
4521 (e_book_backend_file_load_uri): remove the db3 version checks, and
4522 add the extra transaction arg to db->open.
4524 * backends/file/Makefile.am (INCLUDES): use the embedded db4.
4526 2003-11-22 Chris Toshok <toshok@ximian.com>
4528 * backends/ldap/e-book-backend-ldap.c (contact_list_handler,
4529 contact_list_dtor, e_book_backend_ldap_get_contact_list):
4530 implement get_contact_list for the ldap backend.
4531 (category_populate): un-ifdef this.
4532 (category_ber): same.
4533 (category_compare): same.
4534 (e_book_backend_ldap_class_init): fill in
4535 EBookBackendClass::get_contact_list.
4537 2003-11-11 Chris Toshok <toshok@ximian.com>
4539 * tests/vcard/dump-vcard.c (main): convert the vcard to a string
4540 and print it out as well. also fix the evcard leak.
4542 * tests/vcard/README: add blurb about 10.vcf.
4544 * tests/vcard/Makefile.am (EXTRA_DIST): add 10.vcf
4546 * tests/vcard/10.vcf: new quotted attribute parameter value test.
4548 * tests/vcard/[1-9].vcf: add these back in.
4550 2003-11-10 JP Rosevear <jpr@ximian.com>
4552 * libebook/e-book-listener.c: remove construct method, it did
4553 nothing and should use construct time args in future if needed
4555 2003-11-10 Dan Winship <danw@ximian.com>
4557 * libebook/e-contact.c (e_contact_date_equal): New utility
4558 function to compare two (possibly NULL) EContactDates
4560 * backends/ldap/e-book-backend-ldap.c (anniversary_compare,
4561 birthday_compare): Use it
4563 * libedata-book/e-book-backend-summary.c
4564 (e_book_backend_summary_check_contact): New utility function to
4565 check if an id is in the summary (without doing any additional
4568 2003-11-10 Dan Winship <danw@ximian.com>
4570 * libedata-book/e-book-backend.h:
4571 s/E_TYPE_BACKEND/E_TYPE_BOOK_BACKEND/
4572 s/E_IS_BACKEND/E_IS_BOOK_BACKEND/
4574 * libedata-book/e-book-backend-sync.h: Likewise
4575 * backends/file/e-book-backend-file.h: Likewise
4576 * backends/vcf/e-book-backend-vcf.h: Likewise
4577 * backends/ldap/e-book-backend-ldap.h: Likewise
4579 * libedata-book/e-book-backend.c: Update for that. Also simplify
4580 some redundant g_return_if_fail tests and reindent a bunch of
4581 lines that were indented wrong after the pas->e_book renaming.
4583 * libedata-book/e-book-backend-sync.c: Likewise
4584 * backends/file/e-book-backend-file.c: Likewise
4585 * backends/vcf/e-book-backend-vcf.c: Likewise
4586 * backends/ldap/e-book-backend-ldap.c: Likewise
4588 2003-11-08 Chris Toshok <toshok@ximian.com>
4590 * libebook/e-vcard.c (skip_until): implement.
4591 (read_attribute_params): implement quoted parameter values, in our
4592 trademark overly accepting way. it'll accept "hi" as well as
4593 "hi"and"bye" as parameter values (with the values being "hi" and
4594 "hiandbye" respectively).
4595 (e_vcard_to_string_vcard_30): hardcode VERSION:3.0 here, since
4596 we're outputing a version 3.0 card. also, ignore any VERSION
4597 attributes that may be in the vcard we parsed in. lastly, search
4598 parameter values for whitespace before outputting them, and wrap
4599 them in quotes if they have any.
4601 * libebook/e-book-async.c (e_book_async_add_contact): use
4602 e_contact_duplicate here so if the caller modifies the contact
4603 after calling us we use the original copy.
4604 (e_book_async_commit_contact): same.
4606 2003-11-07 Dan Winship <danw@ximian.com>
4608 * libebook/e-address-western.c:
4609 * libebook/e-name-western.c: Move these here.
4611 * libebook/e-contact.c: Update e-name-western include
4613 * libebook/Makefile.am (libebook_la_SOURCES): Add
4614 e-address-western.c and e-name-western.c.
4615 (libebookinclude_HEADERS): and their headers
4616 (libebook_la_LDFLAGS): Remove -no-undefined
4618 * libedata-book/Makefile.am (libedata_book_la_LDFLAGS): Likewise
4620 2003-11-06 Dan Winship <danw@ximian.com>
4622 * backends/ldap/e-book-backend-ldap.c: Remove the word "process"
4623 from method names, which hasn't really made sense since 1.2.
4625 * backends/vcf/e-book-backend-vcf.c: Likewise
4627 2003-11-06 <jpr@ximian.com>
4629 * libebook/Makefile.am: don't add libename
4631 2003-11-06 JP Rosevear <jpr@ximian.com>
4633 * libebook/e-book.c: replace e_mutex stuff with gthread stuff
4635 2003-11-06 JP Rosevear <jpr@ximian.com>
4637 * Makefile.am: build new subdirs
4639 * backends/*: build the file, vcf and ldap backends here
4641 * libedata-cal/Makefile.am: no longer build them here
4643 2003-11-05 JP Rosevear <jpr@ximian.com>
4645 * rename libedatabook to libedata-book
4647 2003-11-05 JP Rosevear <jpr@ximian.com>
4649 * libebook/Makefile.am: use privincludedir
4651 * libedatabook/Makefile.am: ditto
4653 * libedatabook/libedatabook-1.0.pc.in: use privincludedir; remove
4656 * libebook/libebook-1.0.pc.in: ditto
4658 2003-11-05 Rodrigo Moya <rodrigo@ximian.com>
4660 * libedatabook/e-book-backend-sexp.c:
4661 * libedatabook/e-book-backend-summary.c:
4662 * libedatabook/e-book-backend-vcf.c:
4663 * libedatabook/e-book-backend-file.c: removed GAL dependency.
4665 2003-11-04 JP Rosvear <jpr@ximian.com>
4667 * libedatabook/e-data-book-factory.c: use properly name spaced
4670 * libebook/e-book.c: kill unneccesary define
4672 2003-11-04 JP Rosevear <jpr@ximian.com>
4674 * libedatabook/e-data-book-factory.c: remove corbe header include
4676 * libedatabook/e-data-book.h: include corba header correctly
4678 * libedatabook/e-data-book-view.h: ditto
4680 * libedatabook/e-data-book-factory.h: ditto
4682 * libedatabook/e-book-backend.h: ditto
4684 * libedatabook/e-book-backend-sync.h: ditto
4686 * libedatabook/Makefile.am: reflect idl name change
4688 * libebook/e-book-view.c: remove corba header include
4690 * libebook/e-book.c: ditto
4692 * libebook/e-book.h: include corba header correctly
4694 * libebook/e-book-view.h: ditto
4696 * libebook/e-book-view-listener.h: ditto
4698 * libebook/e-book-listener.h: ditto
4700 * idl/Makefile.am (idl_DATA): rename idl to
4701 Evolution-DataServer-Addressbook.idl
4703 * libebook/Makefile.am: reflect idl name change