• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2013 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 COMPONENTS_AUTOFILL_CORE_BROWSER_ANDROID_AUXILIARY_PROFILES_ANDROID_H_
6 #define COMPONENTS_AUTOFILL_CORE_BROWSER_ANDROID_AUXILIARY_PROFILES_ANDROID_H_
7 
8 #include <jni.h>
9 #include <vector>
10 
11 #include "base/memory/scoped_ptr.h"
12 #include "base/strings/string16.h"
13 #include "components/autofill/core/browser/android/auxiliary_profile_loader_android.h"
14 
15 namespace autofill {
16 
17 class AutofillProfile;
18 class AuxiliaryProfileLoaderAndroid;
19 
20  // This class is used to populate an AutofillProfile vector with
21  // a 'default' auxiliary profile. It depends on an
22  // AuxiliaryProfileLoaderAndroid object to provide contact information
23  // that is re-organized into an Autofill profile.
24 class AuxiliaryProfilesAndroid {
25  public:
26   // Takes in an AuxiliaryProfileLoader object which provides contact
27   // information methods.
28   AuxiliaryProfilesAndroid(
29      const autofill::AuxiliaryProfileLoaderAndroid& profile_loader,
30      const std::string& app_locale);
31   ~AuxiliaryProfilesAndroid();
32 
33   // Returns autofill profile constructed from profile_loader_.
34   scoped_ptr<AutofillProfile> LoadContactsProfile();
35 
36  private:
37   // Inserts contact's address data into profile.
38   void LoadAddress(AutofillProfile* profile);
39   // Inserts contact's name data into profile.
40   void LoadName(AutofillProfile* profile);
41   // Inserts contact's email address data into profile.
42   void LoadEmailAddress(AutofillProfile* profile);
43   // Inserts contact's phone number data into profile.
44   void LoadPhoneNumbers(AutofillProfile* profile);
45 
46   const AuxiliaryProfileLoaderAndroid& profile_loader_;
47   std::string app_locale_;
48 
49   DISALLOW_COPY_AND_ASSIGN(AuxiliaryProfilesAndroid);
50 };
51 
52 } // namespace
53 
54 #endif  // COMPONENTS_AUTOFILL_CORE_BROWSER_ANDROID_AUXILIARY_PROFILES_ANDROID_H_
55