aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/backend/ebook/e-card-compare.h
diff options
context:
space:
mode:
Diffstat (limited to 'addressbook/backend/ebook/e-card-compare.h')
-rw-r--r--addressbook/backend/ebook/e-card-compare.h15
1 files changed, 14 insertions, 1 deletions
diff --git a/addressbook/backend/ebook/e-card-compare.h b/addressbook/backend/ebook/e-card-compare.h
index 56d7b6e1f5..355dc814a9 100644
--- a/addressbook/backend/ebook/e-card-compare.h
+++ b/addressbook/backend/ebook/e-card-compare.h
@@ -39,9 +39,22 @@ typedef enum {
E_CARD_MATCH_EXACT = 4
} ECardMatchType;
+typedef enum {
+ E_CARD_MATCH_PART_NOT_APPLICABLE = -1,
+ E_CARD_MATCH_PART_NONE = 0,
+ E_CARD_MATCH_PART_GIVEN_NAME = 1<<0,
+ E_CARD_MATCH_PART_ADDITIONAL_NAME = 1<<2,
+ E_CARD_MATCH_PART_FAMILY_NAME = 1<<3
+} ECardMatchPart;
+
typedef void (*ECardMatchQueryCallback) (ECard *card, ECard *match, ECardMatchType type, gpointer closure);
-ECardMatchType e_card_compare_name_to_string (ECard *card, const gchar *str);
+ECardMatchType e_card_compare_name_to_string (ECard *card, const gchar *str);
+
+ECardMatchType e_card_compare_name_to_string_full (ECard *card, const gchar *str,
+ gboolean allow_partial_matches,
+ gint *matched_parts, ECardMatchPart *first_matched_part,
+ gint *matched_character_count);
ECardMatchType e_card_compare_name (ECard *card1, ECard *card2);
ECardMatchType e_card_compare_nickname (ECard *card1, ECard *card2);