diff options
Diffstat (limited to 'Swift/Controllers/ContactSuggester.h')
-rw-r--r-- | Swift/Controllers/ContactSuggester.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/Swift/Controllers/ContactSuggester.h b/Swift/Controllers/ContactSuggester.h index 137e5d3..67b912c 100644 --- a/Swift/Controllers/ContactSuggester.h +++ b/Swift/Controllers/ContactSuggester.h @@ -4,6 +4,12 @@ * See Documentation/Licenses/BSD-simplified.txt for more information. */ +/* + * Copyright (c) 2014 Kevin Smith and Remko Tronçon + * Licensed under the GNU General Public License v3. + * See Documentation/Licenses/GPLv3.txt for more information. + */ + #pragma once #include <string> @@ -21,14 +27,16 @@ namespace Swift { void addContactProvider(ContactProvider* provider); - std::vector<Contact> getSuggestions(const std::string& search) const; + std::vector<Contact::ref> getSuggestions(const std::string& search) const; private: - static bool matchContact(const std::string& search, const Contact& c); + static bool matchContact(const std::string& search, const Contact::ref& c); /** * Performs fuzzy matching on the string text. Matches when each character of match string is present in sequence in text string. */ static bool fuzzyMatch(std::string text, std::string match); - static bool chatSortPredicate(const Contact& a, const Contact& b); + static bool contactLexicographicalSortPredicate(const Contact::ref& a, const Contact::ref& b); + static bool contactEqualityPredicate(const Contact::ref& a, const Contact::ref& b); + static bool contactSmartSortPredicate(const Contact::ref& a, const Contact::ref& b); private: std::vector<ContactProvider*> contactProviders_; |