Home | History | Annotate | Download | only in autofill
      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 CHROME_BROWSER_UI_ANDROID_AUTOFILL_AUTOFILL_DIALOG_RESULT_H_
      6 #define CHROME_BROWSER_UI_ANDROID_AUTOFILL_AUTOFILL_DIALOG_RESULT_H_
      7 
      8 #include <jni.h>
      9 #include <string>
     10 
     11 #include "base/memory/scoped_ptr.h"
     12 #include "base/strings/string16.h"
     13 
     14 namespace autofill {
     15 namespace wallet {
     16 class FullWallet;
     17 }
     18 }
     19 
     20 namespace autofill {
     21 
     22 // A result of the non-cancelled Java-side AutofillDialog invocation.
     23 // Passed to the AutofillDialogControllerAndroid in dialogContinue.
     24 class AutofillDialogResult {
     25  public:
     26   // Converts the requested information to wallet::FullWallet.
     27   // The dialog stores the requested information in the same format
     28   // regardless if the information was obtained from Autofill or Google Wallet.
     29   static scoped_ptr<wallet::FullWallet> ConvertFromJava(
     30       JNIEnv* env, jobject wallet);
     31 
     32   // Returns the email address to be associated with this request,
     33   // or an empty string.
     34   static base::string16 GetWalletEmail(JNIEnv* env, jobject wallet);
     35 
     36   // Returns the Google Transaction ID to be associated with this request,
     37   // or an empty string.
     38   static std::string GetWalletGoogleTransactionId(JNIEnv* env, jobject wallet);
     39 
     40   // Establishes JNI bindings.
     41   static bool RegisterAutofillDialogResult(JNIEnv* env);
     42 
     43  private:
     44   DISALLOW_COPY_AND_ASSIGN(AutofillDialogResult);
     45 };
     46 
     47 }  // namespace autofill
     48 
     49 #endif  // CHROME_BROWSER_UI_ANDROID_AUTOFILL_AUTOFILL_DIALOG_RESULT_H_
     50