From eacf872e7848a120259e7bd3316cdf94319ef696 Mon Sep 17 00:00:00 2001 From: Jon Trowbridge Date: Mon, 4 Jun 2001 22:20:27 +0000 Subject: Added. Code for testing if two ECards appear to pertain to the same 2001-06-04 Jon Trowbridge * backend/ebook/e-card-compare.c: Added. Code for testing if two ECards appear to pertain to the same contact (using loose matching rules, as opposed to requiring exact equality) and to query the addressbook for the "best match" to ECard. svn path=/trunk/; revision=10114 --- addressbook/backend/ebook/e-card-compare.h | 56 ++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 addressbook/backend/ebook/e-card-compare.h (limited to 'addressbook/backend/ebook/e-card-compare.h') diff --git a/addressbook/backend/ebook/e-card-compare.h b/addressbook/backend/ebook/e-card-compare.h new file mode 100644 index 0000000000..7c55dabeab --- /dev/null +++ b/addressbook/backend/ebook/e-card-compare.h @@ -0,0 +1,56 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ + +/* + * e-card-compare.h + * + * Copyright (C) 2001 Ximian, Inc. + * + * Developed by Jon Trowbridge + */ + +/* + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + * USA. + */ + +#ifndef __E_CARD_COMPARE_H__ +#define __E_CARD_COMPARE_H__ + +#include "e-card.h" + +typedef enum { + E_CARD_MATCH_NOT_APPLICABLE = 0, + E_CARD_MATCH_NONE = 1, + E_CARD_MATCH_VAGUE = 2, + E_CARD_MATCH_PARTIAL = 3, + E_CARD_MATCH_EXACT = 4 +} ECardMatchType; + +typedef void (*ECardMatchQueryCallback) (ECard *card, ECard *match, ECardMatchType type, gpointer closure); + +ECardMatchType e_card_compare_name (ECard *card1, ECard *card2); +ECardMatchType e_card_compare_nickname (ECard *card1, ECard *card2); +ECardMatchType e_card_compare_email (ECard *card1, ECard *card2); +ECardMatchType e_card_compare_address (ECard *card1, ECard *card2); +ECardMatchType e_card_compare_telephone (ECard *card1, ECard *card2); + +ECardMatchType e_card_compare (ECard *card1, ECard *card2); + +void e_card_locate_match (ECard *card, ECardMatchQueryCallback cb, gpointer closure); + + + +#endif /* __E_CARD_COMPARE_H__ */ + -- cgit v1.2.3