Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(393)

Side by Side Diff: chrome/browser/autocomplete/contact_provider_chromeos.h

Issue 190063004: chromeos: Delete old, unused contacts code. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: merge again Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef CHROME_BROWSER_AUTOCOMPLETE_CONTACT_PROVIDER_CHROMEOS_H_
6 #define CHROME_BROWSER_AUTOCOMPLETE_CONTACT_PROVIDER_CHROMEOS_H_
7
8 #include <utility>
9 #include <vector>
10
11 #include "base/basictypes.h"
12 #include "base/compiler_specific.h"
13 #include "base/memory/weak_ptr.h"
14 #include "chrome/browser/autocomplete/autocomplete_match.h"
15 #include "chrome/browser/autocomplete/autocomplete_provider.h"
16 #include "chrome/browser/chromeos/contacts/contact_manager_observer.h"
17
18 class AutocompleteInput;
19
20 namespace contacts {
21 class ContactManagerInterface;
22 }
23
24 // AutocompleteProvider implementation that searches through the contacts
25 // provided by contacts::ContactManager.
26 class ContactProvider : public AutocompleteProvider,
27 public contacts::ContactManagerObserver {
28 public:
29 // Key within AutocompleteMatch::additional_info where the corresponding
30 // contact's ID is stored.
31 static const char kMatchContactIdKey[];
32
33 ContactProvider(
34 AutocompleteProviderListener* listener,
35 Profile* profile,
36 base::WeakPtr<contacts::ContactManagerInterface> contact_manager);
37
38 // AutocompleteProvider overrides:
39 virtual void Start(const AutocompleteInput& input,
40 bool minimal_changes) OVERRIDE;
41
42 // contacts::ContactManagerObserver overrides:
43 virtual void OnContactsUpdated(Profile* profile) OVERRIDE;
44
45 private:
46 struct ContactData;
47 typedef std::vector<ContactData> ContactDataVector;
48
49 virtual ~ContactProvider();
50
51 // Returns true if |a|'s affinity is greater than |b|'s affinity.
52 static bool CompareAffinity(const ContactData& a, const ContactData& b);
53
54 // Updates |contacts_| to match the contacts currently reported by
55 // ContactManager.
56 void RefreshContacts();
57
58 // Adds an AutocompleteMatch object for |contact| to |matches_| if |contact|
59 // is matched by |input|. |input_words| is |input.text()| split on word
60 // boundaries.
61 void AddContactIfMatched(const AutocompleteInput& input,
62 const std::vector<base::string16>& input_words,
63 const ContactData& contact);
64
65 // Returns an AutocompleteMatch object corresponding to the passed-in data.
66 AutocompleteMatch CreateAutocompleteMatch(const AutocompleteInput& input,
67 const ContactData& contact);
68
69 base::WeakPtr<contacts::ContactManagerInterface> contact_manager_;
70
71 // Contacts through which we search, ordered by descending affinity.
72 ContactDataVector contacts_;
73
74 DISALLOW_COPY_AND_ASSIGN(ContactProvider);
75 };
76
77 #endif // CHROME_BROWSER_AUTOCOMPLETE_CONTACT_PROVIDER_CHROMEOS_H_
OLDNEW
« no previous file with comments | « chrome/browser/autocomplete/autocomplete_provider.cc ('k') | chrome/browser/autocomplete/contact_provider_chromeos.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698