Fix FSF address (Tobias Mueller, #470445)
[platform/upstream/evolution-data-server.git] / addressbook / ChangeLog
1 2007-08-28  Ross Burton  <ross@openedhand.com>
2
3         * */*:
4         Fix FSF address (Tobias Mueller, #470445)
5
6 2007-08-17  Srinivasa Ragavan  <sragavan@novell.com>
7
8         ** Fix for bug #332979
9
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.
13
14 2007-08-16  Matthew Barnes  <mbarnes@redhat.com>
15
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).
18
19 2007-08-14  Milan Crha  <mcrha@redhat.com>
20
21         ** Fix for bug #356176 by Patrick Ohly
22
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.
26
27 2007-08-10  Matthew Barnes  <mbarnes@redhat.com>
28
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).
33
34 2007-08-10  Ross Burton  <ross@openedhand.com>
35
36         * backends/groupwise/e-book-backend-groupwise.c:
37         Clean up the code a little, fixing compile warnings and
38         non-const/static data.
39
40 2007-08-08  Ross Burton  <ross@openedhand.com>
41
42         * libebook/e-vcard.h:
43         Add EVC_GEO define.
44         
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).
48
49 2007-08-06  Milan Crha  <mcrha@redhat.com>
50
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.
54
55 2007-08-06  Milan Crha  <mcrha@redhat.com>
56
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
61
62 2007-07-31  Chenthill Palanisamy  <pchenthill@novell.com>
63
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:
71         * libebook/e-book.c:
72         * libebook/e-book.h:
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.
79
80 2007-07-31  Ross Burton  <ross@openedhand.com>
81
82         * libedata-book/e-data-book-view.c:
83         Only send remove notifications if the contact was in the view
84         originally.
85
86 2007-07-28  Srinivasa Ragavan  <sragavan@novell.com>
87
88         ** Fix for bug #455796
89
90         * libebook/e-book.c: (e_book_idle_connection),
91         (e_book_idle_auth_required), (e_book_dispose): Free the idle callbacks
92         on unref.
93
94 2007-07-27  Ross Burton  <ross@openedhand.com>
95
96         * libedata-book/e-book-backend.c:
97         Always report connection status when connecting (#460681, thanks
98         Karl Relton).
99
100 2007-06-03  Srinivasa Ragavan  <sragavan@novell.com>
101
102         ** Memory leak fixes from bug #440524
103
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):
115
116 2007-05-31  Matthew Barnes  <mbarnes@redhat.com>
117
118         * libebook/Makefile.am:
119         Fix some distcheck errors (#438577).
120
121 2007-05-31  Ross Burton  <ross@openedhand.com>
122
123         * libebook/e-vcard.[ch]:
124         Add e_vcard_attribute_remove_param().
125
126 2007-05-24  Ross Burton  <ross@openedhand.com>
127
128         * libebook/e-contact.c:
129         Add const to declaration of e_contact_set to match the header.
130
131 2007-05-22  Ross Burton  <ross@openedhand.com>
132
133         * libebook/e-book-view-listener.c:
134         Use g_list_prepend/reverse rather than append. Thanks to Paolo
135         Borelli (#360114).
136
137 2007-05-22  Ross Burton  <ross@openedhand.com>
138
139         * libebook/e-address-western.c:
140         Change a type from guchar to gchar, to stop compiler warnings.
141         
142         * backends/ldap/e-book-backend-ldap.c:
143         Cast the data when assigning to EContactPhoto.
144         
145         * backends/groupwise/e-book-backend-groupwise.c:
146         Handle both the old and new errcall prototypes in Berkeley DB.
147
148         Now the addressbook builds without warnings!
149
150 2007-05-22  Srinivasa Ragavan  <sragavan@novell.com>
151
152         ** Downstream fixes from SUSE.
153
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):
158
159 2007-05-21  Ross Burton  <ross@openedhand.com>
160
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.
164
165 2007-05-21  Ross Burton  <ross@openedhand.com>
166
167         * backends/file/e-book-backend-file.c:
168         Call set_errcall() earlier, so it can catch errors in env->open.
169
170 2007-05-21  Ross Burton  <ross@openedhand.com>
171
172         * backends/file/e-book-backend-file.c:
173         Move a g_free to the correct place, to avoid calling g_free (NULL).
174
175 2007-05-20  Ross Burton  <ross@openedhand.com>
176
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.
181
182 2007-05-18  Ross Burton  <ross@openedhand.com>
183
184         * backends/file/e-book-backend-file.c:
185         Tiny changes: disable debug output, make a warning more useful,
186         and fix some whitespace.
187
188 2007-05-18  Ross Burton  <ross@openedhand.com>
189
190         * backends/file/e-book-backend-file.c:
191         Don't duplicate the contact UID when modifying a contact.
192
193 2007-05-16  Jules Colding  <colding@omesc.com>
194
195         * backends/vcf/e-book-backend-vcf.c (load_file): Fix file descriptor leak.
196         (save_file): Cleanup. Fix file descriptor leak.
197
198         * tests/vcard/dump-vcard.c (main): Fix file descriptor leak
199
200 2007-05-15  Ross Burton  <ross@openedhand.com>
201
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!
205
206 2007-05-15  Ross Burton  <ross@openedhand.com>
207
208         * libebook/e-book.c:
209         Fix e_book_async_get_contact() which previously deadlocked.
210
211 2007-05-15  Ross Burton  <ross@openedhand.com>
212
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.
220
221 2007-05-15  Ross Burton  <ross@openedhand.com>
222
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.
230
231 2007-05-15  Ross Burton  <ross@openedhand.com>
232
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).
238
239 2007-05-15  Ross Burton  <ross@openedhand.com>
240
241         * libedata-book/e-book-backend-db-cache.c:
242         Fix compile warnings by casting gpointer to char*.
243
244 2007-05-04  Milan Crha  <mcrha@redhat.com>
245
246         ** Fix for bug #274035 from Jonty Wareing
247
248         * libebook/e-contact.c: (photo_getter): added test
249         for "base64" encoding, because it could be in vCard 2.1
250
251 2007-05-14  Srinivasa Ragavan  <sragavan@novell.com>
252
253         ** Fix for bug #431135 from Ã˜ystein GisnÃ¥s
254
255         * libebook/e-book.c: (e_book_is_self): Simple typo with strcmp.
256
257 2007-05-10  Oystein Gisnas  <oystein@gisnas.net>
258
259         * libebook/e-vcard.c: Optimise vCard folding (#433782 and #336574).
260         Contribution also from Milan Crha.
261
262 2007-05-12  Ross Burton  <ross@openedhand.com>
263
264         * libedata-book/e-book-backend.[ch]:
265         Add e_book_backend_sync(), to request that a backend flush any
266         buffers.
267
268         * backends/file/e-book-backend-file.c:
269         Implement the sync method.
270
271         Closes #339160.
272
273 2007-05-11  Loïc Minier  <lool@dooz.org>
274
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)
278
279 2007-05-07  Matthew Barnes  <mbarnes@redhat.com>
280
281         * backends/ldap/e-book-backend-ldap.c:
282         * libebook/e-book.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.
288
289 2007-04-20  Srinivasa Ragavan  <sragavan@novell.com>
290
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.
299
300 2007-04-20  Srinivasa Ragavan  <sragavan@novell.com>
301
302         ** Fix for bug #422883 from Wang Xin
303
304         * backends/ldap/e-book-backend-ldap.c:
305         (e_book_backend_ldap_connect): Fix for build fix with SUN LDAP.
306
307 2007-04-19  Ross Burton  <ross@openedhand.com>
308
309         * backends/file/e-book-backend-file.c:
310         Allow contact creation to fail, and propagate the error back
311         (#424837).
312
313 2007-04-19  Ross Burton  <ross@openedhand.com>
314
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).
318
319 2007-04-10  Ross Burton  <ross@openedhand.com>
320
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)
325
326 2007-04-09  simon.zheng  <simon.zheng@sun.com>
327
328         ** Fix for bug #425512
329
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().
337
338 2007-04-05  Ross Burton  <ross@openedhand.com>
339
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).
343
344 2007-04-05  Ross Burton  <ross@openedhand.com>
345
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).
354
355 2007-04-05  Ross Burton  <ross@openedhand.com>
356
357         * libebook/e-contact.c:
358         Don't go via GObject properties when calling
359         e_contact_get. (#385078).
360
361 2007-04-04  Ross Burton  <ross@openedhand.com>
362
363         * libebook/e-book-listener.c:
364         * libebook/e-destination.c:
365         * libebook/e-book-view-listener.c:
366         * libebook/e-book.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).
377
378 2007-04-03  Ross Burton  <ross@openedhand.com>
379
380         * libebook/e-vcard.c:
381         Use slice allocator, g_list_prepend/reverse and some other
382         micro-optimisations (#425464).
383
384 2007-04-01  Matthew Barnes  <mbarnes@redhat.com>
385
386         ** Various code clean-ups from Kjartan Maraas.
387
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.
399
400         * backends/ldap/e-book-backend-ldap.c:
401         Disable some unused functions.
402
403         * libedata-book/e-book-backend-cache.c
404         (e_book_backend_cache_constructor):
405         Use the global 'parent_class' variable.
406
407         * libedata-book/e-book-backend-cache.c
408         (e_book_backend_cache_set_time):
409         Return a duplicated string.
410
411 2007-03-26  Matthew Barnes  <mbarnes@redhat.com>
412
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.
417
418 2007-03-25  Ross Burton  <ross@openedhand.com>
419
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).
423
424 2007-03-25  Ross Burton  <ross@openedhand.com>
425
426         * libebook/Makefile.am:
427         Don't remove e-name-western-tables.h on clean, and don't install
428         it either. (#421445).
429
430 2007-03-25  Ross Burton  <ross@openedhand.com>
431
432         * backends/file/e-book-backend-file.c:
433         Clean up dispose() and split part of it into finalise() (#421683).
434
435 2007-03-16  Matthew Barnes  <mbarnes@redhat.com>
436
437         ** Fixes part of bug #360240
438
439         * backends/ldap/e-book-backend-ldap.c (e_book_backend_ldap_connect):
440         Remove an unused variable
441
442 2007-02-12  Ross Burton  <ross@openedhand.com>
443
444         * libebook/Makefile.am:
445         Fix distcheck (#400629)
446
447 2006-12-11  Ross Burton  <ross@openedhand.com>
448
449         * libebook/e-contact.c:
450         Remove an unused function that was missing from the previous
451         patch.
452
453 2006-12-11  Ross Burton  <ross@openedhand.com>
454
455         * libebook/e-contact.c:
456         Don't use weak references to clean up the cache (#363445).
457
458 2006-12-01  Srinivasa Ragavan  <sragavan@novell.com>
459
460         * libedata-book/e-book-backend-cache.c:
461         (e_book_backend_cache_get_contacts): Fixed few memory leaks and some
462         optimization.
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:
466
467 2006-11-18  Harish Krishnaswamy  <kharish@novell.com>
468
469         * libebook/Makefile.am:
470         * libebook/e-book-view-private.h:
471         * libebook/e-book-view.c:
472         * libebook/e-book-view.h:
473         * libebook/e-book.c:
474         * libebook/e-book.h:
475         Hide Bonobo from public EBook API. Fix for #348123.
476         Patch submitted by Ross Burton.
477
478 2006-11-06  Claudio Saavedra  <csaavedra@alumnos.utalca.cl>
479
480         * libebook/e-book.c: (e_book_get_self): Fix memory leak (#365000).
481
482 2006-09-29  Devashish Sharma  <sdevashish@novell.com>
483
484         * backends/ldap/e-book-backend-ldap.c :
485         Fix for Bug #352872.
486         
487 2006-09-29  Devashish Sharma  <sdevashish@novell.com>
488
489         * backends/ldap/e-book-backend-ldap.c :
490         Code cleanups and fixes for some crashers in ldap addressbook.
491         
492 2006-09-29  Ross Burton  <ross@openedhand.com>
493
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.
505
506 2006-08-09  Devashish Sharma  <sdevashish@novell.com>
507
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.
511         Patch by j@bitron.ch
512
513 2006-08-07 Wouter Bolsterlee (uws) <uws+gnome@xs4all.nl>
514
515         * libebook/e-contact.c: Fix a build breaker.
516
517 2006-08-07  Ross Burton <ross@burtonini.com>
518
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.
527
528 2006-08-07  Hans Petter Jansson  <hpj@novell.com>
529
530         * addressbook/libebook/e-book.c (fetch_corba_book): Free factory list when
531         we're done with it.
532         * e-book-view-listener.c (e_book_view_listener_dispose): Free the pending
533         events sitting in the async queue.
534
535 2006-08-03  Devashish Sharma  <sdevashish@novell.com>
536
537         * addressbook/libebook/e-book.c:
538         (e_book_new_from_uri) :set relative uri to NULL.
539
540 2006-07-31  Devashish Sharma  <sdevashish@novell.com>
541
542         * backends/file/e-book-backend-file.c :Fix for Bug #347495.
543
544 2006-07-28  Devashish Sharma  <sdevashish@novell.com>
545
546         * libedata-book/e-data-book-view.c :
547         Fix for a crash in addressbook while loading.
548
549 2006-07-28  Devashish Sharma  <sdevashish@novell.com>
550
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.
557         Fixes Bug #337228
558
559 2006-07-25  Harish Krishnaswamy  <kharish@novell.com>
560
561         * libebook/Makefile.am: Distribute e-name-western-tables.h.in
562         and the python script to generate the header.
563         
564 2006-07-24  Devashish Sharma  <sdevashish@novell.com>
565         
566         * libebook/e-contact.[ch] : Added support for Gadu Gadu IM
567         in contact entry.
568
569 2006-07-24  Ross Burton  <ross@openedhand.com>
570
571         * libebook/e-book-query.[ch]:
572         Add e_book_query_vcard_field_exists().
573
574         * libedata-book/e-book-backend-sexp.c:
575         Add vcard_exists symbol.
576
577         Fixes #330255.
578
579 2006-07-24  Ross Burton  <ross@openedhand.com>
580
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).
585
586         * libebook/gen-western-table.py:
587         And have a script to generate packed arrays from it.
588
589         * libebook/e-name-western.c:
590         Update to parse the packed array.
591
592         * libebook/Makefile.am:
593         Generate the file as required.
594
595         This removes many relocations and puts the name data in shared
596         memory (#342145).
597
598 2006-07-24  Ross Burton  <ross@openedhand.com>
599
600         * libebook/e-vcard.[ch]:
601         Add e_vcard_attribute_remove_value and
602         e_vcard_attribute_remove_param_value() (#347899).
603
604 2006-07-18  Ross Burton  <ross@openedhand.com>
605
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).
610         
611 2006-07-18  Ross Burton  <ross@openedhand.com>
612
613         * backends/ldap/e-book-backend-ldap.c:
614         Finish up fixing for new API (#313533).
615
616 2006-07-17  Sushma Rai  <rsushma@novell.com>
617
618         backends/ldap/e-book-backend-ldap.c: Incorporating the EContactPhoto
619         Changes, so that e-d-s build doesn't break. See #313533.
620
621 2006-07-17  Ross Burton  <ross@openedhand.com>
622
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).
626
627 2006-07-17  Ross Burton  <ross@openedhand.com>
628
629         * libebook/e-vcard.[ch]:
630         Add e_vcard_get_param() (#347752)
631
632 2006-07-14  Devashish Sharma  <sdevashish@novell.com>
633
634         * libedata-book/e-book-backend-summary.c : Fixed a crasher in 
635         e_book_backend_summary_load.
636
637 2006-07-14  Devashish Sharma  <sdevashish@novell.com>
638
639         * backends/groupwise/e-book-backend-groupwise.c : Fixed a crasher in
640         groupwise backend.
641
642 2006-07-07  Ross Burton  <ross@openedhand.com>
643
644         * libedatabook/e-data-book-view.[ch]:
645         Add e_data_book_view_notify_update_prefiltered_vcard() to
646         fast-path contacts.
647
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.
651
652         (closes #346670)
653
654 2006-07-05  Ross Burton  <ross@openedhand.com>
655
656         * backends/file/e-book-backend-file.c:
657         Allow builds against system libdb 4.3 or greater to work (#346655).
658
659 2006-07-05  Ross Burton  <ross@openedhand.com>
660
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).
664
665 2006-06-16  Devashish Sharma  <sdevashish@novell.com>
666
667         * libebook/e-contact.c : Added translator comment for
668         TTY.
669         Fixes Bug #342167
670
671 2006-06-16  Tor Lillqvist  <tml@novell.com>
672
673         Make addressbook work on Win32 also with non-ASCII chars in home
674         directory name.
675         
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.
679
680 2006-06-15  Andre Klapper  <a9016009@gmx.de>
681
682         * libebook/e-book.c: 
683         changing "cancelled" to "canceled" in user-visible strings.
684         Fixes bug #342163.
685
686 2006-06-15  Andre Klapper <a9016009@gmx.de>
687
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.
693         Fixes bug #342161.
694
695 2006-06-13  Andre Klapper <a9016009@gmx.de>
696
697         * libebook/e-book.c:
698         changing "couldn't", "can't" and "didn't" to proper
699         English. Fixes bug #342160.
700
701 2006-06-13  Ross Burton  <ross@openedhand.com>
702
703         * libebook/e-vcard.[ch]:
704         Add e_vcard_get_attribute() (#334411)
705
706 2006-06-12  simon.zheng  <simon.zheng@sun.com>
707
708         Fix for #336453
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.
713
714 2006-06-12  Devashish Sharma  <sdevashish@novell.com>
715
716         * addressbook/libebook/e-book.c : Fix for bug #342162.
717
718 2006-06-07  Devashish Sharma  <sdevashish@novell.com>
719
720         * addressbook/backends/groupwise/e-book-backend-groupwise.c :
721         Changed the xml hash based cache mechanism for groupwise addressbook 
722         to a db based cache.
723         * addressbook/libedata-book/e-book-backend-db-cache.[ch]:
724         Addeed APIs for handling db based cache.
725
726 2006-06-07  Ross Burton  <ross@openedhand.com>
727
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
731         work. (#319056).
732
733 2006-05-24  Ross Burton  <ross@burtonini.com>
734
735         * libebook/e-book-view.c:
736         * libebook/e-book.c:
737         * libebook/e-vcard.c:
738         Add more API documentation (#342678)
739
740 2006-05-15  Harish Krishnaswamy  <kharish@novell.com>
741
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
744         compatibility.
745
746 2006-05-12  Devashish Sharma  <sdevashish@novell.com>
747
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.
752         Fixes Bug #334179.
753         Patch given by <ralf-engels@gmx.de> 
754
755 2006-05-04  Ross Burton  <ross@openedhand.com>
756
757         * libedata-book/e-book-backend-sexp.c:
758         Fix memory leak in and optimize the performance of compare_im
759         (#340036).
760
761 2006-04-21  Devashish Sharma  <sdevashish@novell.com>
762
763         Fixes https://bugzilla.novell.com/show_bug.cgi?id=163664:
764
765         * libebook/e-vcard.c (parse): Turn the incoming vcard string into
766         valid UTF-8.
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>
770         
771 2006-04-18  Ross Burton  <ross@openedhand.com>
772
773         * libebook/e-address-western.c:
774         Protect against possible NULL dereference (#338880).
775
776 2006-04-06  Devashish Sharma <sdevashish@novell.com>
777
778         * backends/groupwise/e-book-backend-groupwise.c : Made the function
779         update_address_book_deltas thread safe.
780         Fixes the Bug#336687.
781
782 2006-03-21  Devashish Sharma <sdevashish@novell.com>
783
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.
788
789         * libedata-book/e-data-book.c : Ref the backend before for future use.
790
791 2006-01-16  Ross Burton  <ross@openedhand.com>
792
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().
796
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.
800
801 2006-01-16  Sushma Rai  <rsushma@novell.com>
802
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.
816         Fixes #214977.
817
818 2006-01-12  Harish Krishnaswamy  <kharish@novell.com>
819
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.
823         Fixes #323115.
824
825 2006-01-10  Ross Burton  <ross@openedhand.com>
826
827         * libebook/e-book-query.c
828         * libebook/e-vcard.c:
829         Fix GList leaks (#320065).
830
831 2006-01-10  Simon Zheng  <simon.zheng@sun.com>
832
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".
842         
843 2006-01-09  Ross Burton  <ross@openedhand.com>
844
845         * libebook/e-book.c:
846         * libebook/e-book-view.c:
847         * libebook/e-book-view.h:
848         Add e_book_view_get_book().
849
850 2006-01-02  Srinivasa Ragavan  <sragavan@novell.com>
851
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
856         list as ignored.
857         * libebook/e-destination.h:
858
859 2005-12-16  Veerapuram Varadhan <vvaradhan@novell.com>
860
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.
864         ** Fixes #317411
865         
866 2005-12-09  Tor Lillqvist  <tml@novell.com>
867
868         * libedata-book/e-book-backend-summary.c: Use gstdio wrappers.
869         (is_helper): Use e_util_utf8_strcasecmp() instead of strcasecmp().
870
871         * libedata-book/e-book-backend-sexp.c (is_helper): Use
872         e_util_utf8_strcasecmp() instead of strcasecmp().
873
874 2005-12-08  Tor Lillqvist  <tml@novell.com>
875
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
878         this purpose...
879
880         * libebook/e-name-western-tables.h: Add correct spellings of
881         "fräulein" and "señor*" correctly. Add "doktor". Add "af".
882
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.)
887
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.
891
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
894         file://.
895
896 2005-11-30  Harish Krishnaswamy  <kharish@novell.com>
897
898         * backends/ldap/e-book-backend-ldap.c: (poll_ldap):
899         Allow environment override of the LDAP result timeout.
900
901 2005-11-29  Sushma Rai  <rsushma@novell.com>
902
903         * backends/ldap/e-book-backend-ldap.c: Added support for environment
904         variable LDAP_DEBUG and printing log messages if it is set. 
905
906 2005-11-25  Tor Lillqvist  <tml@novell.com>
907
908         * libebook/e-contact.c: Include e-util.h and redefine
909         EVOLUTION_LOCALEDIR as e_util_get_localedir() on Windows.
910
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().
928
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.
932
933         * backends/ldap/Makefile.am: Link with more libraries to avoid
934         unresolved externals on Windows. Distribute openldap-extract.h.
935
936 2005-10-26  Ross Burton  <ross@burtonini.com>
937
938         * libebook/e-destination.c:
939         Add casts to stop newer gcc moaning about libxml (#319612).
940
941 2005-10-20  Sushma Rai  <rsushma@novell.com>
942
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 
947         LDAP url.
948         (e_book_backend_ldap_build_query): Using the search filter set in LDAP
949         url.
950         (e_book_backend_ldap_dispose): free ldap search filter.
951         Fixes #311884.
952
953 2005-10-14  Ross Burton  <ross@burtonini.com>
954
955         * libedata-book/e-book-backend-summary.c:
956         Fix writing race to avoid recalculating the index (#316955).
957
958 2005-10-14  Ross Burton  <ross@burtonini.com>
959
960         * libebook/e-destination.c:
961         Fix typo when writing escaped names.
962
963 2005-10-04  Sushma Rai  <rsushma@novell.com>
964
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.
967         Fixes #314846.
968
969 2005-09-27  Tor Lillqvist  <tml@novell.com>
970
971         * libebook/e-contact.c (e_contact_date_from_string): Use strchr()
972         instead of index().
973
974 2005-09-19  Jürg Billeter  <j@bitron.ch>
975
976         * libebook/e-contact.c: (e_contact_date_from_string):
977         Don't discard date part in date-time value.
978         Fixes #316337.
979
980 2005-09-15  Tor Lillqvist  <tml@novell.com>
981
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.)
990
991         * backends/groupwise/e-book-backend-groupwise.c: Use
992         g_get_current_time() instead of gettimeofday() for portability.
993
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.
998
999         * libebook/e-book.c (e_book_new_system_addressbook): Use
1000         g_filename_to_uri() instead of simple prefixing "file://".
1001
1002 2005-08-22  Not Zed  <NotZed@Ximian.com>
1003
1004         * backends/groupwise/e-book-backend-groupwise.c
1005         (e_book_backend_groupwise_get_contact_list): initialise contacts
1006         to NULL.
1007
1008         * libebook/e-book-listener.c
1009         (impl_BookListener_report_auth_required): fix the type of this
1010         function to match the idl.
1011
1012 2005-08-18  Ross Burton  <ross@burtonini.com>
1013
1014         * libedata-book/e-book-backend.c:
1015         Unref the ESource on dispose.
1016
1017 2005-08-16  Ross Burton  <ross@burtonini.com>
1018
1019         * libedata-book/e-book-backend-summary.c:
1020         Mark the summary clean when saved.
1021
1022 2005-08-16  Ross Burton  <ross@burtonini.com>
1023
1024         * libebook/e-contact.c:
1025         Fix a leak when returning boxed types.
1026
1027 2005-08-13  Sushma Rai  <rsushma@novell.com>
1028
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.
1032
1033 2005-08-13  Sushma Rai  <rsushma@novell.com>
1034
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.
1038         Fixes #312988.
1039
1040 2005-08-13  Sushma Rai  <rsushma@novell.com>
1041
1042         * libedata-book/e-book-backend-cache.c 
1043         (e_book_backend_cache_get_contacts): Fixed memory leak.
1044
1045 2005-08-10  Ross Burton  <ross@burtonini.com>
1046
1047         * libebook/e-vcard.c: Removed the assignment of g_string_append() 
1048         return value to a variable, which is not used anywhere.
1049         Fixes #313091 
1050
1051 2005-08-05  Sushma Rai  <rsushma@novell.com>
1052         
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".
1056
1057 2005-08-05  Sushma Rai  <rsushma@novell.com>
1058
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.
1067
1068 2005-08-02  Sushma Rai  <rsushma@novell.com>
1069
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.
1077
1078 2005-07-26  Sushma Rai  <rsushma@novell.com>
1079
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.
1083
1084 2005-07-26  Sushma Rai  <rsushma@novell.com>
1085
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
1102         with cache. 
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 
1109         server.
1110         (e_book_backend_groupwise_authenticate_user): Initialize and load the 
1111         summary file.
1112         (e_book_backend_groupwise_load_source): Forming the summary file name.
1113         (e_book_backend_groupwise_dispose): Flush summary to disk and destroy
1114         summary.
1115         Fixes #303111.
1116
1117 2005-07-25  Sushma Rai  <rsushma@novell.com>
1118
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. 
1122
1123 2005-07-25  Sushma Rai  <rsushma@novell.com>
1124
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
1128
1129 2005-07-25  Sushma Rai  <rsushma@novell.com>
1130
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. 
1139
1140 2005-07-25  Sushma Rai  <rsushma@novell.com>
1141
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 
1145         debug messages.
1146
1147 2005-07-23  Sushma Rai  <rsushma@novell.com>
1148
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.
1152
1153 2005-07-23  Sushma Rai  <rsushma@novell.com>
1154
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.
1163
1164 2005-07-23  Sushma Rai  <rsushma@novell.com>
1165
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.
1170
1171 2005-07-13  Sushma Rai  <rsushma@novell.com>
1172
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.
1177
1178         * addressbook/backends/ldap/e-book-backend-ldap.c 
1179         (generate_cache_handler): Similar. 
1180
1181 2005-07-09  Sushma Rai  <rsushma@novell.com>
1182
1183         * libebook/e-vcard.h: Defined EVC_X_BOOK_URI.
1184
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.
1187
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
1192         autocompletion.
1193         (e_book_backend_groupwise_get_contact): Setting the view as 
1194         "name email default members".
1195
1196 2005-07-06  Kjartan Maraas  <kmaraas@gnome.org>
1197
1198         * backends/file/e-book-backend-file.c:
1199         (e_book_backend_file_load_source): Free filename and dirname
1200         in the error cases.
1201
1202 2005-07-06  Ross Burton  <ross@burtonini.com>
1203
1204         * libebook/e-book-listener.c:
1205         Free the private data.
1206
1207 2005-07-06  Sushma Rai  <rsushma@novell.com>
1208
1209         * libedata-book/e-book-backend-cache.c 
1210         (e_book_backend_cache_is_populated): Returning FALSE on error.
1211
1212 2005-07-06  Sushma Rai  <rsushma@novell.com>
1213
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.
1217
1218 2005-07-05  Sushma Rai  <rsushma@novell.com>
1219
1220         * libebook/e-contact.[ch]: Using gconstpointer instead of 
1221         const gpointer for return value of e_contact_get_const(). Fixes #309175.
1222
1223 2005-07-04  Sushma Rai  <rsushma@novell.com>
1224
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. 
1229         Fixes #242165.
1230
1231 2005-07-01  Sushma Rai  <rsushma@novell.com>
1232
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.
1235
1236 2005-06-25  Sushma Rai  <rsushma@novell.com>
1237
1238         * libebook/e-contact.c (e_contact_set_property): Setting TYPE=OTHER
1239         default parameter to email attribute. Fixes #240756
1240
1241 2005-06-22  Tor Lillqvist  <tml@novell.com>
1242
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
1247         Windows).
1248         
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.
1254
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().
1258         
1259         * libebook/Makefile.am
1260         * libedata-book/Makefile.am: Use NO_UNDEFINED.
1261
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().
1265
1266         * libebook/e-book.c: Use GThread API instead of pthreads to start
1267         the mainloop thread.
1268
1269         * libedata-book/e-book-backend-summary.c: Drop inclusion of
1270         <netinet/in.h>. Use g_ntoh*() and g_hton*().
1271
1272 2005-06-16  Sushma Rai  <rsushma@novell.com>
1273
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 
1285         warnings.
1286         (e_book_backend_ldap_search): Similar.
1287         (e_book_backend_ldap_set_mode): Similar.
1288         (query_ldap_root_dse): Similar.
1289
1290 2005-06-10  Sushma Rai  <rsushma@novell.com>
1291
1292         * backends/groupwise/e-book-backend-groupwise.c:
1293         (add_sequence_to_cache): Adds the sequence information to the system
1294         address book cache. 
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. 
1306
1307 2005-06-10  Sushma Rai  <rsushma@novell.com>
1308
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.
1315
1316 2005-06-08  Srinivasa Ragavan <sragavan@novell.com>
1317
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
1323         at server.
1324         (e_book_backend_groupwise_authenticate_user): Calling 
1325         update_address_book_deltas().
1326         
1327 2005-05-24  Chenthill Palanisamy  <pchenthill@novell.com>
1328
1329         Commiting for Daniel van Eeden <daniel_e@dds.nl>
1330         * libebook/e-contact.c: fixes naming consistency for
1331         GroupWise. 
1332         Fixes bug #271901
1333
1334 2005-05-20  Ross Burton  <ross@burtonini.com>
1335
1336         * backends/file/e-book-backend-file.c:
1337                 Fix a large memory leak (the cursor was not being freed).
1338
1339 2005-05-14  Hans Petter Jansson  <hpj@novell.com>
1340
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.
1350
1351 2005-05-11  Sushma Rai  <rsushma@novell.com>
1352
1353         * libedata-book/e-book-backend-sexp.c (compare_name): Considering 
1354         nickname also in full name query. Fixes #255756
1355
1356 2005-05-09  Sushma Rai  <rsushma@novell.com>
1357
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 
1363         time for a contact.
1364
1365 2005-05-09  Sushma Rai  <rsushma@novell.com>
1366
1367         * backends/groupwise/e-book-backend-groupwise.c: Added E_CONTACT_REV
1368         field.
1369
1370 2005-05-09  Sushma Rai  <rsushma@novell.com>
1371
1372         * libedata-book/e-book-backend-cache.c
1373         (e_book_backend_cache_constructor): Freeing cache file name.
1374
1375 2005-05-06  Sushma Rai  <rsushma@novell.com>
1376
1377         * libebook/e-vcard.c (e_vcard_attribute_add_param): Handling encoding
1378         type BASE64.
1379
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.
1382         Fixes #268271
1383
1384 2005-05-06  Sushma Rai  <rsushma@novell.com>
1385
1386         * libedata-book/e-book-backend-cache.c
1387         (e_book_backend_cache_get_contacts): Freeing the list of cache objects
1388         and sexp.
1389         (e_book_backend_cache_search): Freeing list of contacts matching the
1390         query.
1391
1392 2005-05-04  Hans Petter Jansson  <hpj@novell.com>
1393
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.
1404
1405 2005-04-27  Sushma Rai  <rsushma@novell.com>
1406
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.
1417         Fixes #273716
1418
1419 2005-04-27  Ross Burton  <ross@burtonini.com>
1420
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.
1427
1428 2005-04-26  Ross Burton  <ross@burtonini.com>
1429
1430         * addressbook/libedata-book/e-data-book-factory.c:
1431         Don't leak a BookListener.
1432
1433         * addressbook/backends/file/e-book-backend-file.c:
1434         Don't leak a sexp.
1435
1436 2005-04-11  Harish Krishnaswamy  <kharish@novell.com>
1437
1438         * libebook/Makefile.am, libedata-book/Makefile.am:
1439         use API_VERSION 
1440
1441 2005-03-15  JP Rosevear  <jpr@novell.com>
1442         
1443         Fixes #68533 (hackily)
1444         
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
1449
1450         * libedata-book/e-book-backend.h: new proto
1451
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
1455
1456 2005-03-09  Not Zed  <NotZed@Ximian.com>
1457
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.
1462
1463 2005-03-07  Sivaiah Nallagatla <snallagatla@novell.com>
1464
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. 
1469
1470         Fixes #73021 
1471
1472 2005-03-02  JP Rosevear  <jpr@novell.com>
1473
1474         Fixes #73226
1475         
1476         * libebook/e-destination.c (e_destination_list_get_dests): get a
1477         list of destination addresses
1478
1479         * libebook/e-destination.h: add proto
1480
1481 2005-03-01  Not Zed  <NotZed@Ximian.com>
1482
1483         ** See bug #72878
1484
1485         * libebook/e-destination.c (e_destination_copy): copy the raw
1486         address.
1487
1488 2005-02-28  Sivaiah Nallagatla  <snallagatla@novell.com>
1489
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.
1495         
1496 2005-02-25  Sivaiah Nallagatla  <snallagatla@novell.com>
1497
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
1503
1504 2005-02-24  Harish Krishnaswamy  <kharish@novell.com>
1505
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.
1509
1510 2005-02-22 Sivaiah Nallagatla <snallagatla@novell.com>
1511
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
1520         one 
1521         Fixes #72806
1522         
1523 2005-02-19 Sivaiah Nallagatla <snallagatla@novell.com>
1524
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
1528         has group name.
1529
1530         Fixes #70908 
1531
1532 2005-02-17  Chenthill Palanisamy  <pchenthill@novell.com>
1533
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.
1540
1541 2005-02-14 Sivaiah Nallagatla <snallagatla@novell.com>
1542
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
1553
1554        Fixes an issue related to data loss in 1.4 -> 2.0
1555        migration
1556
1557 2005-02-10  Sivaiah Nallagatla <snallagatla@novell.com>
1558
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
1562
1563        Fixes #67541
1564
1565 2005-02-06 Sivaiah Nallagatla <snallagatla@novell.com>
1566
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 
1570
1571 2005-02-06 Sivaiah Nallagatla <snallagatla@novell.com>
1572
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
1577
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
1581
1582         Fixes #1069
1583
1584 2005-02-04  Ross Burton  <ross@burtonini.com>
1585
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.
1603
1604 2005-02-04  Vivek Jain  <jvivek@novell.com>
1605
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      
1618
1619 2005-02-02  Ross Burton  <ross@burtonini.com>
1620
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:
1628         Use glib/gi18n.h.
1629
1630 2005-01-31  Hans Petter Jansson  <hpj@novell.com>
1631
1632         * backends/vcf/Makefile.am:
1633         * backends/ldap/Makefile.am:
1634         * backends/groupwise/Makefile.am:
1635         * backends/file/Makefile.am:
1636         Build as modules.
1637
1638 2005-01-30  Sivaiah Nallagatla <snallagtla@novell.com>
1639
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
1644        break out of loop
1645        Fixes #70918
1646
1647 2005-01-31 Sivaiah Nallagatla  <snallagatla@novell.com>
1648
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 
1653
1654         
1655 2005-01-29  Sivaiah Nallagatla <snallagatla@novell.com>
1656
1657         * backends/groupwise/e-book-backend-groupwise.c 
1658         (e_book_backend_groupwise_load_source) : Change the default 
1659         port to 7191 
1660
1661 2005-01-28  Sivaiah Nallagatla <snallagatla@novell.com>
1662
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
1668         
1669         Fixes #67267
1670         
1671 2005-01-28  Sivaiah Nallagatla <snallagatla@novell.com>
1672                                                                                                                              
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
1676                                                                                                                              
1677         Fixes #71827
1678
1679 2005-01-28  Sivaiah Nallagatla <snallagatla@novell.com>
1680
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
1686         
1687 2005-01-27  Christophe Fergeau  <teuf@gnome.org>
1688
1689         * libebook/e-contact.c (e_contact_pretty_name):
1690         Replace the textdomain call with bind_textdomain_codeset
1691
1692         Fixes #71116
1693
1694 2005-01-24  Hans Petter Jansson  <hpj@novell.com>
1695
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.
1698
1699 2005-01-23  Sivaiah Nallagatla <snallagatla@novell.com> 
1700
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
1704
1705 2005-01-17  Sivaiah Nallagatla <snallagatla@novell.com> 
1706
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  
1711
1712 2005-01-13  Sivaiah Nallagatla <snallagatla@novell.com>
1713
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
1717         
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 
1723          
1724 2005-01-10  Hans Petter Jansson  <hpj@novell.com>
1725
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.
1739
1740 2005-01-10  Hans Petter Jansson  <hpj@novell.com>
1741
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
1753         contact too.
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
1758         case.
1759         (contact_list_handler): Robustness.
1760         (e_book_backend_ldap_get_contact_list): Robustness, and implement
1761         offline case.
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
1770         case.
1771         (ldap_cancel_op): Robustness.
1772         (e_book_backend_ldap_load_source): Implement offline case. Cache when
1773         online.
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
1778         mode changes.
1779         (call_dtor): Robustness.
1780
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
1784         warnings.
1785
1786 2004-12-24  Sivaiah Nallagatla <snallagatla@novell.com>
1787
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 
1793         
1794 2004-12-22  Sivaiah Nallagatla <snallagatla@novell.com>
1795
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 
1806
1807 2004-12-22 Sivaiah Nallagatla <snallagatla@novell.com>
1808
1809         Part of merge from e-d-s offline branch
1810         
1811         * idl/Evolution-DataServer-Addressbook.idl : added notifyAuthRequired
1812         api for backends to request password from clients . Added 
1813         OfflineUnavailable error code
1814
1815         * libedata-book/e-data-book.[ch] : added new method
1816         e_data_book_report_auth_required
1817         
1818         * libedata-book/e-book-backend.[ch] : added new method 
1819         e_book_backend_notify_auth_required
1820
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
1827
1828         * backends/groupwise/e-book-backend-groupwise.c :
1829         (build_summary) (update_summary) : removed.
1830         (build_cache) (update_cache) : use these instead 
1831         
1832         * libebook/e-boo-listener.[ch] : new method  
1833          impl_BookListener_report_auth_required;
1834         (e_book_listener_convert_status) : added OfflineUnavailable error handling
1835         
1836         * libebook/e-book-types.h : added error code E_BOOK_ERROR_OFFLINE_UNAVAILABLE
1837
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 
1842         on EBook clients 
1843  
1844 2004-12-22  Sivaiah Nallagatla <snallagatla@novell.com>
1845
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 
1849  
1850 2004-12-22  Sivaiah Nallagatla <snalalgatla@novell.com>
1851
1852         Part of merge from e-d-s offline branch
1853         
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 
1876
1877 2004-12-22  Sivaiah Nallagatla <snallagatla@novell.com>
1878
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
1888   
1889 2004-12-22  Sivaiah Nallagatla <snallagatla@novell.com>
1890
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 
1901
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 
1905         EbookListener
1906
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
1913         
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  
1917
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
1921         
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 
1930         
1931
1932 2004-12-22  Sivaiah Nallagatla <snallagatla@novell.com>
1933
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 
1938
1939
1940 2004-12-22  Sivaiah Nallagatla <snallagatla@novell.com>
1941         
1942         Part of merge from e-d-s offline branch
1943         
1944         * libedata-book/Makefile.am : added e-book-backend-cache.c to 
1945         SOURCES and e-book-backend-cache.h to HEADERS sections
1946         
1947 2004-12-22  Sivaiah Nallagatla <snallagatla@novell.com>
1948
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.
1953         
1954 2004-12-20  Hans Petter Jansson  <hpj@novell.com>
1955
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
1958         previously.
1959
1960 2004-12-19 Sivaiah Nallagatla    <snallagatla@novell.com>
1961
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.
1966
1967         Fixes #68454    
1968
1969 2004-12-11  Hans Petter Jansson  <hpj@novell.com>
1970
1971         * libebook/e-destination.h: Add "changed" signal.
1972
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
1978         being set.
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.
1987
1988 2004-12-09  Hans Petter Jansson  <hpj@novell.com>
1989
1990         * libebook/e-destination.c: Remove antiquated comments.
1991
1992 2004-12-08  Hans Petter Jansson  <hpj@novell.com>
1993
1994         * libebook/Makefile.am: Build e-destination.c, install e-destination.h.
1995         Link with Camel.
1996
1997         * libebook/e-contact.h: Include E_CONTACT_FIELD_FIRST in the field
1998         enum (currently, the fields are numbered starting at 1).
1999
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 ().
2004
2005 2004-12-08  Rodney Dawes <dobey@novell.com>
2006
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
2010         public API
2011
2012 2004-12-05  Sivaiah Nallagatla <snallagatla@novell.com>
2013
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 
2018
2019 2004-11-28  Sivaiah Nallagatla <snallagatla@novell.com>
2020
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
2030
2031         * libebook/e-book-listener.[ch]
2032         Added GetRequiredFieldsResponse to book listener
2033         operations
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
2038
2039         * idl/Evolution-DataServer-Addressbook.idl : added getRequiredFields
2040         and notifyRequiredFields to book and book listener interfaces
2041
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 
2045         fields handling 
2046         (e_data_book_class_init) : init notifyRequiredFields
2047         with corresponding implementation method
2048
2049         * libedatabook/e-book-backend.[ch] : 
2050         (e_book_backend_get_required_fields) : new methods 
2051         for required fields handling.
2052         
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
2057         method 
2058
2059         * backends/file/e-book-backend-file.c :
2060         (e_book_backend_file_get_required_fields) : get_required_fields
2061         implementation
2062         (e_book_backend_file_class_init) : init get_requires_method
2063
2064         * backends/vcf/e-book-backend-vcf.c :
2065         (e_book_backend_vcf_get_required_fields)
2066         (e_book_backend_vcf_class_init) :ditto
2067
2068         * backends/ldap/e-book-backend-ldap.c :
2069         (e_book_backend_ldap_get_required_fields)
2070         (e_book_backend_ldap_class_init) : ditto
2071
2072         * backends/groupwise/e-book-backend-groupwise.c :
2073         (e_book_backend_groupwise_get_required_fields)
2074         (e_book_backend_groupwise_class_init) :ditto
2075         
2076
2077         
2078 2004-10-30  Sivaiah Nallagatla <snallagatla@novell.com>
2079
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 
2084
2085 2004-10-29  Diego Gonzalez <diego@pemas.net>
2086
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.
2089
2090 2004-10-29  Diego Gonzalez <diego@pemas.net>
2091
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.
2097
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.
2101
2102 2004-10-26  Sivaiah Nallagatla <snallagatla@novell.com>
2103
2104         * libedata-book/e-book-backend-sexp.c : Remove E_CONTACT_UID 
2105         from the list of feilds we search in. 
2106         Fixes #42165 
2107
2108 2004-10-25  JP Rosevear  <jpr@novell.com>
2109
2110         From Anders Carlsson <andersca@gnome.org>
2111         
2112         * libedata-book/e-book-backend-factory.c
2113         (e_book_backend_factory_get_type): allocate the right size for the
2114         class
2115
2116 2004-10-24  Nat Friedman  <nat@novell.com>
2117
2118         * libedata-book/e-book-backend-sexp.c (compare_im_groupwise): Make
2119         GroupWise IM names searchable.
2120
2121 2004-10-14  Rodney Dawes  <dobey@novell.com>
2122
2123         * backends/*/Makefile.am: Add -avoid-version to LDFLAGS for all
2124         of the backends
2125         
2126 2004-10-13 Sivaiah Nallagatla <snallagatla@novell.com>
2127
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 
2134         for #64298 
2135
2136 2004-10-04  Chris Toshok  <toshok@ximian.com>
2137
2138         * backends/groupwise/e-book-backend-groupwise-factory.c: use the new
2139         E_BOOK_BACKEND_FACTORY_SIMPLE macro.
2140
2141         * backends/groupwise/e-book-backend-groupwise-factory.h: nuke
2142         
2143         * backends/groupwise/Makegroupwise.am (libebookbackendgroupwise_la_SOURCES):
2144         remove e-book-backend-groupwise-factory.h.
2145
2146         * backends/ldap/e-book-backend-ldap-factory.c: use the new
2147         E_BOOK_BACKEND_FACTORY_SIMPLE macro.
2148
2149         * backends/ldap/e-book-backend-ldap-factory.h: nuke
2150         
2151         * backends/ldap/Makeldap.am (libebookbackendldap_la_SOURCES):
2152         remove e-book-backend-ldap-factory.h.
2153         
2154         * backends/vcf/e-book-backend-vcf-factory.c: use the new
2155         E_BOOK_BACKEND_FACTORY_SIMPLE macro.
2156
2157         * backends/vcf/e-book-backend-vcf-factory.h: nuke
2158         
2159         * backends/vcf/Makevcf.am (libebookbackendvcf_la_SOURCES):
2160         remove e-book-backend-vcf-factory.h.
2161
2162         
2163         * backends/file/e-book-backend-file-factory.c: use the new
2164         E_BOOK_BACKEND_FACTORY_SIMPLE macro.
2165
2166         * backends/file/e-book-backend-file-factory.h: nuke
2167         
2168         * backends/file/Makefile.am (libebookbackendfile_la_SOURCES):
2169         remove e-book-backend-file-factory.h.
2170
2171         * libedata-book/e-book-backend-factory.h: add a macro for all the
2172         factory boilerplate.
2173
2174 2004-10-04  Sivaiah Nallagatla <snallagatla@novell.com>
2175
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 
2185  
2186
2187
2188 2004-09-30  Hans Petter Jansson  <hpj@ximian.com>
2189
2190         Fixes bug #66368.
2191
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.
2194
2195 2004-09-30  Chris Toshok  <toshok@ximian.com>
2196
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
2202         register them.
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.
2207
2208         * libedata-book/e-book-backend.h: remove typedef for
2209         EBookBackendFactoryFn.
2210
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.)
2214
2215         * libedata-book/e-book-backend-factory.[ch]: new file, superclass
2216         for all dynamically loaded addressbook factories.
2217
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
2221
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.
2225
2226         * backends/file/e-book-backend-file-factory.[ch]: new files,
2227         subclass EBookBackendFactory.
2228
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].
2233
2234         * backends/groupwise/e-book-backend-groupwise-factory.[ch]: new
2235         files, subclass EBookBackendFactory.
2236         
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].
2241
2242         * backends/ldap/e-book-backend-ldap-factory.[ch]: new files,
2243         subclass EBookBackendFactory.
2244         
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].
2249
2250         * backends/vcf/e-book-backend-vcf-factory.[ch]: new files,
2251         subclass EBookBackendFactory.
2252         
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].
2257         
2258 2004-09-23  Diego Gonzalez  <diego@pemas.net>
2259
2260         Fixes #66574.
2261
2262         * libebook/e-book.c (e_book_get_self): open the book before
2263         getting the contact.
2264
2265 2004-09-23  JP Rosevear  <jpr@novell.com>
2266
2267         * libebook/Makefile.am: build a versioned lib, don't hard
2268         code the pkgconfig version
2269
2270         * libedata-book/Makefile.am: ditto
2271         
2272         * backends/file/Makefile.am: link against the correct library
2273         version
2274         
2275         * backends/groupwise/Makefile.am: ditto
2276
2277         * backends/vcf/Makefile.am: ditto
2278
2279         * backends/ldap/Makefile.am: ditto
2280
2281         * tests/vcard/Makefile.am: ditto
2282
2283         * tests/ebook/Makefile.am: ditto
2284         
2285 2004-09-22  William Jon McCann  <mccann@jhu.edu>
2286
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.
2290
2291 2004-09-16 Sivaiah Nallagatla  <snallagatla@novell.com>
2292
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. 
2297
2298 2004-09-13  Hans Petter Jansson  <hpj@ximian.com>
2299
2300         * backends/ldap/e-book-backend-ldap.c: Revert the LDAP attribute names
2301         changed by Sivaiah's last commit.
2302
2303 2004-09-09  Hans Petter Jansson  <hpj@ximian.com>
2304
2305         Fixes #63385.
2306
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.
2312
2313 2004-09-06  Sivaiah Nallagatla <snallagatla@novell.com>
2314         
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
2322
2323         Fixes some of the issues mentioned in #59582    
2324         
2325 2004-08-26  Sivaiah Nallagatla <snallagatla@novell.com>
2326
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
2330         Fixes #63844
2331
2332         
2333 2004-08-25  Frederic Crozat  <fcrozat@mandrakesoft.com>
2334
2335         * tests/ebook/test-photo.c:
2336         Add missing prototype.
2337
2338 2004-08-23  Sivaiah Nallagatla <snallagatla@novell.com>
2339
2340         * backends/groupwise/e-book-backend-groupwise.c 
2341         (e_book_backend_groupwise_get_contact_list)
2342         (book_view_thread)
2343         (set_members_in_gw_item) : add "members" view 
2344         while getting items explicitly to take care of change in server 
2345         behaviour 
2346         (e_book_backnd_groupwise_start_book_view) : make the thread 
2347         non-joinable 
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   
2350         
2351 2004-08-20  Chris Toshok  <toshok@ximian.com>
2352
2353         * backends/ldap/e-book-backend-ldap.c
2354         (e_book_backend_ldap_dispose): free bl->priv->schema_dn.
2355
2356 2004-08-20  Sivaiah Nallagatla <snallagatla@novell.com>
2357
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
2360         see #63225 
2361
2362 2004-08-19  Chris Toshok  <toshok@ximian.com>
2363
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
2367         to db->open.
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.
2375         
2376 2004-08-17  Sivaiah Nallagatla <snallagatla@novell.com>
2377         
2378         * backends/groupwise/e-book-backend-groupwise.c (func_begins_with):
2379         do a OR operation insted of assinging BEGINS_WITH_FILE_AS
2380
2381 2004-08-17  Sivaiah Nallagatla <snallagatla@novell.com>
2382         
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 
2390         method
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 
2394         
2395 2004-08-16  Chris Toshok  <toshok@ximian.com>
2396
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
2411         the hashtable.
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
2416         _new_full here.
2417         (e_book_backend_vcf_dispose): destroy the list and free the hash
2418         keys.
2419
2420 2004-08-13  Sivaiah Nallagatla <snallagatla@novell.com>
2421
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
2426         #62597 
2427         
2428 2004-08-12  Sivaiah Nallagatla <snallagatla@novell.com>
2429
2430         * backends/ldap/e-book-backend-ldap.c
2431         (e_book_backend_ldap_get_static_capabilities) : add "anon-access"
2432         static capability
2433
2434 2004-08-09  Chris Toshok  <toshok@ximian.com>
2435
2436         * tests/vcard/README (Test): add note about 11.vcf.
2437
2438 2004-08-03  Chris Toshok  <toshok@ximian.com>
2439
2440         [ fixes #61719 ]
2441         * libebook/e-vcard.c (read_attribute_params): fix the one
2442         remaining g_assert_not_reached case.
2443
2444 2004-08-03  Chris Toshok  <toshok@ximian.com>
2445
2446         * tests/vcard/Makefile.am (EXTRA_DIST): add 11.vcf.
2447
2448         * tests/vcard/11.vcf: new test, for missing attribute parameters.
2449
2450 2004-07-23  Sivaiah Nallagatla <snallagatla@novell.com>
2451
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
2459
2460 2004-07-19  Hans Petter Jansson  <hpj@ximian.com>
2461
2462         Really fixes #61052, #61466, #61160. Tested.
2463
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.
2474         (do_open): Ditto.
2475         (do_remove): Ditto.
2476         (emit_async_add_contact_response): Widen the scope of the
2477         book's lock.
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,
2486         widen scope.
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.
2496
2497 2004-07-19  Sivaiah Nallagatla <snallagatla@novell.com> 
2498         
2499         * libedata-book/e-book-backend-sexp.c (compare_address) : provided
2500         implementation, search in all fileds of all types of addresses 
2501         till a match occurs
2502         Fixes #58701
2503   
2504 2004-07-16  Chris Toshok  <toshok@ximian.com>
2505
2506         [ fixes #61052 ]
2507         
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.
2530         
2531 2004-07-14  Chris Toshok  <toshok@ximian.com>
2532
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
2541         one registered.
2542
2543 2004-07-13  Chris Toshok  <toshok@ximian.com>
2544
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.
2550
2551 2004-07-13  Chris Toshok  <toshok@ximian.com>
2552
2553         [ fixes #58639 ]
2554         
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.
2558
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.
2563         
2564 2004-07-09  Chris Toshok  <toshok@ximian.com>
2565
2566         [ part of fix for #56520 ]
2567         
2568         * backends/groupwise/e-book-backend-groupwise.c
2569         (e_book_backend_groupwise_get_static_capabilities): add
2570         "contact-lists".
2571
2572         * backends/vcf/e-book-backend-vcf.c
2573         (e_book_backend_vcf_get_static_capabilities): add "contact-lists".
2574
2575         * backends/file/e-book-backend-file.c
2576         (e_book_backend_file_get_static_capabilities): add
2577         "contact-lists".
2578
2579 2004-07-03  Sivaiah Nallagatla <snallagatla@novell.com>
2580
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  
2588          
2589 2004-06-26  Chris Toshok  <toshok@ximian.com>
2590
2591         * backends/ldap/e-book-backend-ldap.c (get_ldap_library_info): use
2592         ldap_unbind_ext_s.
2593         (e_book_backend_ldap_connect): same.
2594         (e_book_backend_ldap_dispose): unbind our LDAP* when we're shut
2595         down.
2596
2597         * libedata-book/e-data-book-view.h: add prototype for
2598         e_data_book_view_set_thresholds.
2599
2600 2004-06-24  Hans Petter Jansson  <hpj@ximian.com>
2601
2602         See bug #51127.
2603
2604         * backends/vcf/e-book-backend-vcf.c (e_book_backend_vcf_load_source):
2605         Don't add a default vcard to new books.
2606
2607         * backends/file/e-book-backend-file.c
2608         (e_book_backend_file_load_source): Don't add default vcard to new
2609         books.
2610
2611 2004-06-23  Chris Toshok  <toshok@ximian.com>
2612
2613         * libebook/e-book.c (e_book_response_add_contact): ref in the
2614         assignment.
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
2618         returning.
2619         (e_book_response_get_contact): ref the book in the assignment.
2620         (emit_async_get_book_view_response): unref the book before
2621         returning.
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
2625         returning.
2626         (e_book_response_get_changes): ref the book in the assignment.
2627         (emit_async_generic_response): we ref before registering the idle
2628         handler.
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.
2633
2634 2004-06-23  Hans Petter Jansson  <hpj@ximan.com>
2635
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.
2639
2640 2004-06-22  Chris Toshok  <toshok@ximian.com>
2641
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
2647         backends.
2648
2649         * libedata-book/e-data-book-view.h: add prototype for
2650         e_data_book_view_set_thresholds.
2651
2652 2004-06-21  Chris Toshok  <toshok@ximian.com>
2653
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.
2657
2658 2004-06-21  Chris Toshok  <toshok@ximian.com>
2659
2660         * libebook/e-contact.c (e_contact_get_const): reorder some stuff
2661         so we only generate 1 free per string on object destruction.
2662
2663 2004-06-21  Chris Toshok  <toshok@ximian.com>
2664
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.
2671
2672 2004-06-18  Chris Toshok  <toshok@ximian.com>
2673
2674         [ fixes #59978 ]
2675         
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.
2679
2680 2004-06-18  Chris Toshok  <toshok@ximian.com>
2681
2682         * libebook/e-book.c (e_book_new_system_addressbook): "oops".
2683
2684 2004-06-18  Chris Toshok  <toshok@ximian.com>
2685
2686         [ fixes #57628 ]
2687         
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.
2692
2693 2004-06-17  Chris Toshok  <toshok@ximian.com>
2694
2695         * tests/ebook/test-ebook-async.c: down with e-book-async.h, up
2696         with e-book.h.
2697
2698         * libedata-book/e-data-book.h: add @opid args to all the
2699         e_data_book_respond* functions.
2700
2701         * libedata-book/e-data-book.c
2702         (impl_GNOME_Evolution_Addressbook_Book_open): add @opid arg and
2703         pass it on.
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.
2727
2728         * libedata-book/e-book-backend.h: add @opid args everywhere.
2729
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.
2745
2746         * libedata-book/e-book-backend-sync.h: add @opid args everywhere.
2747
2748         * libedata-book/e-book-backend-sync.c
2749         (e_book_backend_sync_create_contact): add @opid arg and pass it
2750         along to subclass.
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.
2770
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
2777         hashtable.
2778         (e_book_get_current_sync_op): convenience function to lookup the
2779         current sync op.
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
2783         sequences.
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.
2800         (do_open): same.
2801         (do_remove): same.
2802
2803         * libebook/e-book.h: move all the async api foo here.
2804
2805         * libebook/e-book-listener.h (struct _EBookListenerResponse): add
2806         opid slot.
2807
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.
2822
2823         * libebook/Makefile.am (libebook_la_SOURCES): remove
2824         e-book-async.c
2825         (libebookinclude_HEADERS): remove e-book-async.h
2826
2827         * idl/Evolution-DataServer-Addressbook.idl: add opid args to all
2828         the oneway void Book methods, and to all the responses in
2829         BookListener.
2830
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
2843         backend.
2844         (e_book_backend_vcf_stop_book_view): same.
2845
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.
2865
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.
2878
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.
2889
2890 2004-06-16  Not Zed  <NotZed@Ximian.com>
2891
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.
2895
2896         * backends/ldap/e-book-backend-ldap.c
2897         (e_book_backend_ldap_cancel_operation): implement.
2898         (ldap_cancel_op): cancel each operation synchronously (?).
2899         Related to #56479.
2900
2901 2004-06-15 Sivaiah Nallagatla <snallagatla@novell.com>
2902
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
2908         
2909  
2910 2004-06-09  Chris Toshok  <toshok@ximian.com>
2911
2912         [ probable fix for #58803 ]
2913         
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
2917         here.
2918         (ldap_search_dtor): and the release_unref to here.
2919
2920 2004-06-09  Chris Toshok  <toshok@ximian.com>
2921
2922         * backends/ldap/e-book-backend-ldap.c (ldap_search_dtor): we don't
2923         need to lock/unlock the view's mutex anymore.
2924
2925 2004-06-07  Chris Toshok  <toshok@ximian.com>
2926
2927         [ fixes bug #58606 ]
2928         
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 :).
2932
2933 2004-06-03 Sivaiah Nallagatla <snallagatla@novell.com>
2934
2935         * backends/groupwise/e-book-backend-groupwise.c
2936         (update_summary) : new function to update the summary after
2937         getting the changes from server
2938         
2939 2004-06-01 Sivaiah Nallagatla <snallagatla@novell.com>
2940
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
2945
2946 2004-05-28 Sivaiah Nallagatla <snallagatla@novell.com>
2947
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
2953
2954 2004-05-25 Sivaiah Nallagatla <snallagatla@novell.com>
2955
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
2960         fixes #58888
2961
2962 2004-05-25  Chris Toshok  <toshok@ximian.com>
2963
2964         * libebook/e-book-query.c (e_book_query_to_string): encode the
2965         values we place in the sexp.
2966
2967 2004-05-20  Chris Toshok  <toshok@ximian.com>
2968
2969         [ fixes bug #58495 ]
2970         
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
2974         maximum.
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.
2981
2982 2004-05-19  Chris Toshok  <toshok@ximian.com>
2983
2984         * tests/ebook/*.c: port to new e_book_new/e_book_open apis.
2985         
2986         * libebook/e-book-types.h (EBookStatus): URI -> SOURCE.
2987
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):
2992         nuke.
2993         
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.
2997
2998         * libebook/e-book.c (EBookLoadState): URI -> SOURCE.
2999         (e_book_add_contact): URI -> SOURCE, and "e_book_load_uri" ->
3000         "e_book_open"
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):
3021         nuke.
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
3027         e_book_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.
3034
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.
3039
3040 2004-05-19  Hans Petter Jansson  <hpj@ximian.com>
3041
3042         * backends/ldap/e-book-backend-ldap.c (add_to_supported_fields):
3043         Add EMAIL_4 field.
3044         (email_ids): Add EMAIL_4.
3045         (email_populate): Ditto.
3046         (email_ber): Ditto.
3047
3048         * libebook/e-contact.c (field_info): Add EMAIL_4 field.
3049
3050         * libebook/e-contact.h: Add EMAIL_4 field.
3051
3052         * libedata-book/e-book-backend-sexp.c (compare_email): Add
3053         EMAIL_4.
3054
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.
3063
3064 2004-05-18  Chris Toshok  <toshok@ximian.com>
3065
3066         [ fixes #58522, and some other misc update problems ]
3067         
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.
3071
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.
3077
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.
3081
3082 2004-05-18 Sivaiah Nallagatla <snallagatla@novell.com>
3083
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
3086         Fixes #58369
3087         (set_organization_in_gw_item) (set_organization_changes_in_gw_item) :
3088         new functions to add organization field  le storing  contact on server
3089         Fixes #57846
3090
3091 2004-05-17  Rodney Dawes  <dobey@ximian.com>
3092
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
3097
3098         Fixes #58615
3099
3100 2004-05-17  Chris Toshok  <toshok@ximian.com>
3101
3102         [ fixes bug #57505 ]
3103         
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.)
3112
3113 2004-05-10 Sivaiah Nallagatla <snallagatla@novell.com>
3114
3115         * backends/groupwise/e-book-backend-groupwise.c (populate_ims) :
3116         if im does not correspond to one supported in evo, ignore it 
3117         fixes #58262 
3118
3119 2004-05-04  Sivaiah Nallagatla <snallagatla@novell.com>
3120         
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
3125         fixes #56776 
3126         
3127         
3128 2004-05-03  William Jon McCann  <mccann@jhu.edu>
3129
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
3143
3144 2004-05-02  Chris Toshok  <toshok@ximian.com>
3145
3146         * libedata-book/e-book-backend-sexp.c (prop_info_table): add
3147         BLOG_URL, CALENDAR_URI, FREEBUSY_URL, ICS_CALENDAR, and VIDEO_URL.
3148
3149         * libedata-book/e-book-backend-summary.c (check_symbols): add
3150         "exists".
3151
3152 2004-04-28  Sivaiah Nallagatla <snallagatla@novell.com>
3153         
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   
3157         
3158 2004-04-27  Jeffrey Stedfast  <fejj@ximian.com>
3159
3160         * backends/file/e-book-backend-file.c
3161         (e_book_backend_file_changes_foreach_key): Revert yesterday's
3162         changes.
3163
3164 2004-04-26  Jeffrey Stedfast  <fejj@ximian.com>
3165
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).
3169
3170 2004-04-23  Chris Toshok  <toshok@ximian.com>
3171
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.
3176
3177 2004-04-22  Sivaiah Nallagatla <snallagatla@novell.com>
3178         
3179         * backends/groupwise/e-book-backend-groupwise.c
3180         (populate_contact_members) : set the emails using EVC_X_DEST_EMAIL
3181         parameter
3182
3183 2004-04-21  Chris Toshok  <toshok@ximian.com>
3184
3185         * libebook/e-contact.c (E_CONTACT_COMPANY): make this an
3186         ATTR_TYPE_STR field, using EVC_X_COMPANY as the TYPE.
3187
3188         * libebook/e-vcard.h (EVC_X_COMPANY): add new parameter type.
3189
3190 2004-04-21  Chris Toshok  <toshok@ximian.com>
3191
3192         * libebook/e-contact.c (photo_setter): setters aren't called with
3193         NULL data anymore.
3194         (fn_setter): same.
3195         (n_setter): same.
3196         (adr_setter): same.
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
3201         attribute.
3202
3203         * libebook/e-book-view-listener.h: doh, really add _start
3204         prototype.
3205
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).
3209
3210         * libebook/e-book-listener.c (impl_BookListener_respond_get_view):
3211         don't rely on bonobo_object_dup_ref returning the same object.
3212
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 '?'
3217  
3218 2004-04-20  Chris Toshok  <toshok@ximian.com>
3219
3220         * tests/ebook/Makefile.am: add test-nonexistent-id and test-query.
3221         
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.
3225
3226         * tests/ebook/test-query.c: new test, to see if we correctly
3227         unparse/parse queries.
3228
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 '?'
3237
3238
3239 2004-04-17  Hans Petter Jansson  <hpj@ximian.com>
3240
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
3245         declaration.
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.
3279
3280 2004-04-16  Chris Toshok  <toshok@ximian.com>
3281
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.
3287
3288         * backends/file/e-book-backend-file.c (FileBackendSearchClosure):
3289         add slots for a GCond and GThread, as well as for our backend
3290         here.
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.
3307
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
3311         object.
3312         (e_data_book_view_dispose): destroy the id's hash table.
3313
3314         * libebook/e-book-view.c (e_book_view_start): start our
3315         EBookViewListener.
3316         (e_book_view_stop): stop the listener.
3317
3318         * libebook/e-book-view-listener.h: add prototypes for
3319         e_book_view_listener_start and _stop.
3320
3321         * libebook/e-book-view-listener.c
3322         (impl_BookViewListener_notify_contacts_added): add the thread id
3323         to the spew.
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
3333         the messages.
3334
3335         * libebook/e-contact.c (struct _EContactPrivate): add "int
3336         padding", just so that g_new (EContactPrivate, 1) doesn't return
3337         NULL.
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.
3343
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.
3346
3347 2004-04-15  Sivaiah Nallagatla <snallagatla@novell.com>
3348
3349         * backends/groupwise/e-book-backend-groupwise.c 
3350         (set_categories_in_gw_item): store only that part of id which is before '@'
3351         symbol
3352
3353 2004-04-14  Chris Toshok  <toshok@ximian.com>
3354
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.
3358
3359 2004-04-14  Chris Toshok  <toshok@ximian.com>
3360
3361         [ fixes part of bug #55776 ]
3362         
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.
3368
3369 2004-04-14  Chris Toshok  <toshok@ximian.com>
3370
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.
3376
3377 2004-04-14  Chris Toshok  <toshok@ximian.com>
3378
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.
3382
3383 2004-04-10  Sivaiah Nallagatla <snallagatla@novell.com>
3384
3385         * backends/groupwise/e-book-backend-groupwise.c 
3386         (e_book_backend_groupwise_load_source) : retrieve the book name form uri instead 
3387         of e-source
3388         (set_members_in_gw_item) : new function to set the ids of contact-list members into 
3389         e-gw-item 
3390
3391 2004-04-07  Chris Toshok  <toshok@ximian.com>
3392
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
3395         stuff.)
3396
3397 2044-04-07  Sivaiah Nallagatla <snallagatla@novell.com>
3398
3399         * backends/groupwise/e-book-backend-groupwise.c (func_is) :
3400         Correct a small type in field name  FullName -> fullName
3401          
3402 2004-04-06  Chris Toshok  <toshok@ximian.com>
3403
3404         * backends/ldap/e-book-backend-ldap.c (struct
3405         _EBookBackendLDAPPrivate): add a mutex around our it_to_op
3406         GHashTable.
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
3420         error info.)
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
3428         search_op->view.
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
3433         ::stop here.
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,
3440         ->ldap_rootdn).
3441         (e_book_backend_ldap_init): init the mutex.
3442
3443 2004-04-06  Chris Toshok  <toshok@ximian.com>
3444
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.
3456
3457 2004-04-05  Sivaiah Nallagatla <snallagatla@novell.com>
3458         
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 
3464         
3465 2004-04-02  Dan Winship  <danw@ximian.com>
3466
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
3475
3476 2004-04-02  JP Rosevear  <jpr@ximian.com>
3477
3478         * backends/groupwise/Makefile.am: fix includes for builddir != srcdir
3479
3480 2004-03-31  Chris Toshok  <toshok@ximian.com>
3481
3482         * libebook/e-contact.c (e_contact_get_first_attr): ignore the
3483         attribute's group.
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.
3488
3489         * libebook/e-vcard.c (e_vcard_to_string_vcard_30): ignore the
3490         attribute's group when looking for VERSION attributes.
3491
3492 2004-03-30  Chris Toshok  <toshok@ximian.com>
3493  
3494         [ backend portion of fix for #51977 ]
3495         * libedata-book/e-book-backend-sexp.c (prop_info_table): category
3496         -> category_list.
3497
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.
3501         
3502 2004-03-30  Chris Toshok  <toshok@ximian.com>
3503  
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').
3508         
3509 2004-03-30  Chris Toshok  <toshok@ximian.com>
3510
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.
3515
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.
3519
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.
3524
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.
3527
3528 2004-03-30  Chris Toshok  <toshok@ximian.com>
3529
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.
3533
3534 2004-03-28  Sivaiah Nallagatla <snallagatla@novell.com>
3535
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 
3539
3540 2004-03-19  Chris Toshok  <toshok@ximian.com>
3541
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
3545         every request.
3546         (e_book_view_listener_dispose): add some debug spew.
3547
3548 2004-03-18  Chris Toshok  <toshok@ximian.com>
3549
3550         * tests/ebook/Makefile.am (noinst_PROGRAMS): add test-stress-bookviews.
3551
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).
3556
3557 2004-03-17  Chris Toshok  <toshok@ximian.com>
3558
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.
3568
3569 2004-03-15  Chris Toshok  <toshok@ximian.com>
3570
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
3573         "".
3574
3575 2004-03-15  Rodney Dawes  <dobey@ximian.com>
3576
3577         * libebook/libebook-1.0.pc.in:
3578         * libedata-book/libedata-book-1.0.pc.in: Add @LIBBONOBO_REQUIRED@ for
3579         the libbonobo dependency
3580
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.
3584
3585 2004-03-12  Chris Toshok  <toshok@ximian.com>
3586
3587         * libedata-book/e-data-book-view.h: add prototype for
3588         e_data_book_view_get_mutex.
3589
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.
3594
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.
3608
3609 2004-03-12  Chris Toshok  <toshok@ximian.com>
3610
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.
3616         
3617 2004-03-12  Chris Toshok  <toshok@ximian.com>
3618
3619         * tests/ebook/test-categories.c (main): test setting CATEGORIES as
3620         well as CATEGORY_LIST.
3621
3622 2004-03-09 Sivaioah Nallagatla <snallagatla@novell.com>
3623
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 
3627
3628 2004-03-02  Chris Toshok  <toshok@ximian.com>
3629
3630         * libebook/e-book-query.h (EBookQueryTest): comment out the
3631         unsupported query types.
3632
3633 2004-02-26  Chris Toshok  <toshok@ximian.com>
3634
3635         * libebook/e-contact.h: add
3636         E_CONTACT_IM_GROUPWISE_{HOME,WORK}_{1,2,3}.
3637
3638         * libebook/e-contact.c: add attributes
3639         E_CONTACT_IM_GROUPWISE_{HOME,WORK}_{1,2,3}.
3640
3641 2004-02-25  Chris Toshok  <toshok@ximian.com>
3642
3643         * libebook/e-vcard.c (e_vcard_attribute_is_single_valued):
3644         predicate returning TRUE if there's only one value for the
3645         attribute.
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
3648         attribute.
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.
3652
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.
3657
3658         * libebook/e-contact.h: add prototypes for
3659         e_contact_{get,set}_attributes, and e_contact_vcard_attribute.
3660
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.
3668
3669 2004-02-25  Sivaiah Nallagatla  <snallagatla@novell.com>
3670
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
3674
3675 2004-02-24  Hans Petter Jansson  <hpj@ximian.com>
3676
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.
3680
3681         * libebook/e-book.c (e_book_get_default_addressbook): Correctly
3682         assert the pointer-to-pointer, not the pointed-to pointer.
3683
3684 2004-02-23  Chris Toshok  <toshok@ximian.com>
3685
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.
3690
3691         * libebook/e-contact.c (e_contact_set_property): wrap spew in
3692         "#define d(x)".
3693         (e_contact_set): same.
3694         (e_contact_get_email_list): nuke dead function.
3695
3696         * libebook/e-book.c (e_book_add_contact): wrap spew in "#define
3697         d(x)" and reindent.
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.
3706
3707         * libebook/e-book-view-listener.c
3708         (impl_BookViewListener_notify_contacts_added): wrap spew in
3709         "#define d(x)".
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.
3714
3715         * libebook/e-book-listener.c (impl_BookListener_respond_get_view):
3716         wrap spew in "#define d(x)".
3717
3718 2004-02-23  JP Rosevear <jpr@ximian.com>
3719
3720         * tests/vcard/Makefile.am: add extra includes for srcdir !=
3721         builddir
3722
3723         * tests/ebook/Makefile.am: ditto
3724
3725         * libedata-book/Makefile.am: ditto
3726
3727         * libebook/Makefile.am: ditto
3728
3729         * backends/vcf/Makefile.am: ditto
3730
3731         * backends/ldap/Makefile.am: ditto
3732
3733         * backends/file/Makefile.am: ditto
3734
3735 2004-02-23  Chris Toshok  <toshok@ximian.com>
3736
3737         * tests/ebook/test-search.c: add a utility so we can perform
3738         searches against addressbooks without having to bring up a gui.
3739
3740         * tests/ebook/Makefile.am (test_search_LDADD): add.
3741         (noinst_PROGRAMS): add test-search
3742
3743 2004-02-20  Chris Toshok  <toshok@ximian.com>
3744
3745         [ fixes bug #53994 ]
3746         
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
3749         as the FreeFunc.
3750         (e_book_query_copy): new function, just convert @q to a string and
3751         reparse it, ala the EVCard copy function.
3752
3753         * libebook/e-book-query.h: add prototypes for
3754         e_book_query_get_type and e_book_query_copy.  also add
3755         E_TYPE_BOOK_QUERY.
3756
3757         * libebook/e-contact.h: add
3758         E_TYPE_CONTACT_{DATE,NAME,PHOTO,CERT,ADDRESS}.
3759
3760
3761 2004-02-20 Sivaiah Nallagatla <snallagatla@novell.com>
3762         
3763         * backends/groupwise/create-account.c : new file to create an acoount
3764    
3765 2004-02-20 Sivaiah Nallagatla  <snallagatla@novell.com>
3766         
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
3771
3772
3773 2004-02-12  Chris Toshok  <toshok@ximian.com>
3774
3775         * libebook/e-book-listener.c
3776         (impl_BookListener_respond_get_contact_list): unref the contacts
3777         and free the response.list.
3778
3779         * libebook/e-book.c (e_book_response_get_contacts): copy the GList
3780         and ref the contacts in it.
3781
3782 2004-02-12  Chris Toshok  <toshok@ximian.com>
3783
3784         * libebook/e-book-listener.c (e_book_listener_new): use
3785         ORBIT_THREAD_HINT_ON_CONTEXT, and specify _ebook_context.
3786
3787         * libebook/e-book.c (e_book_activate): init _ebook_context.
3788         (startup_mainloop): fun the mainloop on _ebook_context.
3789
3790 2004-02-11  Chris Toshok  <toshok@ximian.com>
3791
3792         * libebook/e-book-listener.c (e_book_listener_new): fix typo.
3793
3794 2004-02-11  Chris Toshok  <toshok@ximian.com>
3795
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.
3804
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
3808         here.
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.
3815
3816         * libedata-book/e-book-backend.c (e_book_backend_get_book_views):
3817         FALSE => NULL.
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
3822         list elsewhere.
3823
3824         * libebook/e-book-listener.c (impl_BookListener_respond_get_view):
3825         release_unref after the signal.  the callee must ref to keep the
3826         book_view alive.
3827
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
3837         release_unref it.
3838
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.
3845
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.
3850
3851         * idl/Evolution-DataServer-Addressbook.idl (BookView): add dispose
3852         call.
3853
3854 2004-02-09  Michael Meeks  <michael@ximian.com>
3855
3856         * libedata-book/e-data-book.c (view_destroy): tolerate NULL
3857         book views.
3858
3859 2004-02-08  Chris Toshok  <toshok@ximian.com>
3860
3861         * tests/ebook/Makefile.am (noinst_PROGRAMS): build
3862         test-ebook-async
3863
3864         * tests/ebook/test-ebook-async.c: async version of test-ebook.c
3865
3866         * tests/ebook/test-ebook.c (main): remove the call to
3867         bonobo_main_quit here - we don't need it.
3868
3869 2004-02-08  Chris Toshok  <toshok@ximian.com>
3870
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.
3881
3882         * libebook/e-book-async.h: add prototype for
3883         e_book_async_load_local_addressbook.
3884
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.
3894
3895 2004-02-08  Chris Toshok  <toshok@ximian.com>
3896
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.
3902
3903
3904
3905 2004-02-06  Hans Petter Jansson  <hpj@ximian.com>
3906
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
3910         more gracefully.
3911
3912 2004-02-06  Chris Toshok  <toshok@ximian.com>
3913
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
3918         the console spew.
3919         
3920 2004-02-05  Chris Toshok  <toshok@ximian.com>
3921
3922         [ along with previous fixes, this fixes #53129 ]
3923         
3924         * backends/ldap/e-book-backend-ldap.c (find_book_view): we no
3925         longer use EBookBackendLDAPBookView.
3926
3927 2004-02-05  Chris Toshok  <toshok@ximian.com>
3928
3929         * libebook/e-book.c (startup_mainloop): switch from using
3930         bonobo_main to using a separate GMainLoop attached to the default
3931         context.
3932
3933 2004-02-04  Chris Toshok  <toshok@ximian.com>
3934
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.
3939
3940 2004-02-04  Chris Toshok  <toshok@ximian.com>
3941
3942         [ fixes bug #53130 ]
3943         
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.
3949
3950 2004-02-04  Chris Toshok  <toshok@ximian.com>
3951
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.
3954
3955 2004-02-04  Chris Toshok  <toshok@ximian.com>
3956
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.
3965
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.
3969
3970 2004-02-04  Michael Meeks  <michael@ximian.com>
3971
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.
3975
3976 2004-02-03  Chris Toshok  <toshok@ximian.com>
3977
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.
3981
3982 2004-02-02  Chris Toshok  <toshok@ximian.com>
3983
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
3987         evolution-sharp.
3988
3989 2004-02-02  Chris Toshok  <toshok@ximian.com>
3990
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
3994         g_warning.
3995
3996 2004-02-02  Chris Toshok  <toshok@ximian.com>
3997
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.
4001
4002 2004-02-02  Hans Petter Jansson  <hpj@ximian.com>
4003
4004         * libebook/e-contact.c (photo_getter): Return NULL if image length is
4005         zero.
4006         (photo_setter): Warn and don't set photo if image length is zero.
4007
4008 2004-02-02  Hans Petter Jansson  <hpj@ximian.com>
4009
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.
4019
4020 2004-02-02  Michael Meeks  <michael@ximian.com>
4021
4022         * backends/file/e-book-backend-file.c
4023         (e_book_backend_file_stop_book_view): unlock after
4024         taking a lock.
4025
4026 2004-01-30  Hans Petter Jansson  <hpj@ximian.com>
4027
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.
4042
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.
4048
4049 2004-01-30  Chris Toshok  <toshok@ximian.com>
4050
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.
4054
4055 2004-01-29  Chris Toshok  <toshok@ximian.com>
4056
4057         * libedata-book/ximian-vcard.h (XIMIAN_VCARD): update for new
4058         office location, and change the FILE-AS/ORG fields to say Novell
4059         Ximian Group.
4060
4061 2004-01-30  Radek Doulik  <rodo@ximian.com>
4062
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
4066         as well
4067         (category_compare): make sure categories != NULL before calling
4068         strcmp
4069         (build_mods_from_contacts): make sure we don't introduce new empty
4070         fields
4071         (build_mods_from_contacts): make sure the ber_func and
4072         compare_func are non NULL before calling them
4073
4074 2004-01-29  Chris Toshok  <toshok@m198-139.dsl.rawbw.com>
4075
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
4079         completely broken.
4080
4081 2004-01-28  Radek Doulik  <rodo@ximian.com>
4082
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
4086         single category
4087
4088 2004-01-27  Chris Toshok  <toshok@ximian.com>
4089
4090         * libebook/e-book-async.h: nuke the prototype for
4091         e_book_async_unload_uri.
4092
4093         * libebook/e-book-async.c (e_book_async_unload_uri): nuke.
4094
4095 2004-01-27  Chris Toshok  <toshok@ximian.com>
4096
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
4099         one.
4100
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.
4116         
4117         * libebook/e-book-types.h (EBookStatus): add
4118         E_BOOK_ERROR_NO_SUCH_SOURCE.
4119
4120 2004-01-27  Chris Toshok  <toshok@ximian.com>
4121
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
4125         not there already.
4126
4127 2004-01-27  Hans Petter Jansson  <hpj@ximian.com>
4128
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.
4133
4134 2004-01-26  Chris Toshok  <toshok@ximian.com>
4135
4136         * tests/ebook/Makefile.am (noinst_PROGRAMS): add
4137         test-untyped-phones.
4138         (test_untyped_phones_LDADD): new variable.
4139
4140         * tests/ebook/test-untyped-phones.c: new test for 40013.
4141
4142 2004-01-26  Chris Toshok  <toshok@ximian.com>
4143
4144         [ fixes bug #53228 ]
4145         
4146         * tests/ebook/test-categories.c: new test.
4147
4148         * tests/ebook/Makefile.am (noinst_PROGRAMS): add test-categories.
4149
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
4154         ;'s are for.
4155         (read_attribute_value): split the CATEGORIES attribute up like a
4156         normal list would be, only use ','s for it.
4157
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.
4161
4162 2004-01-26  Chris Toshok  <toshok@ximian.com>
4163
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.
4170
4171         * libebook/e-book.h: add prototypes for
4172         e_book_set_default_addressbook/e_book_set_default_source.
4173
4174 2004-01-23  Chris Toshok  <toshok@ximian.com>
4175
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
4179         function.
4180         (e_vcard_dump_structure): same.
4181
4182         * libebook/e-vcard.h (e_vcard_unescape_string): expose this
4183         (e_vcard_escape_string): and this.
4184
4185         * libebook/e-contact.h: rearrange the enum again, to keep
4186         strings/structs separate.
4187
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.
4191
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.
4196
4197 2004-01-21  Nat Friedman <nat@novell.com>
4198
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):
4205         Likewise.
4206         * libedata-book/e-book-backend-sexp.c (compare_im_jabber):
4207         Likewise.
4208         * libedata-book/e-book-backend-sexp.c (prop_info_table): Added
4209         entries for IM field searching.
4210
4211 2004-01-20  Hans Petter Jansson  <hpj@ximian.com>
4212
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.
4215
4216 2004-01-16  JP Rosevear <jpr@ximian.com>
4217
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
4221         
4222 2003-01-11  Christian Hammond <chipx86@gnupdate.org>
4223  
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.
4228  
4229 2004-01-09  Jeffrey Stedfast  <fejj@ximian.com>
4230
4231         * tests/ebook/test-date.c (main): Don't let control reach the end
4232         of a non-void function
4233
4234         * backends/ldap/e-book-backend-ldap.c (find_book_view): Don't let
4235         control reach the end of a non-void function
4236
4237         * libebook/e-contact.c (cert_getter): Don't let control reach the
4238         end of a non-void function
4239
4240         * tests/ebook/test-string.c: Same as below.
4241
4242         * tests/ebook/test-photo.c: #include <string.h> for strlen and
4243         memcmp.
4244         (main): Don't let control reach the end of a non-void function
4245
4246 2004-01-09  Ross Burton  <ross@burtonini.com>
4247
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.
4252
4253 2004-01-08  Ross Burton  <ross@burtonini.com>
4254
4255         * libebook/e-contact.c:
4256         * libebook/e-contact.h:
4257         Add a video conferencing URL field.
4258
4259 2004-01-07  JP Rosevear <jpr@ximian.com>
4260
4261         * libedata-book/Makefile.am: remove DISABLE_DEPRECATED flags
4262
4263         * libebook/Makefile.am: ditto
4264         
4265 2004-01-06  Chris Toshok  <toshok@ximian.com>
4266
4267         * backends/file/e-book-backend-file.c
4268         (e_book_backend_file_load_source): use e_util_mkdir_hier here
4269         instead of mkdir.
4270         (do_create): add the db_error to the spew.
4271         (e_book_backend_file_load_source): don't use mkdir here, use
4272         e_util_mkdir_hier.
4273
4274 2004-01-05  Christian Neumair  <chris@gnome-de.org>
4275
4276         * libebook/e-book.c: Generalize some strings.
4277
4278 2003-12-29  Chris Toshok  <toshok@ximian.com>
4279
4280         * tests/ebook/test-undefinedfield.c: new test - make sure we
4281         return NULL for undefined/unimplemented fields.
4282
4283         * tests/ebook/Makefile.am (noinst_PROGRAMS): add
4284         test-undefinedfield.
4285
4286 2003-12-29  Chris Toshok  <toshok@ximian.com>
4287
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).
4290
4291 2003-12-29  Chris Toshok  <toshok@ximian.com>
4292
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.
4297
4298 2003-12-19  Chris Toshok  <toshok@ximian.com>
4299
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.
4302
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.
4306
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.
4313
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.
4317
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.
4324
4325 2003-12-17  Chris Toshok  <toshok@ximian.com>
4326
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.
4330
4331 2003-12-16  Hans Petter Jansson  <hpj@ximian.com>
4332
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.
4338
4339 2003-12-15  Hans Petter Jansson  <hpj@ximian.com>
4340
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
4348         addresses work.
4349
4350 2003-12-10  Hans Petter Jansson  <hpj@ximian.com>
4351
4352         * backends/ldap/e-book-backend-ldap.c
4353         (e_book_backend_ldap_load_source): Get attributes from source, not URI.
4354
4355 2003-12-09  Chris Toshok  <toshok@ximian.com>
4356
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
4360         g_dir_*.
4361
4362 2003-12-07  JP Rosevear  <jpr@ximian.com>
4363
4364         * libedata-book/e-data-book-factory.c: version the OAFIID
4365
4366         * libebook/e-book.c (activate_factories_for_uri): update repo id
4367         
4368 2003-12-07  JP Rosevear  <jpr@ximian.com>
4369
4370         * libebook/e-book.c (activate_factories_for_uri): use the
4371         versioned repo id
4372
4373 2003-12-05  Chris Toshok  <toshok@ximian.com>
4374
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.
4377
4378 2003-12-05  Hans Petter Jansson  <hpj@ximian.com>
4379
4380         * libebook/e-contact.c (e_contact_get_property): Return boxed type
4381         for struct.
4382         (e_contact_name_from_string): Never pass NULL to
4383         e_name_western_parse ().
4384
4385 2003-12-04  Chris Toshok  <toshok@ximian.com>
4386
4387         * tests/ebook/test-ebook.c (print_email): print out the
4388         NAME_OR_ORG of the contact too.
4389
4390         * libebook/e-contact.h (EContactField): add NAME_OR_ORG.
4391
4392         * libebook/e-contact.c (field_info): add NAME_OR_ORG.
4393         (e_contact_get_property): handle NAME_OR_ORG.
4394
4395 2003-12-01  Hans Petter Jansson  <hpj@ximian.com>
4396
4397         * libebook/e-book.c (e_book_unload_uri): When clearing the cached
4398         capabilities, also clear the cap_queried flag.
4399
4400 2003-12-01  Hans Petter Jansson  <hpj@ximian.com>
4401
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.
4404
4405 2003-12-01  Hans Petter Jansson  <hpj@ximian.com>
4406
4407         * libebook/e-book-async.c (_load_uri_response_handler)
4408         (_load_uri_response_dtor)
4409         (_load_uri_handler)
4410         (_load_uri_dtor)
4411         (_default_book_response_handler)
4412         (_default_book_response_dtor): Pass source instead of URI, and
4413         s/uri/source/.
4414         (e_book_async_load_source): Implement.
4415         (e_book_async_load_uri): Create a source and pass that to worker.
4416
4417 2003-11-28  Chris Toshok  <toshok@ximian.com>
4418
4419         * tests/ebook/Makefile.am (test_ebook_view_LDADD): new variable.
4420         (noinst_PROGRAMS): add test-ebook-view
4421
4422         * tests/ebook/test-ebook-view.c: new test for ebook view's.
4423
4424 2003-11-26  Hans Petter Jansson  <hpj@ximian.com>
4425
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
4428         instead of an URI.
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.
4432
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
4435         of an URI.
4436         (e_book_backend_ldap_dispose): Don't free URI anymore.
4437         (e_book_backend_ldap_class_init): load_uri -> load_source.
4438
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
4441         instead of an URI.
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.
4445
4446         * idl/Evolution-DataServer-Addressbook.idl (getBook): In parameter
4447         "uri" renamed to "source". Takes standalone source XML.
4448
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.
4453
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.
4461
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
4466         with that.
4467
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.
4473
4474 2003-11-25  Chris Toshok  <toshok@ximian.com>
4475
4476         * tests/ebook/test-self.c: new file/test, print out the current
4477         self contact.
4478
4479         * tests/ebook/test-ebook.c (print_email): fix the email printing.
4480
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
4483         vcard.
4484
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.
4501
4502         * libebook/e-contact.h: add prototypes for
4503         e_contact_{date,name,photo,address}_get_type.
4504
4505         * libebook/e-book-types.h: add E_BOOK_ERROR_NO_SELF_CONTACT.
4506
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.
4513
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.
4517
4518 2003-11-23  Chris Toshok  <toshok@ximian.com>
4519
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.
4523
4524         * backends/file/Makefile.am (INCLUDES): use the embedded db4.
4525
4526 2003-11-22  Chris Toshok  <toshok@ximian.com>
4527
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.
4536
4537 2003-11-11  Chris Toshok  <toshok@ximian.com>
4538
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.
4541
4542         * tests/vcard/README: add blurb about 10.vcf.
4543
4544         * tests/vcard/Makefile.am (EXTRA_DIST): add 10.vcf
4545
4546         * tests/vcard/10.vcf: new quotted attribute parameter value test.
4547
4548         * tests/vcard/[1-9].vcf: add these back in.
4549
4550 2003-11-10  JP Rosevear <jpr@ximian.com>
4551
4552         * libebook/e-book-listener.c: remove construct method, it did
4553         nothing and should use construct time args in future if needed
4554
4555 2003-11-10  Dan Winship  <danw@ximian.com>
4556
4557         * libebook/e-contact.c (e_contact_date_equal): New utility
4558         function to compare two (possibly NULL) EContactDates
4559
4560         * backends/ldap/e-book-backend-ldap.c (anniversary_compare,
4561         birthday_compare): Use it
4562
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
4566         work beyond that).
4567
4568 2003-11-10  Dan Winship  <danw@ximian.com>
4569
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/
4573
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
4578
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.
4582
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
4587
4588 2003-11-08  Chris Toshok  <toshok@ximian.com>
4589
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.
4600
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.
4605
4606 2003-11-07  Dan Winship  <danw@ximian.com>
4607
4608         * libebook/e-address-western.c: 
4609         * libebook/e-name-western.c: Move these here.
4610
4611         * libebook/e-contact.c: Update e-name-western include
4612
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
4617
4618         * libedata-book/Makefile.am (libedata_book_la_LDFLAGS): Likewise
4619
4620 2003-11-06  Dan Winship  <danw@ximian.com>
4621
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.
4624
4625         * backends/vcf/e-book-backend-vcf.c: Likewise
4626
4627 2003-11-06    <jpr@ximian.com>
4628
4629         * libebook/Makefile.am: don't add libename
4630
4631 2003-11-06  JP Rosevear <jpr@ximian.com>
4632
4633         * libebook/e-book.c: replace e_mutex stuff with gthread stuff
4634
4635 2003-11-06  JP Rosevear <jpr@ximian.com>
4636
4637         * Makefile.am: build new subdirs
4638
4639         * backends/*: build the file, vcf and ldap backends here
4640
4641         * libedata-cal/Makefile.am: no longer build them here   
4642         
4643 2003-11-05  JP Rosevear <jpr@ximian.com>
4644
4645         * rename libedatabook to libedata-book
4646         
4647 2003-11-05  JP Rosevear  <jpr@ximian.com>
4648
4649         * libebook/Makefile.am: use privincludedir
4650
4651         * libedatabook/Makefile.am: ditto
4652
4653         * libedatabook/libedatabook-1.0.pc.in: use privincludedir; remove
4654         gal
4655
4656         * libebook/libebook-1.0.pc.in: ditto
4657
4658 2003-11-05  Rodrigo Moya <rodrigo@ximian.com>
4659
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.
4664
4665 2003-11-04  JP Rosvear <jpr@ximian.com>
4666
4667         * libedatabook/e-data-book-factory.c: use properly name spaced
4668         default id
4669
4670         * libebook/e-book.c: kill unneccesary define
4671
4672 2003-11-04  JP Rosevear <jpr@ximian.com>
4673
4674         * libedatabook/e-data-book-factory.c: remove corbe header include
4675
4676         * libedatabook/e-data-book.h: include corba header correctly
4677
4678         * libedatabook/e-data-book-view.h: ditto
4679
4680         * libedatabook/e-data-book-factory.h: ditto
4681
4682         * libedatabook/e-book-backend.h: ditto
4683
4684         * libedatabook/e-book-backend-sync.h: ditto
4685
4686         * libedatabook/Makefile.am: reflect idl name change
4687
4688         * libebook/e-book-view.c: remove corba header include
4689
4690         * libebook/e-book.c: ditto
4691         
4692         * libebook/e-book.h: include corba header correctly
4693
4694         * libebook/e-book-view.h: ditto
4695
4696         * libebook/e-book-view-listener.h: ditto
4697
4698         * libebook/e-book-listener.h: ditto
4699
4700         * idl/Makefile.am (idl_DATA): rename idl to
4701         Evolution-DataServer-Addressbook.idl
4702
4703         * libebook/Makefile.am: reflect idl name change
4704