aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/backend
Commit message (Expand)AuthorAgeFilesLines
* Set book_uri when cardification occurs.Christopher James Lahey2001-10-281-12/+25
* That should be a bonobo_object_unref, not a gtk_object_unref.Jon Trowbridge2001-10-281-2/+12
* Fixing the license text.Ettore Perazzoli2001-10-281-4/+3
* Fixing the license text.Ettore Perazzoli2001-10-286-6/+0
* Added paranoid reentrancy guards. (pas_book_queue_request): Changed ourJon Trowbridge2001-10-271-5/+17
* Return on cancellation. (simple_query_sequence_complete_cb): Act if notJon Trowbridge2001-10-271-4/+16
* Update the licensing information to require version 2 of the GPLEttore Perazzoli2001-10-276-12/+12
* Fix command paths when we specify our pixmaps, so we don't get a lot ofJon Trowbridge2001-10-241-1/+5
* We shouldn't leak the info returned by oaf_query.Jon Trowbridge2001-10-211-0/+2
* Filter out empty destinations. (also Bug #13036)Jon Trowbridge2001-10-211-5/+16
* Made this take a const GList.Christopher James Lahey2001-10-192-4/+4
* Lag our cardification on focus-out. This seems to help with the unintendedJon Trowbridge2001-10-191-4/+0
* Did a bit of clean up here. Might fix some crashes, specifically XimianChristopher James Lahey2001-10-171-9/+11
* add upgrade from 0.1 to 0.2, where we make sure id dbt's match vcard id's,Chris Toshok2001-10-171-29/+92
* Check for no extensionIain Holmes2001-10-171-0/+4
* If card->id is NULL, return an empty string. (e_card_set_id): Don't allowJon Trowbridge2001-10-171-3/+3
* unref the book after we pass it off to evolution-addressbook.Chris Toshok2001-10-161-0/+18
* unref op->view. (pas_backend_ldap_process_create_card): ref op->view.Chris Toshok2001-10-161-3/+27
* make sure to unref the book_view here so we don't leak them.Chris Toshok2001-10-161-1/+4
* Properly decide whether a property needs to be marked as QP by searchingChristopher James Lahey2001-10-151-9/+100
* commit the importer originally from Michael M. Morrison, with fixups byChris Toshok2001-10-136-4/+676
* Added a boolean type here.Christopher James Lahey2001-10-132-0/+30
* On second thought, that should be a less-than-or-equal... :)Jon Trowbridge2001-10-121-1/+1
* Added. Heuristic for whether or not we want to revert to an earlierJon Trowbridge2001-10-121-6/+38
* Changed these to use the new ref and unref functions for ECard auxillaryChristopher James Lahey2001-10-125-132/+190
* Check that view->view != NULL. (save_contact_cb): Check that view->view !=Jon Trowbridge2001-10-112-0/+10
* for some reason, matching on protocol is causing problems for me.Chris Toshok2001-10-051-2/+5
* Strip out commas before forming our query. (match_name): UseJon Trowbridge2001-10-043-45/+132
* remove most of the oaf stuff from here. we do it in load_uri, where we'llChris Toshok2001-10-031-35/+162
* if there is a db error, assume deletion (pas_backend_file_changes): writeJP Rosevear2001-10-021-7/+2
* g_strdup (pas_backend_file_changes): ditto, make sure to free all data andJP Rosevear2001-09-291-24/+39
* use priv->iid instead of the hardcoded string here.Chris Toshok2001-09-272-9/+23
* Use camel_address_format, not camel_address_encode.Jon Trowbridge2001-09-271-1/+1
* Properly handle names when the individual elements (given, addition,Jon Trowbridge2001-09-272-30/+70
* set the last_use and use_score fields of the card to known values so theJP Rosevear2001-09-271-2/+12
* add evolutionperson.schema (EXTRA_DIST): add LDAP_SCHEMA to the dist (butChris Toshok2001-09-251-1/+4
* add getters for the additional name fields. (field_data): move FAMILY_NAMEChris Toshok2001-09-232-2/+32
* I'm slowly losing my mind.Jon Trowbridge2001-09-201-1/+0
* Yikes... fixing accidental breakage.Jon Trowbridge2001-09-201-1/+1
* Use the default e-mail address if we have nothing else to go on.Jon Trowbridge2001-09-206-167/+108
* Freeing name[i] instead of namev[i] is a bad idea. (bug #10270)Jon Trowbridge2001-09-201-1/+1
* add caluri field dataJP Rosevear2001-09-194-0/+27
* create a sexp and check if the cards match before adding them to the listJP Rosevear2001-09-191-7/+21
* use g_strfreev. (match_name): s/g_free/g_strfreev. (match_file_as):Larry Ewing2001-09-182-6/+6
* We want to assume that a destination that comes from a card isJon Trowbridge2001-09-181-1/+1
* Do the right thing if the card we are trying to send to has no validJon Trowbridge2001-09-181-53/+56
* fix syntax errors (which are broken, imo...)Chris Toshok2001-09-171-2/+2
* No loose name matches on family names. (#8802)Jon Trowbridge2001-09-151-1/+2
* Make "stop" do nothing but set the stopped flag, as inJon Trowbridge2001-09-157-208/+184
* [Automake 1.5 fixes pointed out by Richard BoultonEttore Perazzoli2001-09-152-5/+5
* use ldap_init. ldap_open is deprecated in openldap 2.x.Chris Toshok2001-09-141-1/+1
* Fix vcard importingIain Holmes2001-09-131-1/+3
* free the values that are being leaked here.Larry Ewing2001-09-131-4/+15
* See e_book_listener_check_queue below.Jon Trowbridge2001-09-094-91/+248
* add -DEVOLUTION_IMAGESDIR.Chris Toshok2001-09-072-16/+31
* Check if the file is a VCard before importingIain Holmes2001-09-051-0/+4
* I18n fixes (mainly making buttons on the right side less Anglocentric :-)Chyla Zbigniew2001-09-031-47/+48
* Use e_card_get_vcard_assume_utf8 instead of e_card_get_vcard here sinceChristopher James Lahey2001-09-0213-299/+423
* Use e_select_names_model_merge to combine the selected names with anyJon Trowbridge2001-08-303-2/+41
* This function can be re-entrant during the signal emission; Added extraJon Trowbridge2001-08-301-4/+14
* Added ref/unref pair to make sure that our listener doesn't get finalizedJon Trowbridge2001-08-281-2/+14
* Removed some debugging spew that I left in by mistake.Jon Trowbridge2001-08-281-2/+0
* Do the right thing if the card we are trying to send to is a contact list.Jon Trowbridge2001-08-281-23/+86
* Put a freeze/thaw around our the set of operations that changes theJon Trowbridge2001-08-251-14/+18
* In the GUI, the toggle is labelled "hide addresses", not "show addresses"Jon Trowbridge2001-08-232-2/+25
* make sure we don't get into a situation where priv->email == NULL.Chris Toshok2001-08-231-12/+20
* Wrap our addressbook table adapter in an ETableWithout, so that we canJon Trowbridge2001-08-211-0/+5
* use DB_NOTFOUND constJP Rosevear2001-08-211-2/+2
* null out card_sexp so that we don't crash when copyingJP Rosevear2001-08-201-1/+2
* unref our card_sexp. (create_card_handler): make sure to set the id of theChris Toshok2001-08-171-34/+120
* use card_sexp. (pas_backend_file_book_view_free): same.Chris Toshok2001-08-174-324/+449
* Added a closing paren.Jeffrey Stedfast2001-08-171-0/+1
* implement using search_for_dn.Chris Toshok2001-08-151-4/+13
* Fix up to match the pas_book_new/get_vcard changes.Dan Winship2001-08-141-37/+22
* Oops, forgot to write this function.Christopher James Lahey2001-08-141-0/+23
* Call e_card_set_book here.Christopher James Lahey2001-08-146-172/+177
* don't g_strdup the stuff we're passing into e_list_append, since it doesChris Toshok2001-08-141-8/+8
* Changed get_card to be asyncronous.Christopher James Lahey2001-08-1410-239/+207
* Hook up some magic to (basically) cardify an entry on focus-out. (What weJon Trowbridge2001-08-106-26/+441
* [ Fixes ximian bugs #5080, #6021, #6704, #6705 ]Chris Toshok2001-08-101-8/+35
* escape *, \, (, and ), as per rfc2254. (func_contains): escape the string.Chris Toshok2001-08-081-4/+47
* use g_strcasecmp since ldap attribute names are not case sensitive.Chris Toshok2001-08-081-1/+1
* new EBookOp destructor (e_book_unqueue_op): use e_book_op_freeRadek Doulik2001-08-071-16/+22
* set op->listener to NULL to catch possible use of freed opRadek Doulik2001-08-052-1/+8
* Made it so that if there's one less match than possible compares areChristopher James Lahey2001-08-051-1/+1
* Changed the criteria of whether the first part of each iteration matchedChristopher James Lahey2001-08-041-29/+25
* Made the list of E_CARD_PHONE types in phone_correspondences more completeChristopher James Lahey2001-08-033-51/+86
* Add camel dependency.Jon Trowbridge2001-08-033-129/+102
* Removed thrash checking code here since thrashing shouldn't happen nowChristopher James Lahey2001-08-012-83/+78
* Added #include <e-util/e-path.h>.Christopher James Lahey2001-07-311-0/+2
* Properly handle the case where our "cleaned" completion is the emptyJon Trowbridge2001-07-311-19/+81
* Removed some debugging chatter.Jon Trowbridge2001-07-261-1/+0
* change the way x-evolution-any-field is converted to an ldap query. itChris Toshok2001-07-261-14/+4
* Properly dup the results of e_destination_get_email.Jon Trowbridge2001-07-252-3/+3
* Added fallbacks for the name in the case of an e-card, to avoid theJon Trowbridge2001-07-251-1/+13
* Don't stop the idle_queue and unref from here, since this might be calledDan Winship2001-07-251-11/+0
* Re-fix for my 07-18 not-quite-fix.Dan Winship2001-07-244-8/+63
* Flush the listener's queue before unreffing it to ensure that it doesn'tDan Winship2001-07-193-5/+8
* prune the list of cards that match our query using the avoid list here,Chris Toshok2001-07-191-17/+20
* [ Fixes bugs #4611 - crash searching in the name field at Bigfoot for "\"Chris Toshok2001-07-181-6/+12
* Hold a reference to our listener while the idle function is active.Jon Trowbridge2001-07-183-10/+16
* Removed old, broken code and annoying g_messages.Jon Trowbridge2001-07-182-50/+9
* Use other folders to import intoIain Holmes2001-07-171-2/+9
* Commented out some unused variables and labels. (e_destination_importv):Christopher James Lahey2001-07-151-0/+7
* add ldap cflagsJP Rosevear2001-07-131-0/+1
* Oops. I introduced my own bug, accidently set `email' to a g_free'dJeffrey Stedfast2001-07-131-1/+1
* Optimized the same way I optimized g_strsplit. If you use a GPtrArrayJeffrey Stedfast2001-07-131-94/+63
* Check the file even if the extension is NULLIain Holmes2001-07-131-6/+3
* Crash fix because strcmp() hates NULL arguments. Bug #3777.Jason Leach2001-07-121-1/+9
* assign OID's to the schema entries, and add schema support for contactChris Toshok2001-07-111-24/+49
* Set bf->priv->file_db before calling do_create.Christopher James Lahey2001-07-101-1/+4
* Check that str isn't the empty string before doing an insert.Jon Trowbridge2001-07-091-11/+41
* Detect the embedded EDestination XML, and convert it to a nice-lookingJon Trowbridge2001-07-079-374/+774
* Fix a memory leak here.Christopher James Lahey2001-07-051-3/+9
* Set info->avoid = NULL. This shouldn't make a difference, but it can'tChristopher James Lahey2001-07-051-0/+1
* added $(BONOBO_CONF_LIBS) to get it to compile.Damon Chaplin2001-07-031-0/+1
* use ECARD_UID_LINK_PREFIX.Chris Toshok2001-07-023-0/+52
* Added related_contacts field.Christopher James Lahey2001-07-022-6/+30
* Fall back to use the name field if all else fails (which can happen withJon Trowbridge2001-07-021-0/+6
* Fix for the "recipient not specified" bug --- we were not correctlyJon Trowbridge2001-07-021-1/+7
* Check args. Somewhere in the code (somewhere in the minicard stuff) thisJon Trowbridge2001-07-011-0/+2
* I was accidentally comparing characters and strings here, and didn't seeJon Trowbridge2001-07-011-13/+21
* Make the standard for considering two cards to be match stricter.Jon Trowbridge2001-06-305-46/+361
* sJose Maria Celorio2001-06-291-0/+1
* add support for X-EVOLUTION-LIST and X-EVOLUTION-LIST-SHOW-ADDRESSES.Chris Toshok2001-06-292-0/+81
* Added category searching to the file backend.Christopher James Lahey2001-06-271-0/+25
* Add a huge steaming pile of code to handle the case of single-addressJon Trowbridge2001-06-251-4/+7
* Update the copyrights, replacing Helix Code with Ximian andEttore Perazzoli2001-06-2333-62/+62
* Renamed. (The old name, edit_contact_info_have_book_cb was a hold-overJon Trowbridge2001-06-221-0/+4
* fix a refcounting memleak.Chris Toshok2001-06-211-3/+6
* fix memory leak.Chris Toshok2001-06-211-1/+1
* Changed attachData to accept a sequence of chars rather than a string.Dave Camp2001-06-211-3/+7
* rename ce_book_found_fields to this, remove the fetching of fields (theChris Toshok2001-06-204-6/+6
* implement this properly, using base and (objectclass=*).Chris Toshok2001-06-151-19/+9
* Made e_card_simple_get_id return const char *.Christopher James Lahey2001-06-114-4/+4
* Made this handle the "id" property in searches.Christopher James Lahey2001-06-112-4/+20
* Rolled back the change 2 ago, dated 06/11/2001 01:51 in CVS, involvingChristopher James Lahey2001-06-113-101/+62
* Made it so that all of these functions queue their ops before callingChristopher James Lahey2001-06-111-16/+58
* Added this function to put a response back into the queue.Christopher James Lahey2001-06-113-62/+101
* Added this function to let you do slightly more complicated searches.Christopher James Lahey2001-06-112-5/+59
* Null terminate the strv here. (e_card_locate_match): ref here instead ofChristopher James Lahey2001-06-092-26/+38
* Copy dates as they come in.Christopher James Lahey2001-06-062-28/+48
* Added. Code for testing if two ECards appear to pertain to the sameJon Trowbridge2001-06-053-0/+513
* Fix linking order for `$(DB3_LDADD)'s so that we avoid pullingEttore Perazzoli2001-06-031-3/+3
* Add a bunch of missing `$(DB3_LDADD)'s.Ettore Perazzoli2001-06-021-8/+9
* Included information about db3.Christopher James Lahey2001-06-012-93/+166
* fix strings such that ones that happening at the beginning or during anChris Toshok2001-05-232-8/+15
* ref the listener for the duration of this function, since emittingDan Winship2001-05-231-0/+6
* Return the serialized EDestinations (rather than just a string w/ e-mailJon Trowbridge2001-05-184-16/+409
* add prototype for addressbook_expand_uri.Chris Toshok2001-05-142-0/+19
* load pixmaps for MessageCopy and MessageForwardAttached. Thanks WayneGediminas Paulauskas2001-05-121-2/+2
* If the name is set and the full_name or file_as haven't been yet, setChristopher James Lahey2001-05-121-0/+18
* Reordered the includes here. (string_to_dbt): The sleepycat libdbChristopher James Lahey2001-05-121-1/+3
* only check schema support if we've connected.Chris Toshok2001-05-121-4/+5
* Importer changesIain Holmes2001-05-093-30/+59
* Removed e-card-pairs.h since we're not using it.Christopher James Lahey2001-05-086-83/+194
* init change_id to NULLJP Rosevear2001-05-041-1/+2
* unref the book if the view is being destroyedJP Rosevear2001-05-031-0/+3
* if the view does not contain a search context, the result is by defaultJP Rosevear2001-05-011-0/+4
* Added.Jon Trowbridge2001-04-172-4/+31
* Added the function e_book_view_listener_stop to tell the book viewChristopher James Lahey2001-04-157-88/+84
* Ref the cursor here when we receive it.Christopher James Lahey2001-04-153-74/+17
* Do this everywhere, also fixup CLEANFILESMichael Meeks2001-04-142-0/+6
* Update the Voice and Fax phone numbers too, finishing off bug #1667.Jason Leach2001-04-131-2/+2
* Update the built in VCard.Christopher James Lahey2001-04-131-2/+2
* put the business address into the pilot record as that is what we put intoJP Rosevear2001-04-133-70/+0
* Added E_CARD_SIMPLE_FIELD_LAST_SIMPLE_STRING.Christopher James Lahey2001-04-111-1/+2
* i18n fixes, added missing includes.Gediminas Paulauskas2001-04-111-0/+1
* make sure to notify new clients to the writable status of an already openChris Toshok2001-04-091-2/+6
* Unref and unregister the factory on exitIain Holmes2001-04-031-0/+2
* Call e_select_names_model_clean after adding address. This should dealJon Trowbridge2001-03-312-0/+10
* Tell new clients that are added whether they're writable.Christopher James Lahey2001-03-301-0/+8
* Added #include <libgnome/gnome-paper.h>Jon Trowbridge2001-03-301-0/+12
* Clean up #includes. Replace <gnome.h>, <bonobo.h> and <gtk/gtk.h> withKjartan Maraas2001-03-3021-48/+76
* Fixed some crashes.Christopher James Lahey2001-03-291-0/+14
* Added. Call me old-fashioned, but I just prefer to have a real API ratherJon Trowbridge2001-03-231-5/+1
* Fix some warnings, Allow the importers to import into any folder. UpdateIain Holmes2001-03-231-0/+1
* Start feeding query matches back to the caller before the entire search isJon Trowbridge2001-03-181-9/+22
* Tag all queued ops. (e_book_cancel_op): Added. Search for a pending opJon Trowbridge2001-03-183-43/+105
* new function. (impl_BookListener_report_writable): new function.Chris Toshok2001-03-189-16/+129
* Added addressbook querying and "cardification" functions, which are turnedJon Trowbridge2001-03-1610-194/+754
* Removed .oafinfo files -- they are obsolete. Moved pixmaps fromGediminas Paulauskas2001-03-151-29/+0
* Moved where we call pas_book_respond_get_book_view.Christopher James Lahey2001-03-141-6/+6
* add E_STRING_PROP for categories.Chris Toshok2001-03-134-1/+10
* All my changes to get the folder creation working, and the magic NetscapeIain Holmes2001-03-132-4/+4
* Added. A simplified, cancellable query mechanism that lets you avoidJon Trowbridge2001-03-113-0/+171
* Switched to use e_contact_quick_add_free_form. Removed debugging code,Jon Trowbridge2001-03-091-12/+15
* Added. Just encapsulates openingJon Trowbridge2001-03-072-2/+33
* Fix a reference counting bug.Jon Trowbridge2001-03-062-3/+12
* Cleaned up the formatting in this file a bit.Christopher James Lahey2001-03-041-42/+18
* doh, track renaming of objectclass from evolvePerson to evolutionPerson.Chris Toshok2001-03-031-14/+14
* rename evolveperson.schema to this, and add remaining attributes.Chris Toshok2001-03-032-28/+87
* add objectclasses for "person", "organizationalPerson", and "top" as well,Chris Toshok2001-03-021-38/+79
* add new entries for phone enums, and fill in the ecard_field with (bogusChris Toshok2001-03-025-33/+113
* implement properly, we support everything.Chris Toshok2001-03-021-1/+11
* Change for new EDestination/ESelectNamesModel API.Jon Trowbridge2001-03-025-384/+361
* Made this pay attention to the return value of e_sexp_parse.Christopher James Lahey2001-02-221-5/+10
* new function. (impl_GNOME_Evolution_Addressbook_Book_getSupportedFields):Chris Toshok2001-02-2112-81/+185
* Moved the register_factory() code to here, since it was the only thingFederico Mena Quintero2001-02-211-14/+29
* new function.Chris Toshok2001-02-203-1/+66
* Removed entry to nonexistant program.Jon Trowbridge2001-02-201-12/+1
* When creating the entry, open up an ebook (corresponding to the localJon Trowbridge2001-02-203-1/+398
* add sequence<string> typedef, and add getSupportedFields method.Chris Toshok2001-02-186-0/+67
* Ignore generated .oaf filesDan Winship2001-02-151-0/+1
* Undefine E_STRING_PROP and E_LIST_PROP here.Christopher James Lahey2001-02-151-0/+2
* Translations.Kjartan Maraas2001-02-131-2/+2
* Marked strings for translation in this newly created file. Hook up theKjartan Maraas2001-02-132-36/+39
* flesh out this check. #ifdef the entire thing OPENLDAP2, as it only worksChris Toshok2001-02-081-2/+46
* only set the DEBUG_LEVEL if we're OPENLDAP2.Chris Toshok2001-02-081-0/+2
* return TRUE if equal, FALSE otherwise. (business_compare): same.Chris Toshok2001-02-071-40/+82
* doh, didn't mean to commit this.Chris Toshok2001-02-071-3/+5
* new file. this will eventually form the suggested additions to an existingChris Toshok2001-02-071-0/+109
* don't need the = NULL's since we g_new0. (check_for_evolve_person): newChris Toshok2001-02-071-58/+194
* err, allocate 2 char*s when i assign 2 char*s.Chris Toshok2001-02-061-1/+1
* switch to ldap_modify_ext_s if OPENLDAP2, as ldap_modify_s is deprecated.Chris Toshok2001-02-061-18/+132
* Make the Note field be quoted printable.Christopher James Lahey2001-02-051-2/+6
* add comment about the else block here. (prop_info): add home_address,Chris Toshok2001-01-261-10/+12
* Made this only add the initial VCard if it finds a file "create-initial"Christopher James Lahey2001-01-261-3/+15
* esexp api change fixes.Not Zed2001-01-252-11/+11
* make sure to add the lengths here (include the \0? anyone?).Chris Toshok2001-01-251-2/+5
* always free the delivery elements and correct embarrassingly stupid memoryJP Rosevear2001-01-191-0/+3
* Made it return a gboolean; it was completely ignoring the return valueFederico Mena Quintero2001-01-192-5/+5
* add evolution-gnomecard-importer.Larry Ewing2001-01-181-0/+1
* add the doc/devel/importer/Makefile as a target.Larry Ewing2001-01-181-2/+4
* Forgot...Iain Holmes2001-01-181-1/+2
* Support the new interfacesIain Holmes2001-01-183-26/+16
* s/Helix Code/Ximian/ for the initial contact card.Jason Leach2001-01-171-5/+5
* Fix make distIain Holmes2001-01-121-0/+3
* Try againIain Holmes2001-01-121-1/+1
* get a book view from somewhere so we can give status messages - choose theChris Toshok2001-01-121-23/+89
* GnomeCard importerIain Holmes2001-01-124-1/+293
* register our status_message signal. (status_message): new function, emitChris Toshok2001-01-101-74/+85
* if we're setting the full name regenerate ecard->name.Chris Toshok2001-01-101-0/+3
* new function. (impl_BookListener_respond_authentication_result): newChris Toshok2001-01-059-9/+172
* Need to e_sexp_unref the the sexp, not gtk_object_unref it.JP Rosevear2001-01-051-1/+1
* g_strdup things we g_free.Michael Meeks2001-01-031-1/+1
* Ref the cards that get put in the change list (next_changed_item): utilJP Rosevear2000-12-221-14/+4
* always use LDAP_NAME_ERROR (in the openldap1 case it's #defined toChris Toshok2000-12-191-19/+47
* Test for the existance of LDAP_NAME_ERROR and if it exists as a macro, useChristopher James Lahey2000-12-141-0/+4
* When setting the "name" argument, copy the incoming name. This fixes aChristopher James Lahey2000-12-101-1/+1
* Fixed some formatting.Christopher James Lahey2000-12-091-4/+4
* Create an empty vcard with the appropriate id for deleted cardsJP Rosevear2000-12-051-3/+6
* return NULL if we can't create a view.Michael Meeks2000-12-053-3/+3
* Remove "complete" fieldJP Rosevear2000-11-281-15/+17
* Set view.change_context to NULL in pas_backend_file_process_get_book_view.Christopher James Lahey2000-11-232-4/+7
* Fixed typo preventing compilation - NAME_ERROR should be LDAP_NAME_ERROR (I t...Ross Golder2000-11-231-1/+1
* Initialize destination struct with '0's.JP Rosevear2000-11-161-1/+1
* Changed the mime type from "text/vcard" to "text/x-vcard".Christopher James Lahey2000-11-131-1/+1
* Add idl-generated files.Matt Bissiri2000-11-123-17/+21
* Link in composer bonobo code.Christopher James Lahey2000-11-123-32/+179