aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/backend/pas/pas-backend-ldap.c
Commit message (Collapse)AuthorAgeFilesLines
* A very, long, very tedious IDL API rename and re-scoping;Michael Meeks2000-11-111-18/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this script + some grunt approximates the work: s/Evolution_MessageList/GNOME_Evolution_MessageList/g; s/GNOME_Evolution_MessageList_select_message/GNOME_Evolution_MessageList_selectMessage/g; s/GNOME_Evolution_MessageList_open_message/GNOME_Evolution_MessageList_openMessage/g; s/Evolution_Folder([ \t])/GNOME_Evolution_Folder$1/g; s/Evolution_FolderTypeList/GNOME_Evolution_FolderTypeList/g; s/Evolution_FolderBrowser/GNOME_Evolution_FolderBrowser/g; s/GNOME_Evolution_FolderBrowser_get_message_list/GNOME_Evolution_FolderBrowser_getMessageList/g; s/Evolution_LocalStorage/GNOME_Evolution_LocalStorage/g; s/GNOME_Evolution_LocalStorage_update_folder/GNOME_Evolution_LocalStorage_updateFolder/g; s/Evolution_ShellView/GNOME_Evolution_ShellView/g; s/GNOME_Evolution_ShellView_set_message/GNOME_Evolution_ShellView_setMessage/g; s/GNOME_Evolution_ShellView_unset_message/GNOME_Evolution_ShellView_unsetMessage/g; s/GNOME_Evolution_ShellView_change_current_view/GNOME_Evolution_ShellView_changeCurrentView/g; s/Evolution_StorageSetViewListener/GNOME_Evolution_StorageSetViewListener/g; s/GNOME_Evolution_StorageSetViewListener_folder_selected/GNOME_Evolution_StorageSetViewListener_notifyFolderSelected/g; s/GNOME_Evolution_StorageSetViewListener_storage_selected/GNOME_Evolution_StorageSetViewListener_notifyStorageSelected/g; s/Evolution_StorageSetView/GNOME_Evolution_StorageSetView/g; s/GNOME_Evolution_StorageSetView_add_listener/GNOME_Evolution_StorageSetView_addListener/g; s/GNOME_Evolution_StorageSetView_remove_listener/GNOME_Evolution_StorageSetView_removeListener/g; s/Evolution_Shell/GNOME_Evolution_Shell/g; s/GNOME_Evolution_Shell_get_component_for_type/GNOME_Evolution_Shell_getComponentByType/g; s/GNOME_Evolution_Shell_user_select_folder/GNOME_Evolution_Shell_selectUserFolder/g; s/GNOME_Evolution_Shell_get_local_storage/GNOME_Evolution_Shell_getLocalStorage/g; s/GNOME_Evolution_Shell_create_storage_set_view/GNOME_Evolution_Shell_createStorageSetView/g; s/Evolution_FolderSelectionListener/GNOME_Evolution_FolderSelectionListener/g; s/GNOME_Evolution_FolderSelectionListener_selected/GNOME_Evolution_FolderSelectionListener_notifySelected/g; s/GNOME_Evolution_FolderSelectionListener_cancel/GNOME_Evolution_FolderSelectionListener_notifyCanceled/g; s/Evolution_Storage/GNOME_Evolution_Storage/g; s/GNOME_Evolution_Storage_add_listener/GNOME_Evolution_Storage_addListener/g; s/GNOME_Evolution_Storage_remove_listener/GNOME_Evolution_Storage_removeListener/g; s/GNOME_Evolution_StorageListener_destroyed/GNOME_Evolution_StorageListener_notifyDestroyed/g; s/GNOME_Evolution_StorageListener_new_folder/GNOME_Evolution_StorageListener_notifyFolderCreated/g; s/GNOME_Evolution_StorageListener_update_folder/GNOME_Evolution_StorageListener_notifyFolderUpdated/g; s/GNOME_Evolution_StorageListener_removed_folder/GNOME_Evolution_StorageListener_notifyFolderRemoved/g; s/GNOME_Evolution_StorageRegistry_register_storage/GNOME_Evolution_StorageRegistry_addStorage/g; s/GNOME_Evolution_StorageRegistry_unregister_storage/GNOME_Evolution_StorageRegistry_removeStorageByName/g; s/Evolution_ShellComponent/GNOME_Evolution_ShellComponent/g; s/GNOME_Evolution_ShellComponent_set_owner/GNOME_Evolution_ShellComponent_setOwner/g; s/GNOME_Evolution_ShellComponent_unset_owner/GNOME_Evolution_ShellComponent_unsetOwner/g; s/GNOME_Evolution_ShellComponent_create_view/GNOME_Evolution_ShellComponent_createView/g; s/GNOME_Evolution_ShellComponent_async_create_folder/GNOME_Evolution_ShellComponent_addFolderAsync/g; s/GNOME_Evolution_ShellComponent_async_remove_folder/GNOME_Evolution_ShellComponent_removeFolderAsync/g; s/GNOME_Evolution_ShellComponent_populate_folder_context_menu/GNOME_Evolution_ShellComponent_populateFolderContextMenu/g; s/GNOME_Evolution_ShellComponentListener_report_result/GNOME_Evolution_ShellComponentListener_notifyResult/g; s/Evolution_Session/GNOME_Evolution_Session/g; s/GNOME_Evolution_Session_save_configuration/GNOME_Evolution_Session_saveConfiguration/g; s/GNOME_Evolution_Session_load_configuration/GNOME_Evolution_Session_loadConfiguration/g; s/Evolution_Calendar_Cal/GNOME_Evolution_Calendar_Cal/g; s/GNOME_Evolution_Calendar_Cal_get_n_objects/GNOME_Evolution_Calendar_Cal_countObjects/g; s/GNOME_Evolution_Calendar_Cal_get_object/GNOME_Evolution_Calendar_Cal_getObject/g; s/GNOME_Evolution_Calendar_Cal_get_uids/GNOME_Evolution_Calendar_Cal_getUIds/g; s/GNOME_Evolution_Calendar_Cal_get_changed_uids/GNOME_Evolution_Calendar_Cal_getChangedUIds/g; s/GNOME_Evolution_Calendar_Cal_get_objects_in_range/GNOME_Evolution_Calendar_Cal_getObjectsInRange/g; s/GNOME_Evolution_Calendar_Cal_get_alarms_in_range/GNOME_Evolution_Calendar_Cal_getAlarmsInRange/g; s/GNOME_Evolution_Calendar_Cal_get_alarms_for_object/GNOME_Evolution_Calendar_Cal_getAlarmsForObject/g; s/GNOME_Evolution_Calendar_Cal_update_object/GNOME_Evolution_Calendar_Cal_updateObject/g; s/GNOME_Evolution_Calendar_Cal_remove_object/GNOME_Evolution_Calendar_Cal_removeObject/g; s/Evolution_Calendar_Listener/GNOME_Evolution_Calendar_Listener/g; s/GNOME_Evolution_Calendar_Listener_cal_loaded/GNOME_Evolution_Calendar_Listener_notifyCalLoaded/g; s/GNOME_Evolution_Calendar_Listener_obj_updated/GNOME_Evolution_Calendar_Listener_notifyObjUpdated/g; s/GNOME_Evolution_Calendar_Listener_obj_removed/GNOME_Evolution_Calendar_Listener_notifyObjRemoved/g; s/Evolution_Calendar_CalFactory/GNOME_Evolution_Calendar_CalFactory/g; s/GNOME_Evolution_Calendar_CalFactory_load/GNOME_Evolution_Calendar_CalFactory_load/g; s/GNOME_Evolution_Calendar_CalFactory_create/GNOME_Evolution_Calendar_CalFactory_create/g; s/Evolution_Composer/GNOME_Evolution_Composer/g; s/GNOME_Evolution_Composer_set_headers/GNOME_Evolution_Composer_setHeaders/g; s/GNOME_Evolution_Composer_set_body_text/GNOME_Evolution_Composer_setBodyText/g; s/GNOME_Evolution_Composer_attach_MIME/GNOME_Evolution_Composer_attachMIME/g; s/GNOME_Evolution_Composer_attach_data/GNOME_Evolution_Composer_attachData/g; s/GNOME_Evolution_Composer_show/GNOME_Evolution_Composer_show/g; s/Evolution_Addressbook_SelectNames/GNOME_Evolution_Addressbook_SelectNames/g; s/GNOME_Evolution_Addressbook_SelectNames_add_section/GNOME_Evolution_Addressbook_SelectNames_addSection/g; s/GNOME_Evolution_Addressbook_SelectNames_get_entry_for_section/GNOME_Evolution_Addressbook_SelectNames_getEntryBySection/g; s/GNOME_Evolution_Addressbook_SelectNames_activate_dialog/GNOME_Evolution_Addressbook_SelectNames_activateDialog/g; s/Evolution_CardCursor/GNOME_Evolution_Addressbook_CardCursor/g; s/GNOME_Evolution_Addressbook_CardCursor_get_length/GNOME_Evolution_Addressbook_CardCursor_getLength/g; s/GNOME_Evolution_Addressbook_CardCursor_get_nth/GNOME_Evolution_Addressbook_CardCursor_getNth/g; s/Evolution_BookViewListener/GNOME_Evolution_Addressbook_BookViewListener/g; s/GNOME_Evolution_Addressbook_BookViewListener_signal_card_added/GNOME_Evolution_Addressbook_BookViewListener_notifyCardAdded/g; s/GNOME_Evolution_Addressbook_BookViewListener_signal_card_removed/GNOME_Evolution_Addressbook_BookViewListener_notifyCardRemoved/g; s/GNOME_Evolution_Addressbook_BookViewListener_signal_card_changed/GNOME_Evolution_Addressbook_BookViewListener_notifyCardChanged/g; s/GNOME_Evolution_Addressbook_BookViewListener_signal_sequence_complete/GNOME_Evolution_Addressbook_BookViewListener_notifySequenceComplete/g; s/GNOME_Evolution_Addressbook_BookViewListener_signal_status_message/GNOME_Evolution_Addressbook_BookViewListener_notifyStatusMessage/g; s/Evolution_BookView/GNOME_Evolution_Addressbook_BookView/g; s/Evolution_Book/GNOME_Evolution_Addressbook_Book/g; s/GNOME_Evolution_Addressbook_Book_get_vcard/GNOME_Evolution_Addressbook_Book_getVCard/g; s/GNOME_Evolution_Addressbook_Book_can_write/GNOME_Evolution_Addressbook_Book_isWriteable/g; s/GNOME_Evolution_Addressbook_Book_can_write_card/GNOME_Evolution_Addressbook_Book_isCardWriteable/g; s/GNOME_Evolution_Addressbook_Book_create_card/GNOME_Evolution_Addressbook_Book_addCard/g; s/GNOME_Evolution_Addressbook_Book_remove_card/GNOME_Evolution_Addressbook_Book_removeCard/g; s/GNOME_Evolution_Addressbook_Book_modify_card/GNOME_Evolution_Addressbook_Book_modifyCard/g; s/GNOME_Evolution_Addressbook_Book_get_cursor/GNOME_Evolution_Addressbook_Book_getCursor/g; s/GNOME_Evolution_Addressbook_Book_get_book_view/GNOME_Evolution_Addressbook_Book_getBookView/g; s/GNOME_Evolution_Addressbook_Book_get_changes/GNOME_Evolution_Addressbook_Book_getChanges/g; s/GNOME_Evolution_Addressbook_Book_check_connection/GNOME_Evolution_Addressbook_Book_checkConnection/g; s/GNOME_Evolution_Addressbook_Book_get_static_capabilities/GNOME_Evolution_Addressbook_Book_getStaticCapabilities/g; s/GNOME_Evolution_Addressbook_Book_get_name/GNOME_Evolution_Addressbook_Book_getName/g; s/Evolution_BookListener/GNOME_Evolution_Addressbook_BookListener/g; s/GNOME_Evolution_Addressbook_BookListener_respond_create_card/GNOME_Evolution_Addressbook_BookListener_notifyCardCreated/g; s/GNOME_Evolution_Addressbook_BookListener_respond_remove_card/GNOME_Evolution_Addressbook_BookListener_notifyCardRemoved/g; s/GNOME_Evolution_Addressbook_BookListener_respond_modify_card/GNOME_Evolution_Addressbook_BookListener_notifyCardModified/g; s/GNOME_Evolution_Addressbook_BookListener_report_open_book_progress/GNOME_Evolution_Addressbook_BookListener_notifyOpenBookProgress/g; s/GNOME_Evolution_Addressbook_BookListener_respond_open_book/GNOME_Evolution_Addressbook_BookListener_notifyBookOpened/g; s/GNOME_Evolution_Addressbook_BookListener_respond_get_cursor/GNOME_Evolution_Addressbook_BookListener_notifyCursorRequested/g; s/GNOME_Evolution_Addressbook_BookListener_respond_get_view/GNOME_Evolution_Addressbook_BookListener_notifyViewRequested/g; s/GNOME_Evolution_Addressbook_BookListener_respond_get_changes/GNOME_Evolution_Addressbook_BookListener_notifyChangesRequested/g; s/GNOME_Evolution_Addressbook_BookListener_report_connection_status/GNOME_Evolution_Addressbook_BookListener_notifyConnectionStatus/g; s/Evolution_BookFactory/GNOME_Evolution_Addressbook_BookFactory/g; s/GNOME_Evolution_Addressbook_BookFactory_open_book/GNOME_Evolution_Addressbook_BookFactory_openBook/g; s/Evolution_SummaryComponent/GNOME_Evolution_Summary_Component/g; s/GNOME_Evolution_Summary_SummaryComponent_set_owner/GNOME_Evolution_Summary_Component_setOwner/g; s/GNOME_Evolution_Summary_SummaryComponent_unset_owner/GNOME_Evolution_Summary_Component_unsetOwner/g; s/GNOME_Evolution_Summary_SummaryComponent_create_view/GNOME_Evolution_Summary_Component_createView/g; s/GNOME_Evolution_Summary_SummaryComponent_destroy_view/GNOME_Evolution_Summary_Component_destroyView/g; s/Evolution_Summary([ \t])/GNOME_Evolution_Summary_ViewFrame$1/g; s/Evolution_Summary_set_title/GNOME_Evolution_Summary_ViewFrame_setTitle/g; s/Evolution_Summary_set_icon/GNOME_Evolution_Summary_ViewFrame_setIcon/g; s/Evolution_Summary_update_component/GNOME_Evolution_Summary_ViewFrame_updateComponent/g; s/GNOME_GNOME/GNOME/g; s/GNOME_GNOME/GNOME/g; s/GNOME_GNOME/GNOME/g; svn path=/trunk/; revision=6535
* Require gal 0.2.99.1.Christopher James Lahey2000-11-101-0/+4
| | | | | | | | | | | | | | | | | | | | 2000-11-09 Christopher James Lahey <clahey@helixcode.com> * configure.in: Require gal 0.2.99.1. From addressbook/ChangeLog: 2000-11-09 Christopher James Lahey <clahey@helixcode.com> * backend/pas/pas-backend-ldap.c: Fixed a warning. * gui/component/addressbook.c: Put in gal view menus for testing purposes. * printing/e-contact-print-envelope.c: Fixed up envelope printing a bit. Added code for printing return addresses. svn path=/trunk/; revision=6529
* i2000-10-25 Chris Toshok <toshok@helixcode.com>Chris Toshok2000-10-261-16/+49
| | | | | | | | | | | | | | | * backend/pas/pas-backend-ldap.c (ldap_op_process_current): only call the handler if the if we're connected, and if we fail to connect finish the op and post a message. (pas_backend_ldap_connect): add debug spew if DEBUG is defined. (modify_card_handler): LDAP_RES_SEARCH_ENTRY => LDAP_SUCCESS. (modify_card_handler): only perform the ldap_modify_s if we have a list of modifications. (get_cursor_handler): use ldap_error_to_response here. (pas_backend_ldap_load_uri): use LDAP_PORT instead of the constant 389. svn path=/trunk/; revision=6198
* lots of changes. flesh out the remove/modify/create functions. add anotherChris Toshok2000-09-231-111/+454
| | | | | | | | | | | | | | | | | | | | | | 2000-09-22 Chris Toshok <toshok@helixcode.com> * backend/pas/pas-backend-ldap.c: lots of changes. flesh out the remove/modify/create functions. add another flag for the property table, PROP_DN, which makes it easy for us to determine when we need to create a new DN for a record when we're modifying. also add a ber_func to the table for PROP_TYPE_LIST fields, which fills in the list of bvalues that we send to the ldap server. The add/modify/delete stuff hasn't been tested yet, and it hopelessly complex (yay ldap). (ldap_search_handler): act synchronous when ldap_search responds with -1. (view_destroy): use pas_book_view_notify_status_message. (ldap_op_process_current): same (ldap_op_process): same (poll_ldap): same (ldap_search_handler): same svn path=/trunk/; revision=5555
* Added evolution-addressbook-ldap.xml.Christopher James Lahey2000-09-221-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-09-22 Christopher James Lahey <clahey@helixcode.com> * ui/Makefile.am: Added evolution-addressbook-ldap.xml. * ui/evolution-addressbook-ldap.xml: New file. (A Variation on evolution-addressbook.xml) * ui/evolution-addressbook.xml: Added View All and Stop buttons. From addressbook/ChangeLog: 2000-09-22 Christopher James Lahey <clahey@helixcode.com> * backend/ebook/e-book.c, backend/ebook/e-book.h, backend/idl/addressbook.idl, backend/pas/pas-backend-file.c, backend/pas/pas-backend-ldap.c, backend/pas-backend.c, backend/pas/pas-backend.h, backend/pas/pas-book.c, backend/pas/pas-book.h: Added a function to query static capabilities (capabilities that can be reported immediately) and implemented them in the 2 servers. * gui/component/addressbook.c: Added a View All button and a Stop button. Sorted out the new directory server stuff a bit. * gui/widgets/e-addressbook-model.c, gui/widgets/e-addressbook-model.h: Cleaned up a bit. Added a stop function. Check for capabilities before deciding whether to load all cards when initially viewed. * gui/widgets/e-addressbook-view.c, gui/widgets/e-addressbook-view.h: Added stop and view all functions. * gui/widgets/e-minicard-view-widget.c, gui/widgets/e-minicard-view-widget.h, gui/widgets/e-minicard-view.c, gui/widgets/e-minicard-view.h: Added a stop function. Check for capabilities before deciding whether to load all cards when initially viewed. svn path=/trunk/; revision=5547
* split all the ldap operations into 2 halves, a handler, and destructor,Chris Toshok2000-09-161-148/+460
| | | | | | | | | | | | | | | 2000-09-15 Chris Toshok <toshok@helixcode.com> * backend/pas/pas-backend-ldap.c: split all the ldap operations into 2 halves, a handler, and destructor, and create a structure containing two function pointers and any data they need. this allows us queue up pending operations (since the LDAP*'s are no longer view specific. there's one per backend.) also, add support for restarting async operations if the SERVER DOWN error isn't communicated until sometime after the handler is called (as is the case with the async search stuff.) svn path=/trunk/; revision=5468
* 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