diff options
Diffstat (limited to 'Swift/Controllers/ContactSuggester.h')
-rw-r--r-- | Swift/Controllers/ContactSuggester.h | 49 |
1 files changed, 28 insertions, 21 deletions
diff --git a/Swift/Controllers/ContactSuggester.h b/Swift/Controllers/ContactSuggester.h index 137e5d3..f91879d 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 Isode Limited. + * All rights reserved. + * See the COPYING file for more information. + */ + #pragma once #include <string> @@ -11,26 +17,27 @@ #include <Swift/Controllers/Contact.h> +class ContactSuggesterTest; + namespace Swift { - class ContactProvider; - - class ContactSuggester { - public: - ContactSuggester(); - ~ContactSuggester(); - - void addContactProvider(ContactProvider* provider); - - std::vector<Contact> getSuggestions(const std::string& search) const; - private: - static bool matchContact(const std::string& search, const Contact& 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); - - private: - std::vector<ContactProvider*> contactProviders_; - }; + class ContactProvider; + + class ContactSuggester { + public: + ContactSuggester(); + ~ContactSuggester(); + + void addContactProvider(ContactProvider* provider); + + std::vector<Contact::ref> getSuggestions(const std::string& search, bool withMUCNicks) const; + public: + 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); + + private: + std::vector<ContactProvider*> contactProviders_; + }; } |