aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/backend/pas/pas-backend-ldap.c
Commit message (Collapse)AuthorAgeFilesLines
* This commit was manufactured by cvs2svn to create tagGNOMEDB_0_1_0nobody2000-08-221-1151/+0
| | | | | | 'GNOMEDB_0_1_0'. svn path=/tags/GNOMEDB_0_1_0/; revision=4935
* use x-evolution-any-field.Chris Toshok2000-08-091-37/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-08-08 Chris Toshok <toshok@helixcode.com> * gui/component/e-addressbook-model.c (e_addressbook_model_init): use x-evolution-any-field. * gui/component/addressbook.c (search_entry_activated): use x-evolution-any-field. (change_view_type): same. * gui/minicard/e-minicard-view.c (e_minicard_view_init): set query to x-evolution-any-field. * backend/pas/pas-backend-ldap.c (func_contains): support x-evolution-any-field for matching any evolution supported field. * backend/pas/pas-backend-file.c (compare_email): switch to using ECardSimple calls. (compare_phone): same. (compare_address): same. (entry_compare): switch to using ECardSimple calls, and support a 'x-evolution-any-field' wildcard field. (vcard_matches_search): use an ECardSimple. svn path=/trunk/; revision=4626
* wait to free the view until we've taken care of freeing its internals.Chris Toshok2000-07-271-51/+60
| | | | | | | | | | | | | | | | | | | | | 2000-07-26 Chris Toshok <toshok@helixcode.com> * backend/pas/pas-backend-ldap.c (view_destroy): wait to free the view until we've taken care of freeing its internals. also, close the ldap connection here. (pas_backend_ldap_connect): rename p_b_l_ensure_connected to this, since it's always called when we create a view. (pas_backend_ldap_build_all_cards_list): open an ldap connection in this function and close it at the end. (poll_ldap): make sure to call ldap_unbind to close the view's connection here. (pas_backend_ldap_search): call pas_backend_ldap_connect here - ldap_unbind will either be called from poll_ldap or from view_destroy. (pas_backend_ldap_get_vcard): the PASBackendLDAP no longer has an LDAP*. svn path=/trunk/; revision=4369
* add support for user settable scope. (pas_backend_ldap_search): same.Chris Toshok2000-07-271-5/+12
| | | | | | | | | | | 2000-07-26 Chris Toshok <toshok@helixcode.com> * backend/pas/pas-backend-ldap.c (pas_backend_ldap_build_all_cards_list): add support for user settable scope. (pas_backend_ldap_search): same. (pas_backend_ldap_load_uri): same. svn path=/trunk/; revision=4360
* remove spew. (pas_backend_ldap_ensure_connected): duh, don't access aChris Toshok2000-06-271-21/+18
| | | | | | | | | | | | 2000-06-26 Chris Toshok <toshok@helixcode.com> * backend/pas/pas-backend-ldap.c (poll_ldap): remove spew. (pas_backend_ldap_ensure_connected): duh, don't access a pointer we know to be NULL. (query_prop_to_ldap): rename map_e_card_prop_to_ldap to this. easier to type. svn path=/trunk/; revision=3743
* Added "sequence_complete" signal.Christopher James Lahey2000-05-301-0/+1
| | | | | | | | | | | | | | | | 2000-05-30 Christopher James Lahey <clahey@helixcode.com> * backend/ebook/e-book-view-listener.c, backend/ebook/e-book-view-listener.h, backend/ebook/e-book-view.c, backend/ebook/e-book-view.h, backend/idl/addressbook.idl, backend/pas/pas-backend-file.c, backend/pas/pas-backend-ldap.c, backend/pas/pas-book-factory.c, backend/pas/pas-book-view.c, backend/pas/pas-book-view.h: Added "sequence_complete" signal. * printing/e-contact-print.c: Made printing wait for "sequence_complete" signal and made it sort. svn path=/trunk/; revision=3279
* convert to use ECardSimple. (poll_ldap): same.Chris Toshok2000-05-171-38/+18
| | | | | | | * backend/pas/pas-backend-ldap.c (construct_email_list): convert to use ECardSimple. (poll_ldap): same. svn path=/trunk/; revision=3095
* add typedefs for the can_write functions, and add parameters toChris Toshok2000-05-171-1/+18
| | | | | | | | | | | | | | | | | | | | | | | | | * backend/pas/pas-book.h: add typedefs for the can_write functions, and add parameters to pas_book_new. * backend/pas/pas-book.c (pas_book_construct): add can_write/can_write_card params. (pas_book_new): same. (impl_Evolution_Book_can_write): new function. (impl_Evolution_Book_can_write_card): same. (pas_book_get_epv): assign the can_write/can_write_card slots in the epv. * backend/pas/pas-backend-ldap.c (pas_backend_ldap_can_write): new function. (pas_backend_ldap_can_write_card): same. (pas_backend_ldap_add_client): add can_write/can_write_card to pas_book_new call. * backend/pas/pas-backend-file.c (pas_backend_file_can_write_card): new function, calls can_write. (pas_backend_file_can_write): same. (can_write): return TRUE if we can write to the addressbook file. (pas_backend_file_add_client): add can_write/can_write_card to pas_book_new call. * backend/idl/addressbook.idl (Evolution): add can_write and can_write_card permission requests. svn path=/trunk/; revision=3093
* Enabled a couple more fieldsChristopher James Lahey2000-05-091-2/+3
| | | | | | | | 2000-05-09 Christopher James Lahey <clahey@helixcode.com> * backend/pas/pas-backend-ldap.c: Enabled a couple more fields svn path=/trunk/; revision=2943
* Removed some code that was notifying too many clients at the wrong times.Christopher James Lahey2000-05-081-11/+1
| | | | | | | | | | | | | | 2000-05-07 Christopher James Lahey <clahey@helixcode.com> * backend/pas/pas-backend-file.c, backend/pas/pas-backend-ldap.c: Removed some code that was notifying too many clients at the wrong times. * gui/component/addressbook.c: Set view->book. Unreffed view->book. Unreffed the model instead of destroying it. Removed the /tmp/test.db stuff. svn path=/trunk/; revision=2876
* if a port isn't specified in the uri default to 389.Chris Toshok2000-05-071-0/+3
| | | | | | | * backend/pas/pas-backend-ldap.c (pas_backend_ldap_load_uri): if a port isn't specified in the uri default to 389. svn path=/trunk/; revision=2831
* Made uri slightly better managed.Christopher James Lahey2000-05-021-7/+6
| | | | | | | | | | | | | | | | 2000-05-01 Christopher James Lahey <clahey@helixcode.com> * backend/pas/pas-backend-file.c, backend/pas/pas-backend-ldap.c: Made uri slightly better managed. * backend/pas/pas-book-factory.c (pas_book_factory_process_request): Remove this CORBA_Object_release that causes things not to work. This is just a temporary fix until we figure out what's actually wrong. * backend/pas/pas-book.c: Fixed a copy and paste error in a warning. svn path=/trunk/; revision=2718
* fix a typo in the for loop.Larry Ewing2000-05-021-1/+1
| | | | | | | | | 2000-05-01 Larry Ewing <lewing@helixcode.com> * backend/pas/pas-backend-ldap.c (pas_backend_ldap_remove_client): fix a typo in the for loop. svn path=/trunk/; revision=2714
* Added new status values for the IDL stuff.Federico Mena Quintero2000-05-011-14/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-04-30 Federico Mena Quintero <federico@helixcode.com> * backend/ebook/e-book-types.h (EBookStatus): Added new status values for the IDL stuff. * backend/pas/pas-book-factory.h (PASBookFactoryClass): New "last_book_gone" signal. * backend/pas/pas-book-factory.c (pas_book_factory_launch_backend): Better error handling. (pas_book_factory_process_queue): Let pas_book_factory_process_request() free the request. (pas_book_factory_process_request): Free the request here. Perform better error handling. (free_active_server_map_entry): Free an active server map entry; free the URI key and unref the backend value. This function was renamed; the old one was trying to CORBA_Object_unref() a GTK+ object! (remove_backends_entry): Free a backend table entry; free the URI key. (backend_last_client_gone_cb): Remove the backend from the active server map and emit the "last_book_gone" signal if appropriate. (pas_book_factory_get_n_backends): New function to query the number of running backends in an addressbook factory. * backend/idl/addressbook.idl (BookListener::CallStatus): Added a ProtocolNotSupported code. This is for when the addressbook factory cannot find a provider for the requested URI. * backend/pas/pas-backend.h (PASBackendClass): New "last_client_gone" signal. (PASBackendClass): New get_uri virtual method. * backend/pas/pas-backend.c (pas_backend_load_uri): Return a gboolean success code. (pas_backend_add_client): Return a gboolean success code. (pas_backend_last_client_gone): New function used by backend implementations to notify upwards when the backend's last client is destroyed. (pas_backend_get_uri): New function to get the URI of a backend. * backend/pas/pas-backend-file.c (pas_backend_file_add_client): Pass the backend as the closure data to the "destroy" handler of the book. We cannot call pas_book_get_backend() in the callback since the book's private data has already been destroyed when the callback is invoked. Alternatively, we could move the private data destruction step to the book's ::finalize() method. (pas_backend_file_book_destroy_cb): Get the backend from the callback's data, not from the book. (pas_backend_file_remove_client): Remove the book from the list of clients. When all clients go away, call pas_backend_last_client_gone(). (PASBackendFilePrivate): Added an uri field. (pas_backend_file_get_uri): Implement the get_uri method. (pas_backend_file_load_uri): Return a gboolean success code. Also, store the URI in the private structure. (pas_backend_file_add_client): Return a gboolean success code. Also, call pas_backend_last_client_gone() if appropriate. (pas_backend_file_destroy): Free the bf->priv->uri. * backend/pas/pas-backend-ldap.c (pas_backend_ldap_add_client): Pass the backend as the closure data to the "destroy" handler of the book. See above for rationale. (pas_backend_ldap_book_destroy_cb): Get the backend from the callback's data. (pas_backend_ldap_remove_client): Remove the book from the list of clients. When all clients go away, call pas_backend_last_client_gone(). (pas_backend_ldap_load_uri): Return a gboolean success code. (pas_backend_ldap_add_client): Return a gboolean success code. Also, call pas_backend_last_client_gone() if appropriate. (PASBackendLDAPPrivate): New uri field. (pas_backend_ldap_get_uri): Implement the get_uri method. (pas_backend_ldap_load_uri): Store the uri in the private structure. (pas_backend_ldap_destroy): Free the bl->priv->uri. svn path=/trunk/; revision=2705
* add support for a rootdn in the uri.Chris Toshok2000-04-301-3/+7
| | | | | | | | | | | | * backend/pas/pas-backend-ldap.c (pas_backend_ldap_ensure_connected): add support for a rootdn in the uri. (pas_backend_ldap_build_all_cards_list): make use of the rootdn in the call to ldap_search_s. (pas_backend_ldap_search): same. (pas_backend_ldap_load_uri): get the rootdn out of the passed in uri. svn path=/trunk/; revision=2688
* Use "e-minicard" as the log domain.Federico Mena Quintero2000-04-211-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-04-18 Federico Mena Quintero <federico@helixcode.com> * gui/minicard/Makefile.am (INCLUDES): Use "e-minicard" as the log domain. * gui/component/Makefile.am (INCLUDES): Use "evolution-addressbook" as the log domain. * backend/pas/Makefile.am: Build libpas.a, not a shared library. Do not install any header files. (INCLUDES): Remove spurious include paths. * backend/pas/*.[ch]: Fix includes. * backend/ebook/Makefile.am: Do not install the test programs. Fixed some include weirdness. * backend/ebook/*.[ch]: Fix includes. * contact-editor/Makefile.am (INCLUDES): Set the log domain to "contact-editor". (INCLUDES): Fix. * contact-editor/*.[ch]: Fix includes. * gui/minicard/*.[ch]: Fix includes. svn path=/trunk/; revision=2529
* Added a note field.Christopher James Lahey2000-04-151-1/+1
| | | | | | | | | | | | | | | | | | | 2000-04-14 Christopher James Lahey <clahey@helixcode.com> * addressbook/backend/ebook/e-card.c, addressbook/backend/ebook/e-card.h, addressbook/backend/pas/pas-backend-file.c, addressbook/backend/pas/pas-backend-ldap.c, addressbook/contact-editor/e-contact-editor.c: Added a note field. From shell/ChangeLog: 2000-04-14 Christopher James Lahey <clahey@helixcode.com> * e-shell-view.c: Made the left pane of the shell view not autoresize. svn path=/trunk/; revision=2444
* don't ldap_simple_bind_s if the ldap_open failed, and fix warnings.Chris Toshok2000-04-151-44/+52
| | | | | | | | | | | | | | | * addressbook/backend/pas/pas-backend-ldap.c (pas_backend_ldap_ensure_connected): don't ldap_simple_bind_s if the ldap_open failed, and fix warnings. (pas_backend_ldap_build_all_cards_list): don't do search if the ensure_connected failed, and fix warnings. (pas_backend_ldap_search): same. (poll_ldap): fix warnings. (pas_backend_ldap_process_get_book_view): same. (pas_backend_ldap_get_vcard): same. (pas_backend_ldap_load_uri): same. svn path=/trunk/; revision=2429
* add the title attribute.Chris Toshok2000-04-131-0/+1
| | | | | | * addressbook/backend/pas/pas-backend-ldap.c: add the title attribute. svn path=/trunk/; revision=2419
* make sure to g_source_remove the idle id.Chris Toshok2000-04-131-0/+2
| | | | | | | * addressbook/backend/pas/pas-backend-ldap.c (view_destroy): make sure to g_source_remove the idle id. svn path=/trunk/; revision=2415
* new function that polls ldap for more search responses.Chris Toshok2000-04-131-73/+99
| | | | | | | | | * addressbook/backend/pas/pas-backend-ldap.c (poll_ldap): new function that polls ldap for more search responses. (pas_backend_ldap_search): use the async search interface and register an idle call to poll for the responses. svn path=/trunk/; revision=2414
* rework this function to use a table mapping search field names to vcardChris Toshok2000-04-131-33/+88
| | | | | | | | | | | | | | | | | | | * addressbook/backend/pas/pas-backend-file.c (entry_compare): rework this function to use a table mapping search field names to vcard properties and extra information (such as whether or not the property is a list.) * addressbook/backend/pas/pas-backend-ldap.c (construct_email_list): new function, to build the ECardList for email addresses. (construct_phone_list): new function, to build the ECardList for phone numbers. (pas_backend_ldap_search): use a table mapping ldap attributes to ecard properties, and use the special list construction functions if the property calls for it. general cleanup. added a comment about not calling ber_free if there was a decoding error. svn path=/trunk/; revision=2411
* delay the setting of the ldap variable until we've ensured we wereChris Toshok2000-04-121-11/+31
| | | | | | | | | | | | | | * addressbook/backend/pas/pas-backend-ldap.c (pas_backend_ldap_build_all_cards_list): delay the setting of the ldap variable until we've ensured we were connected. Also, set the search limit to LDAP_MAX_SEARCH_RESPONSES (we'll eventually want a user setting here i assume.) (pas_backend_ldap_search): same here, and also send back lists of CARDS_PER_VIEW_NOTIFICATION length in each pas_book_view_notify_add call. also, don't call ber_free if there was a decoding error, since the ldap library frees it for us. svn path=/trunk/; revision=2406
* add LDAP_LIBS here.Chris Toshok2000-04-121-85/+493
| | | | | | | | | | | | | | | | | | * wombat/Makefile.am (wombat_LDADD): add LDAP_LIBS here. * configure.in: check for -lldap and -llber and if both are present include ldap support in the pas/wombat. * addressbook/backend/pas/Makefile.am (libpas_la_SOURCES): include pas-backend.ldap.c if ENABLE_LDAP. * addressbook/backend/pas/pas-backend-ldap.c: get searching working (converting between the sexp and ldap stuff.) * wombat/wombat.c (setup_pas): register the ldap pas backend if HAVE_LDAP is defined. svn path=/trunk/; revision=2401
* new-file new fileChris Toshok2000-03-311-0/+519
* addressbook/backend/pas/pas-backend-ldap.h: new-file * addressbook/backend/pas/pas-backend-ldap.c: new file both still in the "do not enter" stage. svn path=/trunk/; revision=2263