1ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch// Copyright 2013 The Chromium Authors. All rights reserved. 2ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch// Use of this source code is governed by a BSD-style license that can be 3ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch// found in the LICENSE file. 4ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 5ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch#ifndef CHROME_BROWSER_UI_ANDROID_AUTOFILL_AUTOFILL_DIALOG_RESULT_H_ 6ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch#define CHROME_BROWSER_UI_ANDROID_AUTOFILL_AUTOFILL_DIALOG_RESULT_H_ 7ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 8ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch#include <jni.h> 9ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch#include <string> 10ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 11ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch#include "base/memory/scoped_ptr.h" 12ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch#include "base/strings/string16.h" 13ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 14ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdochnamespace autofill { 15ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdochnamespace wallet { 16ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdochclass FullWallet; 17ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch} 18ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch} 19ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 20ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdochnamespace autofill { 21ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 22ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch// A result of the non-cancelled Java-side AutofillDialog invocation. 23ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch// Passed to the AutofillDialogControllerAndroid in dialogContinue. 24ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdochclass AutofillDialogResult { 25ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch public: 26ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch // Converts the requested information to wallet::FullWallet. 27ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch // The dialog stores the requested information in the same format 28ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch // regardless if the information was obtained from Autofill or Google Wallet. 29ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch static scoped_ptr<wallet::FullWallet> ConvertFromJava( 30ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch JNIEnv* env, jobject wallet); 31ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 32ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch // Returns the email address to be associated with this request, 33ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch // or an empty string. 34ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch static base::string16 GetWalletEmail(JNIEnv* env, jobject wallet); 35ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 36ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch // Returns the Google Transaction ID to be associated with this request, 37ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch // or an empty string. 38ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch static std::string GetWalletGoogleTransactionId(JNIEnv* env, jobject wallet); 39ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 40ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch // Establishes JNI bindings. 41ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch static bool RegisterAutofillDialogResult(JNIEnv* env); 42ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 43ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch private: 44ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch DISALLOW_COPY_AND_ASSIGN(AutofillDialogResult); 45ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch}; 46ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 47ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch} // namespace autofill 48ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 49ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch#endif // CHROME_BROWSER_UI_ANDROID_AUTOFILL_AUTOFILL_DIALOG_RESULT_H_ 50